SuperAPI AI Directory

code-security-review

Security & auditing

View repository

Updated 10-16 09:30

About this skill

Code Security Review

Applicable Scenarios

  • PR security review
  • SAST tool scanning
  • Manual code audit
  • New dependency introduction assessment
  • Sensitive operation review

Core Principles

1. 自动化 + 手动结合
   工具找已知模式,人找业务逻辑漏洞

2. 关注输入边界
   所有外部输入都不可信
  1. Focus on permission checks Every write operation must verify permissions

  2. Focus on sensitive data Logs / responses / caches must not contain keys / PII


## SAST 工具

| 工具 | 语言 | 特点 |
|---|---|---|
| **Semgrep** | 多语言 | 自定义规则、快 |
| **SonarQube** | 多语言 | 全面、企业级 |
| **CodeQL** | 多语言 | GitHub 原生、深度 |
| **Snyk Code** | 多语言 | AI 辅助 |
| **Bandit** | Python | Python 专用 |
| **ESLint Security** | JS/TS | 前端安全规则 |
| **SpotBugs** | Java | Java 安全 |
| **gosec** | Go | Go 安全 |

## 审查清单(每次 PR)

```text
输入校验:
  □ 所有外部输入有校验(类型 / 长度 / 格式)
  □ SQL 参数化(不拼接)
  □ HTML 转义(防 XSS)
  □ 路径不拼接用户输入(防路径穿越)
  □ URL 不直接用用户输入(防 SSRF)
  □ 正则不用用户输入(防 ReDoS)

认证鉴权:
  □ 写操作有认证
  □ 资源归属校验(不能改别人的)
  □ 角色权限校验
  □ 不暴露存在性

敏感数据:
  □ 不日志输出密钥 / Token / PII
  □ 不在响应中返回内部信息
  □ 密码用 bcrypt / argon2
  □ 敏感配置用环境变量

依赖:
  □ 新依赖已评估(Stars / 维护 / 安全历史)
  □ 版本锁定
  □ 无已知高危漏洞

Supporting Templates

  • templates/security-review-checklist.md — PR Security Review Checklist

Quality Self-Check

□ SAST 工具集成 CI
□ 手动审查关键路径
□ 输入校验完整
□ 权限检查完整
□ 敏感数据不泄露
□ 依赖安全
□ 发现问题有修复建议

Common Pitfalls

  1. Only running tools without manual review——misses business logic
  2. Not reviewing permissions——IDOR is the most common
  3. Logging output tokens——leakage
  4. Not assessing new dependencies——introducing malicious packages
  5. SQL concatenation——injection

Collaboration with Other Skills

上游:
  threat-modeling → 重点审查区域

下游:
  security-report → 发现纳入报告
  backend-engineer → 修复