核心用法
本技能为 Go 语言项目提供全面的安全工程指导,支持三种工作模式:
- Review 模式:针对 PR 进行安全审查,从变更文件追溯调用链和数据流,识别 diff 之外但可能被触发的漏洞
- Audit 模式:全代码库安全扫描,启动最多 5 个并行子代理分别覆盖注入模式、密码学/密钥、Web 安全/头部、认证授权、并发安全与依赖漏洞,使用 DREAD 模型评分并分级报告
- Coding 模式:编写新代码或修复漏洞时遵循顺序指导,可后台启动代理并行检测新代码中的常见漏洞模式
核心覆盖领域包括:SQL/命令/XSS 注入防护、密码学算法选择与 TLS 配置、文件系统安全(路径遍历、zip 炸弹)、网络安全(SSRF、开放重定向、HTTP 头)、Cookie 安全(Secure/HttpOnly/SameSite)、密钥管理、内存安全(整数溢出、unsafe 使用)、日志安全(PII 脱敏)等。
显著优点
1. 深度防御体系:遵循 defense in depth 原则,在多层建立防护,结合 Go 标准库的安全设计(如 database/sql 参数化查询、html/template 自动转义)
2. 系统化审计方法论:强制要求追溯完整数据流(Trace → Check → Examine → Read),避免孤立评估代码片段,结合 STRIDE 威胁建模与 DREAD 评分量化风险
3. 工具链集成:原生集成 govulncheck、gosec、race detector、fuzz testing 等 Go 生态安全工具,提供可执行的验证手段
4. 分级 severity 指导:Critical/High/Medium/Low 四级风险对应明确的修复时限(立即/当前迭代/下次迭代/择机),便于工程管理
潜在局限
1. AI 推理深度依赖:要求对安全审计使用 ultrathink 模式,实际效果取决于模型对复杂交互漏洞的推理能力
2. 工具依赖外部二进制:需要预装 go、govulncheck、golangci-lint 等,环境配置成本由用户承担
3. 并行子代理管理复杂:Audit 模式的 5 域并行扫描需有效的 Agent 调度和结果聚合机制,多代理协同开销未明确量化
4. 参考文档外链化:详细示例(cryptography.md、injection.md 等 10+ 份参考文档)未在技能内联,实际执行时可能存在文档检索延迟
适合人群
- Go 开发团队:需要系统性安全编码规范与审查 checklist
- 安全工程师:进行 Go 代码基线的自动化安全审计与威胁建模
- DevOps/SRE:配置 CI/CD 安全扫描流程,集成
govulncheck与gosec - 开源项目维护者:建立 PR 安全审查标准,防止漏洞引入
常规风险
- 误报与漏报平衡:过于严格的规则可能导致开发阻力,过于宽松则漏过边界漏洞;severity 调整需人工判断
- 供应链安全风险:
govulncheck依赖 Go 漏洞数据库,存在数据时效性与覆盖度问题 - 并发审计竞态:Audit 模式多代理并行扫描共享代码库时,需确保文件状态一致性
- 密钥管理泄露:技能文档本身指导密钥管理,但技能配置中的 secret 处理依赖外部环境,无内置加密机制