Franz23/red-team

GitHub: Franz23/red-team

一个 Claude Code slash command,通过将交易提案发送给 GPT-5.5 进行跨模型对抗性分析,帮助用户在发送提案前发现谈判弱点并优化策略。

Stars: 0 | Forks: 0

# /red-team — 针对 Claude Code 的对抗性交易分析 这是一个 Claude Code 的 slash command,它通过将你的提案和交易谈判发送给 GPT-5.5 来进行红队测试,其设定为 GPT 正在为交易的另一方提供建议。 ## 工作原理 当你在交易对话中运行 `/red-team` 时,Claude 会: 1. 从你的对话中**提取**交易背景(各方、条款、历史记录) 2. **剔除**所有内部策略——底价、放弃点、私密分析 3. 通过网络搜索**调研**交易对手(公司新闻、竞争格局) 4. **构建第一人称 prompt**,就像交易对手的谈判代表在寻求建议一样 5. **将其发送给 GPT-5.5** —— 这是一个独立的模型,它会收到一个买方顾问 prompt,且没有任何迹象表明自己正在被用于对抗性分析 6. **返回** GPT 的对抗性反馈以及 Claude 的漏洞分析 GPT-5.5 会收到一个正常的买方顾问 prompt:一条包含模拟买方角色、公司记忆和已检索背景的 system message,以及一条包含正在测试的卖方提案的 user message。它不会收到任何关于红队测试、模拟或“另一方”的提示。这种跨模型设定至关重要:GPT 带来了与 Claude 不同的先验认知,因此对抗性覆盖比要求 Claude 自我进行红队测试要敏锐得多。 ### 多轮对话支持 在添加了新背景后(例如,“他们提出了还价”),再次运行 `/red-team`,GPT 会自然地继续对话,就像交易对手的谈判代表在向其顾问通报最新进展一样。 ## 示例 我最近在一笔交易中使用了这个方法,当时我们正在为客户实例界定定价范围。我将通话记录和提案草稿载入 Claude 并运行了 `/red-team`。 GPT-5.5 对一个被我一带而过的背景信息提出了质疑:该客户在接下来的 9 个月内仍在组建他们的团队——在那之前他们无法达到全面的运营规模。这在一次通话中被简略提及过。我虽然记下了这一点,但它并没有影响我的想法。而我们的定价却假设他们从第一天起就已经满负荷运营了。 结果:我将提案重写为分阶段推出——在他们的组建期提供折扣费率,随着他们达到规模而逐步提高。这符合他们的实际情况,而不是我的主观意愿。如果没有进行红队测试,我就会发送原始版本,他们会在价格上提出异议,而我们最终会在一个更糟糕的锚点下,谈判得出一个更差的结果。 其价值并不在于 GPT 比 Claude 更聪明。而在于 GPT 在阅读载入的背景信息时是全新的,对你已经确定的框架没有任何先入为主的承诺。它能捕捉到那些你一扫而过的细节。 ## 数据与隐私 在将其应用于真实交易之前,你应该仔细阅读本节内容。 **数据去向。** 当你运行 `/red-team` 时,构建的买方顾问 prompt 会被发送到 **OpenAI 的 API** (GPT-5.5)。该 prompt 包含由 Claude 组装的、对买方可见的交易背景——提案条款、交易对手名称、谈判历史记录,以及 Claude 收集的任何研究信息。根据 [OpenAI 的 API 数据政策](https://platform.openai.com/docs/models/how-we-use-your-data),API 数据默认不用于训练模型,并且为了防止滥用会保留最多 30 天,随后即被删除。 **绝不会离开你设备的数据。** 阶段 2 (STRIP) 会明确移除底价、放弃点、内部策略、对交易对手立场的私密分析,以及任何尚未与另一方共享的内容。Claude 会在发送前向你展示它剔除了哪些内容。 **状态文件是磁盘上的纯文本。** 多轮对话的连续性默认存储在 `~/.claude/red-team-state/latest.json` 中,或者在使用 `--state-key` 时存储在指定的状态文件中。该状态包含发送给 GPT-5.5 的已构建 prompt 及其完整回复。这仅在本地保存,绝不会同步,但在对敏感交易进行红队测试后,请删除相关文件或清空该目录。 **值得注意的注意事项。** - STRIP 是由 LLM 执行的尽力而为的过滤器,并非绝对保证。如果交易敏感,请在 Claude 调用 API 之前审查构建好的 prompt。 - 如果你受制于禁止将交易对手信息发送给第三方 AI 提供商的 NDA,请不要使用此功能——或者在载入背景之前对交易对手进行匿名化处理(用占位符替换公司名称和识别细节)。 - 不要粘贴包含享有合法保密特权材料、源代码、客户 PII 或受 HIPAA / GDPR 特殊类别保护的任何内容的原始合同。请改用总结的形式。 如果有疑问:先进行匿名化处理,然后再进行红队测试。 ## 前置条件 - 已安装 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) - Python 3.9+ - OpenAI API 密钥(用于调用 GPT-5.5) ## 安装说明 ``` git clone https://github.com/Franz23/red-team.git cd red-team chmod +x install.sh ./install.sh ``` 安装脚本会: - 将 command 和 script 复制到 `~/.claude/` - 在 `~/.claude/red-team-venv/` 创建一个专用的 venv,并将 `openai` 安装到其中(避免在 Homebrew Python 上出现 PEP 668 / “externally-managed-environment” 错误) - 将权限合并到你现有的 `settings.local.json` 中(不会覆盖你的其他设置) - 检查 `OPENAI_API_KEY` 如果你尚未设置 OpenAI 密钥: ``` echo 'export OPENAI_API_KEY=sk-...' >> ~/.zshrc ``` **在 macOS 上,首选 Keychain。** Shell 环境变量导出会泄露到你启动的每个进程中。更安全的模式是: ``` security add-generic-password -s "openai-api-key" -a "$USER" -w "sk-..." -U # 然后在 ~/.zshrc 中: export OPENAI_API_KEY="$(security find-generic-password -s 'openai-api-key' -a "$USER" -w 2>/dev/null)" ``` ### 选择其他模型 该脚本默认使用 **GPT-5.5**。要使用不同的 OpenAI 模型(例如,为了更快/更便宜的迭代使用 `gpt-5.5-instant`,或未来的模型),请设置 `RED_TEAM_MODEL`: ``` export RED_TEAM_MODEL=gpt-5.5-instant ``` ### 避免交易之间的状态渗透 默认情况下,后续模式使用 `~/.claude/red-team-state/latest.json`。对于并行评估或重复的变体,请传入指定的状态键: ``` ~/.claude/red-team-venv/bin/python3 ~/.claude/scripts/red-team-api.py --state-key acme-carry-r1 < /tmp/red-team-prompt.json ``` ## 运行说明 **红队测试的质量与你对话中包含的交易背景信息量成正比。** 在运行命令之前载入所有信息——Claude 知道的越多,对抗性响应就会越真实、越有用。 在运行 `/red-team` 之前,请向对话中输入以下信息: - 与交易对手发送和接收的电子邮件 - 提案、SOW、合同(让 Claude 阅读这些文件) - 通话记录或转录文本 - 内部战略文档(Claude 在发送给 GPT 之前会剥离这些信息——它们有助于 Claude 了解你的立场,但绝不会泄露) - 定价讨论、条款清单、还价 - 关于对另一方而言什么才是重要的任何背景信息 然后: 1. 运行 `/red-team Acme Corp`(或任何交易对手的名称) 2. Claude 会提取背景、剥离内部策略、研究交易对手,并将构建好的 prompt 发送给 GPT-5.5 3. 你将获得 GPT 的对抗性建议 + Claude 的漏洞总结 ### 迭代你的提案 此功能专为您来我往的博弈而设计。在第一次红队测试之后: 1. 阅读 GPT 的反馈 2. 根据你了解到的信息修改你的提案、还价或电子邮件 3. 在对话中分享更新后的版本 4. 再次运行 `/red-team` GPT 会从上次中断的地方继续——它认为这是同一位谈判代表回来说“他们修改了报价,这是新版本”。每一轮都会对你最新的立场进行压力测试,以便你在发送前进一步完善它。 ## 已安装内容 ``` ~/.claude/ ├── commands/ │ └── red-team.md # The slash command (Claude's instructions) ├── scripts/ │ └── red-team-api.py # Python script that calls GPT-5.5 ├── red-team-venv/ # Isolated venv with the openai SDK └── red-team-state/ └── latest.json # Conversation state for multi-turn (auto-created) ``` ## 卸载说明 ``` rm ~/.claude/commands/red-team.md rm ~/.claude/scripts/red-team-api.py rm -rf ~/.claude/red-team-state rm -rf ~/.claude/red-team-venv ``` 然后从 `~/.claude/settings.local.json` 中移除 `Skill(red-team)`、`SlashCommand(/red-team)` 和 `Bash(zsh -i -c '~/.claude/red-team-venv/bin/python3 ~/.claude/scripts/red-team-api.py...':*)` 条目。
标签:AI辅助决策, Claude扩展, Cutter, DLL 劫持, Petitpotam, 商业谈判, 大语言模型, 跨模型分析, 逆向工具