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 依赖及相应环境变量要求。