SuperAPI AI 工具集

security-scan

安全与审计

查看项目

更新于 10-14 17:54

技能介绍

Security Scan 是一款面向代码库的综合安全漏洞检测技能,用于在开发过程中对代码进行安全分析。其核心目标是在代码部署前发现潜在的安全问题,并给出可操作的修复指引。

用途

该技能用于对代码库执行安全扫描,覆盖多个漏洞类别:OWASP Top 10 行业标准 Web 漏洞类别、敏感信息检测(硬编码凭据、API 密钥、令牌)、注入缺陷(SQL、XSS、命令注入)、密码学问题(弱算法、不安全实现)以及配置问题(不安全默认值、错误配置)。

主要能力

  • OWASP Top 10 覆盖:包括 A01 访问控制失效、A02 密码学失败、A03 注入、A04 不安全设计、A05 安全配置错误、A06 易受攻击组件、A07 认证失败、A08 数据完整性失败、A09 日志失败、A10 SSRF,每个类别有对应的检测方式(如授权模式分析、弱加密检测、模式匹配加数据流分析、配置文件分析、依赖扫描等)。
  • 注入检测:SQL 注入(查询字符串拼接、数据库调用中的未净化用户输入、动态查询构造)、XSS(innerHTML 赋值用户数据、document.write() 动态内容、未转义模板插值)、命令注入(exec()、system()、popen() 中的用户输入、Shell 命令字符串构造、未净化的子进程参数)。
  • Secrets 检测:高置信度模式包括 AWS Access Key(AKIA[0-9A-Z]{16})、AWS Secret Key([A-Za-z0-9/+=]{40})、GitHub Token(gh[pousr][A-Za-z0-9]{36,})、Stripe Key(sk_live[A-Za-z0-9]{24,})、私钥(-----BEGIN (RSA |EC )?PRIVATE KEY-----);中等置信度模式包括通用 API Key、代码中的密码、连接字符串等。
  • 密码学弱点检测:弱算法(MD5 用于密码哈希、SHA1 用于安全用途、DES/3DES 加密、RC4 流密码)和实现问题(硬编码加密密钥、弱随机数生成、密码哈希缺少盐、ECB 模式加密)。

使用方式

该技能以命令形式调用:

  • /security-scan:全量扫描当前目录,执行所有 OWASP Top 10 类别、secrets 与凭据检测、依赖漏洞检测(如存在包文件)、配置文件审查,耗时 2-5 分钟,取决于代码库大小。
  • /security-scan --quick:快速扫描,仅检查严重和高危问题,包括关键注入模式、暴露的 secrets、已知危险函数,耗时不到 1 分钟。
  • /security-scan --scope src/:扫描指定目录。
  • /security-scan --focus injection:聚焦特定类别,可用类别包括 injection(SQL、XSS、命令注入)、secrets(凭据、API 密钥、令牌)、crypto(密码学弱点)、auth(认证/授权问题)、config(配置安全)。
  • 其他命令:--details 输出详细报告、--json 输出 JSON、--fix 在可能的情况下自动修复。--fix 的具体修复能力资料中未详细说明。

输出格式

按严重级别分类:CRITICAL(可利用漏洞,需立即修复)、HIGH(严重安全风险,部署前修复)、MEDIUM(潜在漏洞,计划处理)、LOW(次要问题或加固,考虑修复)、INFO(信息性发现,仅需知晓)。每条发现按“严重级别 类别:简述”格式输出,包含文件路径与行号、检测到的模式、风险原因和修复方法。汇总报告包含扫描范围、文件数、耗时、按严重级别统计的发现数量以及主要问题列表。

扫描执行协议

分为五个阶段:阶段一发现(识别项目类型、定位相关文件、确定适用的安全规则);阶段二静态分析(已知漏洞的模式匹配、注入路径的数据流分析、配置审查);阶段三 Secrets 扫描(高置信度模式匹配、潜在 secrets 的熵分析、可选的 Git 历史检查);阶段四依赖分析(解析包清单、对照漏洞数据库、识别过时包);阶段五报告(去重、分配严重级别、生成可操作报告并提供修复指导)。

配置

项目级配置:在项目根目录创建 .security-scan.yaml,可配置排除路径(如 node_modules/、vendor/、/*.test.ts、/mocks/**)、严重级别阈值(fail_on、warn_on)、类别开关(injection、secrets、crypto、auth、config、dependencies)以及自定义模式(可定义名称、正则模式和严重级别)。忽略误报:创建 .security-scan-ignore 文件忽略特定文件,或使用内联注释 # security-scan-ignore: test fixture 忽略特定行。

集成与相关技能

与 /secrets-scan(深度凭据检测,支持 --entropy 高熵字符串检测)、/dependency-scan(包漏洞分析,支持 --fix 自动修复)、/config-scan(基础设施与配置审查,支持 --docker 容器安全、--iac 基础设施即代码)配合使用。相关技能还包括 /review-code(通用代码审查,包含安全部分)。

适用场景

适用于需要对代码库进行全面安全分析的场景,例如部署前安全审查、专项漏洞类别排查、凭据泄露检测、依赖漏洞检查以及配置安全审查。

限制

资料未提供该技能的收费、价格或平台依赖信息;具体支持的语言范围未明确说明,仅提到 references/patterns/ 目录下包含语言特定模式,但未列出具体语言。--fix 自动修复的具体范围与能力未详细说明。