SuperAPI AI 工具集

dfyx-code-security-auditor

安全与审计

查看项目

更新于 10-15 13:53

技能介绍

dfyx-code-security-auditor 是 ara.so 的 Security Skills 集合中的一个技能,定位为专家级代码安全审计工具。它基于深度数据流分析和业务逻辑理解,实施标准化的五阶段白盒静态分析方法论,用于系统性地发现和验证源代码中的安全漏洞。

主要能力

该技能提供系统化的代码安全审计,具备以下核心特性:

  • 多语言支持:Java、Python、Go、PHP、JavaScript/Node.js、C/C++、.NET/C#、Ruby、Rust。
  • 10 个安全维度:注入、认证、授权、反序列化、文件操作、SSRF、密码学、配置、业务逻辑、供应链。
  • 三轨审计模型:Sink 驱动(注入类)、Control 驱动(授权/逻辑)、Config 驱动(配置类)。
  • 五阶段协议:侦察(Reconnaissance)→ 模式匹配(Pattern Matching)→ 污点追踪(Taint Tracking)→ 验证(Validation)→ 报告(Reporting)。
  • 真实案例库:基于 WooYun 漏洞案例(2010-2016)。

五阶段审计协议

  • 阶段一:侦察与映射(10%):识别技术栈、框架、依赖;映射攻击面、入口点、数据流;输出架构图与攻击面清单。
  • 阶段二:模式匹配(30%):跨 10 个维度并行扫描;检索危险函数与缺失的控制措施;输出高风险区域与候选漏洞。
  • 阶段三:深度污点追踪(40%):从 source 追踪数据流到 sink;验证净化处理与安全控制;输出带证据的已确认漏洞。
  • 阶段四:验证与攻击链(15%):构建利用链、测试 PoC;多代理交叉验证;输出经验证的漏洞与 PoC。
  • 阶段五:结构化报告(5%):生成详细报告;提供修复建议;输出完整审计报告。

10 个安全维度

  • D1 注入:SQL、命令、LDAP、SSTI、SpEL、JNDI;Sink 驱动。
  • D2 认证:Token、Session、JWT、过滤器链;Config 驱动。
  • D3 授权:CRUD 权限、IDOR、水平越权;Control 驱动。
  • D4 反序列化:Java/Python/PHP gadget 链;Sink 驱动。
  • D5 文件操作:上传、下载、路径穿越;Sink 驱动。
  • D6 SSRF:URL 注入、协议限制;Sink 驱动。
  • D7 密码学:密钥管理、密码模式、KDF;Config 驱动。
  • D8 配置:调试端点、CORS、信息泄露;Config 驱动。
  • D9 业务逻辑:竞态条件、批量赋值、状态机;Control 驱动。
  • D10 供应链:依赖 CVE、版本检查;Config 驱动。

审计模式

  • 快速模式(5-10 分钟):范围覆盖严重漏洞、密钥、依赖 CVE;用于 CI/CD 流水线、小型项目;覆盖 D1(注入)、D10(供应链)、密钥检测。
  • 标准模式(30-60 分钟):范围覆盖 OWASP Top 10、认证/授权、密码学;用于常规审计、部署前检查;覆盖 D1-D8。
  • 深度模式(1-3 小时):范围覆盖完整维度、攻击链、业务逻辑;用于重大发布、渗透测试准备;覆盖 D1-D10 加攻击链分析。

安装方式

该技能设计用于支持自定义技能的 AI 编程代理。

Claude Code:

cd ~/.claude/skills/
git clone https://github.com/EastSword/skill-dfyx_code_security_review.git dfyx-code-security-auditor

Cursor/Windsurf:

# 添加到你的 .cursorrules 或工作区配置中
# 将技能目录复制到项目的 .ai/ 文件夹
mkdir -p .ai/skills
git clone https://github.com/EastSword/skill-dfyx_code_security_review.git .ai/skills/dfyx-code-security-auditor

Python 依赖(用于辅助脚本):

pip install -r requirements.txt

使用方式

基础安全审计触发示例:

Audit this project for security vulnerabilities using deep mode

该技能会输出模式选择、侦察结果、并行代理部署计划、预计轮次与耗时,并询问是否继续。

语言特定审计命令示例:

  • Java/Spring Boot:Review this Spring Boot application for injection flaws, missing authorization checks, and unsafe deserialization
  • Python/Flask:Scan this Flask app for command injection and path traversal vulnerabilities
  • PHP/Laravel:Audit this Laravel application for SQL injection and mass assignment issues
  • JavaScript/Node.js:Check this Express app for NoSQL injection and prototype pollution

辅助脚本

  • 模式扫描:python scripts/pattern_scanner.py /path/to/project --language java --output patterns.json
  • 数据流分析:python scripts/data_flow_analyzer.py /path/to/project --source "request.getParameter" --sink "executeQuery"
  • 密钥发现:python scripts/secret_finder.py /path/to/project
  • 依赖分析:python scripts/dependency_analyzer.py /path/to/project
  • 完整审计流水线:python scripts/code_scan.py /path/to/project --mode deep --output results.json
  • 报告生成:python scripts/report_generator.py --input results.json --output audit_report.md --template templates/report-templates/web-app-report-template.md

配置

可在项目根目录创建 .dfyx_audit.yaml 配置文件,包含:

  • 审计模式:quick、standard、deep
  • 范围:include/exclude 文件模式
  • 维度:D1-D10 选择
  • 严重性阈值:low、medium、high、critical
  • 框架特定设置:如 spring 检查 Shiro 绕过、SpEL 注入;django 检查模板注入、ORM 注入
  • 防幻觉设置:require_evidence、require_full_path、require_poc、cross_validate
  • 报告格式:markdown、json、html;是否包含修复示例、攻击链;语言 en/zh

环境变量:

export DOCKER_HOST=unix:///var/run/docker.sock
export NVD_API_KEY=${NVD_API_KEY}
export GITHUB_TOKEN=${GITHUB_TOKEN}
export SEMGREP_RULES_PATH=/path/to/custom/rules
export CODEQL_DATABASE_PATH=/path/to/codeql/db

适用场景

  • 提交前安全检查和 Git 钩子集成
  • CI/CD 集成(如 GitHub Actions 工作流)
  • API 安全审查(认证与授权问题)
  • 数据库层审计(SQL 注入检查)
  • 渗透测试准备与重大发布前审计

限制

该技能的效能取决于所用 AI 编程代理的能力和配置。扫描范围和准确性可能受项目规模、语言支持和配置影响。使用前需确保满足 Python 依赖及相应环境变量要求。