SuperAPI AI 工具集

security-review

安全与审计

查看项目

更新于 10-19 07:52

技能介绍

用途 security-review 是一个聚焦的安全审查清单,用于在合并代码变更前,发现变更集中真实可被利用的漏洞。它适用于审查 diff 或 PR、对代码做安全加固,或任务涉及 security、injection、XSS 等关键词时使用。

主要能力 威胁清单覆盖以下类别:

  • 注入:不可信输入流入 SQL、shell、OS 命令、eval、模板引擎或 LDAP,重点识别字符串拼接而非参数化查询或参数数组。
  • XSS:用户数据未经转义渲染进 HTML/JS/DOM,检查 innerHTML、dangerouslySetInnerHTML、未转义的模板插值。
  • 认证与授权:缺少认证、缺少归属或权限校验、IDOR(按 id 操作对象却未验证调用方是否拥有)、权限提升、信任客户端提供的角色。
  • 密钥:硬编码 API key、token、密码、私钥或连接串;密钥被记录日志或提交入库。应来自环境变量或密钥存储,而非源码。
  • 路径穿越与文件访问:用户可控路径未经规范化或白名单校验即拼接(../ 逃逸、跟随符号链接)。
  • SSRF:服务端对用户提供的 URL 或主机发起请求且无白名单,可能触达内部元数据端点。
  • 反序列化与解析:不可信数据送入不安全的反序列化器(pickle、原生 YAML 加载器、Java/PHP 对象反序列化)。
  • 加密:弱算法或自动算法(密码使用 MD5/SHA1)、硬编码 IV、ECB 模式、缺少 TLS 校验、令牌使用可预测随机数。
  • 敏感数据暴露:日志、错误信息或 API 响应中的 PII 或密钥;向客户端泄露详细堆栈。
  • 依赖:新增包是否可信、是否锁定版本、是否无已知 CVE;避免误植包名(typosquat);供应链验证可使用 gh attestation(见 gh-cli 技能)。
  • 资源与 DoS:无界循环、无界请求或请求体大小、缺少超时、正则灾难性回溯(ReDoS)。
  • 竞态与 TOCTOU:对文件、余额或认证状态的检查后操作缺少加锁。

使用方式 先识别信任边界:不可信输入从何处进入,又在哪里到达危险汇聚点(数据库、shell、文件系统、网络、HTML)。逐个追踪污染值从源到汇;当它未经校验、编码或参数化就到达危险汇时,即判定存在漏洞。优先白名单而非黑名单;优先使用库提供的转义与参数化,而非手工清洗。只标记能用具体利用路径论证的问题,不输出推测性或仅风格类的噪音。

报告格式 critical/major 为阻塞项,minor/nit 为建议项,分级与 code-review 技能一致。每条发现按以下结构输出: [severity: critical|major|minor|nit] <title> location: path/to/file.ext:LINE issue: <问题是什么以及触发它的输入> impact: <攻击者获得什么> fix: <最小且具体的修复方案> 发现按严重度排序。如果审查后没有可操作问题,应明确说明,而不是用低价值备注填充。若需改写代码,必须被明确要求后才执行。

适用场景与限制 适用于合并前的变更审查与安全加固检查。它针对 diff 优先、按证据报告,不对未改动区域做全面审计;不主动重写代码;不进行推测性告警。资料未提供安装方式、运行命令、支持的平台与具体收费信息。