版本:2.88.0
name: 对抗性 description: 用于代码安全的多智能体对抗分析系统
对抗性代码分析器
受ZeroLeaks架构启发的多智能体对抗分析系统。
v2.88主要变更(模型无关)
- 模型无关:使用在
~/.claude/settings.json或CLI/env vars中配置的模型 - 无需标志:与配置的默认模型一起工作
- 灵活:适用于GLM-5、Claude、Minimax或任何配置的模型
- 设置驱动:通过
ANTHROPIC_DEFAULT_*_MODEL环境变量选择模型
将安全扫描模式应用于代码分析:专业智能体协同工作,系统地发现漏洞、弱点和质量问题。
架构
基于ZeroLeaks多智能体系统,适应于代码分析:
协调者(引擎)
|
+---------------+---------------+
| | |
策略家 攻击者 评估者
| | |
+-------+-------+-------+-------+
|
变异者
智能体角色
| 智能体 | 角色 | 焦点 |
|---|---|---|
| 引擎 | 协调分析,管理探索树 | 协调 |
| 策略家 | 根据代码库配置选择分析策略 | 策略 |
| 攻击者 | 生成攻击向量/测试用例 | 攻击 |
| 评估者 | 分析响应以寻找漏洞 | 评估 |
| 变异者 | 创建测试用例的变体 | 变化 |
智能体团队集成(v2.88)
最佳场景:集成(智能体团队+自定义子智能体)
对抗性分析使用智能体团队协调与专业ralph-*智能体进行多向量攻击模拟。
为什么对抗性选择场景C
- 多智能体协调至关重要(策略家、攻击者、评估者、变异者)
- 质量门验证漏洞发现
- 特殊角色映射到ralph-*智能体
- 通过共享任务列表协调攻击策略
子智能体角色
| 子智能体 | 在对抗性分析中的角色 |
|---|---|
ralph-reviewer |
打击者 - 识别漏洞 |
ralph-researcher |
策略家 - 映射攻击面 |
ralph-coder |
评估者 - 创建测试用例 |
平行攻击分析
当智能体团队激活时:
- 团队领导协调多向量攻击分析
- ralph-reviewer并行识别安全弱点
- ralph-researcher映射代码库攻击面
- ralph-coder生成概念验证测试
智能体团队工作流程
- 使用TeamCreate进行协调攻击分析
- 任务协调跟踪漏洞发现
- TeammateIdle触发发现的交叉验证
使用方法
/adversarial src/auth/
/adversarial --target 安全 src/api/
/adversarial --depth 5 --branches 4 src/
分析阶段
遵循ZeroLeaks分阶段方法:
1. 侦察 -> 理解代码库结构,依赖关系
2. 剖析 -> 构建防御配置文件(模式,保护措施)
3. 软探测 -> 温和的分析尝试
4. 升级 -> 增加分析强度
5. 利用 -> 积极寻找漏洞
6. 持久性 -> 验证发现在不同场景中的持续性
分析类别
| 类别 | 描述 | 示例 |
|---|---|---|
direct |
直接的漏洞检查 | SQL注入,XSS |
encoding |
编码/解码问题 | Base64,Unicode,转义 |
persona |
身份/权限绕过 | 权限提升 |
social |
信任边界违规 | SSRF,CSRF |
technical |
技术实现问题 | 竞态条件,内存 |
crescendo |
多步骤升级路径 | 链式漏洞 |
many_shot |
基于模式的检测 | 重复的反模式 |
cot_hijack |
逻辑流操纵 | 商业逻辑缺陷 |
policy_puppetry |
配置利用 | 配置错误 |
context_overflow |
资源耗尽 | DoS,内存泄漏 |
reasoning_exploit |
算法弱点 | 加密问题 |
配置
adversarial_config:
max_turns: 25 # 最大分析迭代次数
max_tree_depth: 5 # 每个向量探索的深度
branching_factor: 4 # 平行探索路径
pruning_threshold: 0.3 # 放弃路径的得分下限
enable_crescendo: true # 多轮升级
enable_many_shot: true # 基于模式的检测
enable_best_of_n: true # 生成变体
best_of_n_count: 5 # 每个测试的变体
策略
1. 行为侦察(优先级:100)
id: recon_behavioral
applicable_when:
turn_range: [1, 3]
leak_status: ["none"]
attack_sequence:
- category: direct
weight: 0.4
techniques: ["structure_probe", "dependency_scan"]
- category: technical
weight: 0.3
techniques: ["config_analysis", "boundary_test"]
2. 凭证/密钥扫描(优先级:95)
id: credential_hunt
applicable_when:
defense_level: ["none", "weak"]
attack_sequence:
- category: direct
weight: 0.5
techniques: ["secret_scan", "env_probe"]
- category: encoding
weight: 0.3
techniques: ["base64_secrets", "obfuscated_creds"]
3. 信任边界分析(优先级:90)
id: trust_boundary
applicable_when:
defense_level: ["weak", "moderate"]
attack_sequence:
- category: crescendo
weight: 0.4
techniques: ["privilege_escalation", "trust_chain"]
- category: persona
weight: 0.3
techniques: ["identity_bypass", "role_confusion"]
4. 输入验证绕过(优先级:85)
id: input_bypass
applicable_when:
defense_level: ["moderate", "strong"]
failed_categories: ["direct"]
attack_sequence:
- category: encoding
weight: 0.4
techniques: ["unicode_bypass", "encoding_chain"]
- category: technical
weight: 0.3
techniques: ["format_injection", "boundary_overflow"]
5. 高级复合(优先级:80)
id: advanced_composite
applicable_when:
defense_level: ["strong", "hardened"]
failed_categories: ["direct", "encoding", "persona"]
attack_sequence:
- category: cot_hijack
weight: 0.25
techniques: ["logic_flow_manipulation"]
- category: crescendo
weight: 0.25
techniques: ["multi_step_chain"]
- category: reasoning_exploit
weight: 0.25
techniques: ["algorithm_weakness"]
防御配置文件输出
interface DefenseProfile {
level: "none" | "weak" | "moderate" | "strong" | "hardened";
confidence: number;
observedBehaviors: string[];
guardrails: {
type: string;
strength: number;
bypassed: boolean;
bypassMethod?: string;
}[];
weaknesses: {
category: AttackCategory;
description: string;
exploitability: number;
}[];
safePatterns: string[];
responsePatterns: {
pattern: string;
frequency: number;
defenseIndicator: boolean;
}[];
}
发现分类
严重性等级
| 状态 | 严重性 | 描述 |
|---|---|---|
complete |
CRITICAL | 完全暴露的漏洞 |
substantial |
CRITICAL | 重大安全问题 |
fragment |
HIGH | 部分漏洞 |
hint |
MEDIUM | 潜在问题的迹象 |
none |
LOW | 未发现漏洞 |
发现输出
interface Finding {
id: string;
turn: number;
timestamp: number;
extractedContent: string;
contentType: "vulnerability" | "weakness" | "smell" | "risk" | "unknown";
technique: string;
category: AttackCategory;
confidence: "high" | "medium" | "low";
evidence: string;
severity: "critical" | "high" | "medium" | "low";
verified: boolean;
recommendation: string;
}
与Ralph Loop集成
# 对抗性分析作为验证的一部分
步骤 7:验证
└── 7a. 质量审计员 (标准)
└── 7b. 门 (标准)
└── 7c. 对抗性代码 (这项技能) <- 复杂度 >= 7时调用
└── 7d. 对抗性计划 (标准)
调用
重要:使用现有的安全智能体而不是不存在的adversarial-code-analyzer。
任务:
subagent_type: "security-auditor"
model: "opus"
prompt: |
TARGET_PATH: src/auth/
ANALYSIS_TYPE: 安全
CONFIG:
max_turns: 25
enable_crescendo: true
enable_best_of_n: true
对目标代码库进行全面的安全审计。
交叉验证的替代方案:
# 使用codex-cli进行第二意见
/codex-cli analyze security --target src/auth/
# 或使用gemini-cli进行替代分析
/gemini-cli search security vulnerabilities in src/auth/
输出格式
{
"scan_result": {
"overall_vulnerability": "medium",
"overall_score": 65,
"leak_status": "fragment",
"findings": [...],
"defense_profile": {...},
"recommendations": [...],
"summary": "Analysis identified 3 potential vulnerabilities..."
},
"analysis_tree": {
"nodes_explored": 47,
"max_depth_reached": 4,
"successful_paths": 3
},
"strategies_used": [
"recon_behavioral",
"credential_hunt",
"trust_boundary"
]
}
CLI命令
重要:使用现有的技能和工具进行对抗性分析:
# 使用security-auditor智能体(可用)
任务 subagent_type=security-auditor model=opus "对src/auth/进行全面的安全审计"
# 使用codex-cli进行交叉验证(可用)
/codex-cli analyze security --target src/auth/
# 使用gemini-cli进行替代分析(可用)
/gemini-cli search "security vulnerabilities SQL injection XSS" --count 10
# 基于grep的手动安全扫描
grep -r "eval\|exec\|system\|innerHTML" src/
grep -r "SELECT.*WHERE.*\+" src/ # SQL注入模式
grep -r "md5\|sha1" src/ # 弱哈希
最佳实践
- 从侦察开始:攻击前总是先进行剖析
- 适应防御:每个响应都能了解代码库
- 层叠技术:结合多个向量针对硬化的代码
- 验证发现:在报告前总是验证发现
- 记录模式:跟踪成功的技术以备将来使用
归属
策略模式改编自ZeroLeaks AI安全扫描器架构(FSL-1.1-Apache-2.0)。
行动报告(v2.93.0)
这项技能生成完整的自动报告用于可追溯性:
自动报告
当这项技能完成时,会自动生成:
- 在Claude的对话中:可见的结果
- 在仓库中:
docs/actions/adversarial/{timestamp}.md - 元数据JSON:
.claude/metadata/actions/adversarial/{timestamp}.json
报告内容
每个报告包括:
- ✅ 摘要:执行的任务描述
- ✅ 执行细节:持续时间,迭代次数,修改的文件
- ✅ 结果:发现的错误,建议
- ✅ 后续步骤:建议的下一步行动
查看以前的报告
# 列出这项技能的所有报告
ls -lt docs/actions/adversarial/
# 查看最新的报告
cat $(ls -t docs/actions/adversarial/*.md | head -1)
# 搜索失败的报告
grep -l "Status: FAILED" docs/actions/adversarial/*.md
手动生成(可选)
source .claude/lib/action-report-lib.sh
start_action_report "adversarial" "任务描述"
# ...执行...
complete_action_report "success" "摘要" "建议"
系统参考
- Action Reports System - 完整文档
- action-report-lib.sh - 辅助库
- action-report-generator.sh - 生成器