SuperAPI AI 工具集

dfyx-code-security-review

安全与审计

查看项目

更新于 10-15 13:55

技能介绍

用途

dfyx-code-security-review 是一个专业代码安全审计技能,专为 AI 编程智能体设计,用于对源代码进行白盒静态分析,系统性地发现并验证安全漏洞。它实现了五阶段标准化审计协议,并采用双轨分析模型(Sink 驱动、Control 驱动、Config 驱动)来覆盖不同类型的漏洞。

主要能力

覆盖范围

  • 9 种语言:Java、Python、Go、PHP、JavaScript/Node.js、C/C++、.NET/C#、Ruby、Rust
  • 10 个安全维度:
    • D1 注入:SQL/命令/LDAP/SSTI/SpEL/JNDI/XPath/XML 注入
    • D2 认证:Token/Session/JWT/过滤器链漏洞
    • D3 授权:CRUD 一致性、IDOR、水平越权
    • D4 反序列化:Java/Python/PHP gadget 链、不安全反序列化
    • D5 文件操作:上传/下载/路径遍历漏洞
    • D6 SSRF:URL 注入、协议绕过
    • D7 密码学:密钥管理、弱算法、不当 KDF
    • D8 配置:Actuator 暴露、CORS、错误信息泄露
    • D9 业务逻辑:竞态条件、批量赋值、状态机缺陷
    • D10 供应链:依赖 CVE、过时包
  • 14 个框架:Spring Boot、Django、Flask、FastAPI、Express、Koa、Gin、Laravel、Rails、ASP.NET Core、Rust Web、NestJS/Fastify、MyBatis、ProcessWire

五阶段审计协议

  1. 侦察与测绘(10%):技术栈识别、架构图生成、攻击面枚举
  2. 并行模式匹配(30%):Sink 驱动扫描(危险函数)、Control 驱动扫描(缺失安全控制)、Config 驱动扫描(错误配置)
  3. 深度污点追踪与实际测试(40%):数据流分析、路径敏感分析、POC 生成与验证
  4. 验证与攻击链构建(15%):漏洞验证、攻击链分析、可利用性评估
  5. 结构化报告(5%):漏洞文档、修复指导、风险优先级排序

双轨审计模型

  • Sink 驱动:针对 D1 注入、D4 反序列化、D5 文件操作、D6 SSRF,通过搜索危险函数、追踪数据流、验证无保护来发现已有危险代码中的漏洞。
  • Control 驱动:针对 D3 授权、D9 业务逻辑,通过枚举端点、验证安全控制是否存在,缺失即视为漏洞。
  • Config 驱动:针对 D2 认证、D7 密码学、D8 配置、D10 供应链,通过搜索配置、对比安全基线来发现错误配置。

扫描模式

  • 快速:适用于 CI/CD、小型项目,覆盖关键漏洞、密钥、依赖 CVE,耗时 5-10 分钟。
  • 标准:适用于常规审计,覆盖 OWASP Top 10、认证/授权、密码学,耗时 30-60 分钟。
  • 深度:适用于关键项目、渗透测试准备,全量覆盖、攻击链、业务逻辑,耗时 1-3 小时。

使用方式

安装

# 克隆项目
git clone https://github.com/EastSword/skill-dfyx_code_security_review.git

# 用于 Claude Code
cp -r skill-dfyx_code_security_review ~/.claude/skills/

# 安装 Python 依赖(可选,用于独立脚本)
cd skill-dfyx_code_security_review
pip install -r requirements.txt

自然语言触发审计

可直接向 AI 智能体发出请求,例如:

  • "Audit this codebase for security vulnerabilities"
  • "Perform a deep security review of this Spring Boot project"
  • "Find SQL injection and authentication issues"

智能体会返回模式、侦察结果、计划、范围,并请求确认后开始审计。

独立脚本使用

# 全量扫描
python scripts/code_scan.py /path/to/project --mode deep --output results.json

# 快速扫描(CI/CD)
python scripts/code_scan.py /path/to/project --mode quick

# 聚焦特定维度
python scripts/code_scan.py /path/to/project --dimensions D1,D2,D3

# 仅密钥检测
python scripts/secret_finder.py /path/to/project

# 依赖漏洞检查
python scripts/dependency_analyzer.py /path/to/project

# 生成报告
python scripts/report_generator.py --input results.json --output report.md

Python API 使用

from scripts.code_scan import SecurityScanner
from scripts.data_flow_analyzer import DataFlowAnalyzer

scanner = SecurityScanner(project_path='/path/to/project', mode='deep')
results = scanner.scan()

dfa = DataFlowAnalyzer(project_path='/path/to/project')
flow = dfa.trace_taint(
    source='request.getParameter("id")',
    sink='jdbcTemplate.query(sql)',
    file='UserController.java'
)

scanner.generate_report(results, output_file='security_report.md')

配置

环境变量:

export DFYX_AUDIT_MODE=deep  # quick|standard|deep
export DFYX_DOCKER_VERIFY=true
export DFYX_REPORT_FORMAT=markdown  # markdown|json|html
export DFYX_AGENTS=5
export DFYX_MIN_SEVERITY=medium  # low|medium|high|critical

自定义规则(custom_rules.yaml):

custom_rules:
  - id: CUSTOM_001
    name: "Internal API Key Exposure"
    pattern: 'INTERNAL_API_KEY\s*=\s*["\'][^"\']+["\']'
    severity: critical
    language: [python, javascript]

加载自定义规则:

python scripts/code_scan.py /path/to/project --rules custom_rules.yaml

适用场景

  • 对代码库进行安全审计,发现注入、认证、授权、反序列化等漏洞
  • 在 CI/CD 流程中集成快速扫描
  • 为渗透测试准备进行深度安全审查
  • 检查依赖中的已知 CVE 和过时包
  • 检测代码中的硬编码密钥和凭证
  • 生成包含数据流图、利用 POC 和修复建议的结构化报告

限制

  • 资料中未提供关于收费、价格、平台兼容性、实际效果或性能的明确信息。
  • 部分功能(如 Docker 验证)的具体实现细节暂未提供。
  • 报告结构中的部分内容(如攻击链分析、依赖分析、密钥检测)在资料中有提及,但完整细节暂未提供。