Golang Security

🔒 Go 代码安全审查与漏洞防护专家

为 Go 项目提供全方位安全防护,涵盖 SQL/命令注入、加密、文件系统、网络等关键漏洞领域,配套 STRIDE/DREAD 威胁建模与自动化检测工具链。

收藏
3.2k
安装
960
版本
1.1.3
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

本 skill 定位为 Go 语言安全开发的权威指南与实战工具,适用于代码编写、安全审计、PR 审查三大场景:

  • Coding mode:编写新代码时遵循安全最佳实践,内置背景代理自动扫描常见漏洞模式
  • Review mode:针对 PR 进行专项安全审查,从变更文件追溯调用链与数据流,识别 diff 外的隐藏风险
  • Audit mode:全库并行安全扫描,启动 5 个独立子代理分别覆盖注入、加密、Web 安全、认证授权、并发安全五大领域,采用 DREAD 评分体系量化风险

关键安全领域覆盖

| 领域 | 核心防御措施 |
|------|-------------|
| 注入攻击 | SQL 参数化查询 (`database/sql`)、命令参数分离 (`exec.Command`)、模板自动转义 (`html/template`) |
| 加密安全 | 强制使用 `crypto/rand`、`crypto/aes-GCM`、Argon2id/bcrypt 密码哈希、常数时间比较 |
| 文件系统安全 | `os.Root` (Go 1.24+)、`filepath.Clean` 防路径遍历、zip bomb 防护 |
| 网络/Web 安全 | TLS 安全配置、HSTS/CSP/X-Frame-Options 头、速率限制、SSRF 防护 |
| 内存安全 | 整数溢出检测、`unsafe` 使用审查、race detector 强制检测 |
| 密钥管理 | 禁止硬编码、环境变量/密钥管理器集成、多环境隔离 |
| 日志安全 | PII 脱敏、日志注入防护、服务端详细日志+客户端通用错误 |

方法论:STRIDE + DREAD

采用业界标准威胁建模框架:

  • STRIDE:识别欺骗、篡改、抵赖、信息泄露、拒绝服务、权限提升六类威胁
  • DREAD:从损害潜力、复现性、利用难度、影响范围、发现难度五维度 1-10 评分,≥8 为 Critical 需立即修复

显著优点

1. 深度防御架构:不信任任何单层防护,要求数据跨越信任边界时逐层验证
2. 工具链集成:原生对接 govulncheckgosecgolangci-lint 安全规则集、go test -race、模糊测试

3. 版本感知:针对 Go 1.24+ 新特性(如 os.Root)提供前沿防护方案

4. 风险量化:DREAD 评分避免主观判断,Critical/High/Medium/Low 四级 severity 与修复优先级挂钩

5. 反模式库:系统整理"安全 through 模糊"、"客户端授权"、"自制加密"等高危反模式

潜在局限

  • 依赖外部工具govulncheckgosec 需单独安装,零日漏洞检测受限于工具数据库时效性
  • 并发扫描上限:Audit mode 限定 5 个并行子代理,超大规模代码库可能需要分批处理
  • 语言专属:专注 Go 生态,跨语言微架构需配合其他 skill
  • 误报处理:自动化扫描可能产生误报,需人工复核数据流确认

适合人群

  • Go 后端开发工程师:日常编码时规避常见安全陷阱
  • 安全工程师/架构师:建立团队安全基线与审查流程
  • 技术负责人:制定 Critical 漏洞修复 SLA、设计防御纵深架构
  • 开源维护者:配置 CI 安全门禁,集成 govulncheck 阻断依赖漏洞流入

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 工具链失效 | `govulncheck` 数据库未覆盖私有漏洞或内部组件 | 结合 `go mod verify`、SBOM 扫描、私有漏洞 feed |
| 配置漂移 | 安全头、TLS 配置随版本迭代被降级 | 将安全策略代码化(Infrastructure as Code)、自动化配置审计 |
| 并发隐蔽缺陷 | Race condition 仅在特定调度下触发 | CI 强制 `-race` 检测、定期压力测试、模糊测试覆盖 |
| 密钥泄露 | 开发环境误提交 `.env` 文件 | pre-commit hook 扫描、git-secrets、secret scanning 工具 |
| 供应链攻击 | 恶意依赖注入 | `go.sum` 校验、私有代理、最小权限构建环境 |

权威性说明

  • 来源:由 Go 社区活跃贡献者 samber 维护,MIT 协议开源
  • 方法论对齐:OWASP Go Secure Coding Practices、Go 官方 Security Best Practices
  • 工具链背书:govulncheck 为 Go 官方漏洞检测工具,gosec 是 Go 领域最广泛使用的 SAST 工具

Golang Security 内容

evals文件夹
references文件夹
手动下载zip · 47.2 kB
evals.jsonapplication/json
请选择文件