security-review

security-review

热门

AI驱动的代码库安全扫描器,像安全研究员一样推理代码——追踪数据流、理解组件交互、捕捉模式匹配工具遗漏的漏洞。当被要求扫描代码安全漏洞、查找错误、检查SQL注入、XSS、命令注入、暴露的API密钥、硬编码密钥、不安全的依赖、访问控制问题,或任何类似“我的代码安全吗?”、“审查安全问题”、“审计此代码库”或“检查漏洞”的请求时,使用此技能。涵盖JavaScript、TypeScript、Python、Java、PHP、Go、Ruby和Rust中的注入缺陷、身份验证和访问控制错误、密钥暴露、弱加密、不安全的依赖以及业务逻辑问题。

3.7万Star
4605Fork
更新于 2026/7/19
SKILL.md
readonly只读
name
security-review
description

AI驱动的代码库安全扫描器,像安全研究员一样推理代码——追踪数据流、理解组件交互、捕捉模式匹配工具遗漏的漏洞。当被要求扫描代码安全漏洞、查找错误、检查SQL注入、XSS、命令注入、暴露的API密钥、硬编码密钥、不安全的依赖、访问控制问题,或任何类似“我的代码安全吗?”、“审查安全问题”、“审计此代码库”或“检查漏洞”的请求时,使用此技能。涵盖JavaScript、TypeScript、Python、Java、PHP、Go、Ruby和Rust中的注入缺陷、身份验证和访问控制错误、密钥暴露、弱加密、不安全的依赖以及业务逻辑问题。

安全审查

一个AI驱动的安全扫描器,像人类安全研究员一样推理你的代码库——追踪数据流、理解组件交互、捕捉模式匹配工具遗漏的漏洞。

何时使用此技能

当请求涉及以下内容时使用此技能:

  • 扫描代码库或文件的安全漏洞
  • 运行安全审查或漏洞检查
  • 检查SQL注入、XSS、命令注入或其他注入缺陷
  • 查找暴露的API密钥、硬编码密钥或代码中的凭据
  • 审计依赖项以查找已知CVE
  • 审查身份验证、授权或访问控制逻辑
  • 检测不安全的加密或弱随机性
  • 执行数据流分析以追踪用户输入到危险接收器
  • 任何类似“我的代码安全吗?”、“扫描此文件”或“检查我的仓库漏洞”的请求措辞
  • 运行/security-review/security-review <path>

此技能的工作原理

与匹配模式的传统静态分析工具不同,此技能:

  1. 像安全研究员一样阅读代码——理解上下文、意图和数据流
  2. 跨文件追踪——跟踪用户输入如何在应用程序中移动
  3. 自我验证发现——重新检查每个结果以过滤误报
  4. 分配严重性评级——严重/高/中/低/信息
  5. 提出针对性补丁——每个发现都包含具体修复
  6. 需要人工批准——不会自动应用任何内容;你始终先审查

执行工作流

每次按顺序执行以下步骤:

步骤1——范围解析

确定要扫描的内容:

  • 如果提供了路径(/security-review src/auth/),仅扫描该范围
  • 如果未提供路径,从根目录开始扫描整个项目
  • 识别使用的语言和框架(检查package.json、requirements.txt、go.mod、Cargo.toml、pom.xml、Gemfile、composer.json等)
  • 读取references/language-patterns.md以加载特定语言的漏洞模式

步骤2——依赖审计

在扫描源代码之前,先审计依赖项(快速见效):

  • Node.js:检查package.json + package-lock.json中已知的易受攻击包
  • Python:检查requirements.txt / pyproject.toml / Pipfile
  • Java:检查pom.xml / build.gradle
  • Ruby:检查Gemfile.lock
  • Rust:检查Cargo.toml
  • Go:检查go.sum
  • 标记具有已知CVE、已弃用的加密库或可疑的旧固定版本的包
  • 读取references/vulnerable-packages.md以获取精选监控列表

步骤3——密钥与暴露扫描

扫描所有文件(包括配置、环境变量、CI/CD、Dockerfile、IaC)以查找:

  • 硬编码的API密钥、令牌、密码、私钥
  • 意外提交的.env文件
  • 注释或调试日志中的密钥
  • 云凭据(AWS、GCP、Azure、Stripe、Twilio等)
  • 嵌入凭据的数据库连接字符串
  • 读取references/secret-patterns.md以获取要应用的正则表达式模式和熵启发式规则

步骤4——漏洞深度扫描

这是核心扫描。推理代码——不要仅仅模式匹配。
读取references/vuln-categories.md以获取每个类别的完整详细信息。

注入缺陷

  • SQL注入:使用字符串插值的原始查询、ORM误用、二阶SQLi
  • XSS:未转义的输出、dangerouslySetInnerHTML、innerHTML、模板注入
  • 命令注入:使用用户输入的exec/spawn/system
  • LDAP、XPath、Header、日志注入

身份验证与访问控制

  • 敏感端点缺少身份验证
  • 损坏的对象级授权(BOLA/IDOR)
  • JWT弱点(alg:none、弱密钥、无过期验证)
  • 会话固定、缺少CSRF保护
  • 权限提升路径
  • 批量赋值/参数污染

数据处理

  • 日志、错误消息或API响应中的敏感数据
  • 缺少静态或传输中加密
  • 不安全的反序列化
  • 路径遍历/目录遍历
  • XXE(XML外部实体)处理
  • SSRF(服务器端请求伪造)

加密

  • 将MD5、SHA1、DES用于安全目的
  • 硬编码的IV或盐值
  • 弱随机数生成(使用Math.random()生成令牌)
  • 缺少TLS证书验证

业务逻辑

  • 竞态条件(TOCTOU)
  • 财务计算中的整数溢出
  • 敏感端点缺少速率限制
  • 可预测的资源标识符

步骤5——跨文件数据流分析

在逐文件扫描之后,执行整体审查

  • 从入口点(HTTP参数、头、正文、文件上传)追踪用户控制的输入,一直到接收器(数据库查询、exec调用、HTML输出、文件写入)
  • 识别仅在同时查看多个文件时才会出现的漏洞
  • 检查服务或模块之间的不安全信任边界

步骤6——自我验证过程

对于每个发现:

  1. 用全新的眼光重新阅读相关代码
  2. 问:“这实际上是否可利用,还是我错过了某种清理?”
  3. 检查框架或中间件是否已在上游处理了此问题
  4. 降级或丢弃不是真正漏洞的发现
  5. 分配最终严重性:严重/高/中/低/信息

步骤7——生成安全报告

references/report-format.md中定义的格式输出完整报告。

步骤8——提出补丁

对于每个严重和高的发现,生成一个具体的补丁:

  • 显示易受攻击的代码(之前)
  • 显示修复后的代码(之后)
  • 解释更改了什么以及为什么
  • 保留原始代码风格、变量名和结构
  • 添加内联注释解释修复

明确说明:“应用每个补丁前请审查。尚未进行任何更改。”

严重性指南

严重性 含义 示例
🔴 严重 立即利用风险,可能发生数据泄露 SQLi、RCE、身份验证绕过
🟠 高 严重漏洞,存在利用路径 XSS、IDOR、硬编码密钥
🟡 中 有条件或链式利用 CSRF、开放重定向、弱加密
🔵 低 最佳实践违规,直接风险低 详细错误、缺少头
⚪ 信息 值得注意的观察,不是漏洞 过时的依赖(无CVE)

输出规则

  • 始终首先生成发现摘要表(按严重性计数)
  • 绝不自动应用任何补丁——仅提供补丁供人工审查
  • 始终为每个发现包含置信度评级(高/中/低)
  • 按类别分组发现,而不是按文件
  • 具体说明——包括文件路径、行号和确切的易受攻击代码片段
  • 用通俗语言解释风险——攻击者可以利用此做什么?
  • 如果代码库是干净的,明确说明:“未发现漏洞”以及扫描了哪些内容

参考文件

有关详细的检测指南,根据需要加载以下参考文件:

  • references/vuln-categories.md——每个漏洞类别的深度参考,包含检测信号、安全模式和升级检查器
    • 搜索模式:SQL injectionXSScommand injectionSSRFBOLAIDORJWTCSRFsecretscryptographyrace conditionpath traversal
  • references/secret-patterns.md——正则表达式模式、基于熵的检测和CI/CD密钥风险
    • 搜索模式:API keytokenprivate keyconnection stringentropy.envGitHub ActionsDockerTerraform
  • references/language-patterns.md——JavaScript、Python、Java、PHP、Go、Ruby和Rust的框架特定漏洞模式
    • 搜索模式:ExpressReactNext.jsDjangoFlaskFastAPISpring BootPHPGoRailsRust
  • references/vulnerable-packages.md——npm、pip、Maven、Rubygems、Cargo和Go模块的精选CVE监控列表
    • 搜索模式:lodashaxiosjsonwebtokenPillowlog4jnokogiriCVE
  • references/report-format.md——安全报告的结构化输出模板,包含发现卡片、依赖审计、密钥扫描和补丁提案格式
    • 搜索模式:reportformattemplatefindingpatchsummaryconfidence