用途
Code Security 是一个安全审计工作流与检查清单技能,用于在审查代码安全性、扫描依赖或处理安全问题时提供系统化的操作指引。它把安全审计拆解为可执行的步骤,并配套检查项与常见漏洞示例,帮助开发者定位和修复安全问题。
主要能力
四步工作流
- 扫描(Scan):运行自动化安全工具。依赖检查命令包括
npm audit、pip audit、cargo audit;安全扫描器包括trivy fs .和snyk test。 - 审查(Review):依据检查清单进行人工代码审查,常见漏洞可参考
references/owasp-top-10.md。 - 修复(Fix):对发现的漏洞进行修复。
- 验证(Verify):重新扫描以确认修复生效。
安全检查清单
清单按四类风险组织,每类给出检查项与推荐模式:
- 注入:SQL 使用参数化查询;命令执行不得将用户输入传入 shell;XSS 需转义或校验输出;LDAP 需转义 DN 组件。
- 认证:密码使用 bcrypt/argon2 哈希;会话使用 Secure、httpOnly Cookie;令牌应短时效并正确校验;敏感操作考虑 MFA。
- 数据保护:密钥绝不写入代码;PII 静态加密;传输仅用 HTTPS;日志不得包含敏感数据。
- 依赖:定期扫描漏洞;及时更新过时依赖;仅使用可信来源的包。
常见漏洞示例
技能提供正反代码对照,覆盖:
- SQL 注入:反例为 f-string 拼接查询,正例为参数化查询
cursor.execute(query, (user_id,))。 - XSS:反例为
element.innerHTML = userInput,正例为element.textContent = userInput或对属性值做 sanitize。 - 命令注入:反例为
os.system(f"ping {host}"),正例为subprocess.run(['ping', host])。 - 硬编码密钥:反例为直接写入
sk_live_12345,正例为从process.env.API_KEY读取。
更详细的模式见 references/vulnerability-patterns.md。
工具清单
技能汇总了常用安全工具及其生态与用途:
| 工具 | 生态 | 用途 |
|---|---|---|
| npm audit | Node.js | 依赖漏洞 |
| pip-audit | Python | 依赖漏洞 |
| cargo-audit | Rust | 依赖漏洞 |
| Snyk | 多语言 | 漏洞扫描 |
| Trivy | 多语言 | 容器/基础设施扫描 |
| OWASP ZAP | 多语言 | Web 应用扫描 |
| bandit | Python | 静态分析 |
| ESLint security | JS/TS | 静态分析 |
工具的安装与使用说明见 references/security-tools.md。
输出格式
审计完成后按固定结构输出,包含:扫描结果(依赖漏洞数、静态分析问题数)、问题列表(严重级别、问题、位置、修复方式)以及建议(如为管理员账户启用 2FA、按季度轮换 API 密钥、建立自动化依赖扫描)。
技能加载
遇到数据库问题可加载 python-sqlalchemy 或 typescript-drizzle-orm;遇到认证问题加载相关认证模式;遇到部署安全问题加载可用的基础设施技能。
使用方式
该技能以工作流和检查清单形式提供,触发场景为审查代码安全问题、扫描依赖或处理安全关切。使用时按扫描、审查、修复、验证四步推进,并参照清单与示例逐项核对。
适用场景
- 代码提交或合并前的安全审查。
- 依赖漏洞的定期扫描与更新。
- 处理 SQL 注入、XSS、命令注入、硬编码密钥等常见漏洞。
- 建立团队安全审计流程与输出规范。
限制
资料未提供该技能的安装方式、运行环境要求、支持的编程语言范围、是否收费及价格、扫描准确率或性能数据,这些信息暂未提供。