在发现到达客户之前对其进行验证的盲审同行评审流程。独立的专家视角评估该发现,相互盲审,并由一名主席综合出一个经过审查的裁决——是否值得报告,以及严重性是否校准?
两种运行方式:
| 模式 | 位置 | 说明 |
|---|---|---|
| 手动主席 | claude.ai / Claude 应用聊天 | 一个 Claude 独立推理每个视角,然后综合。零成本,无需密钥。 |
| 并行(跨供应商) | 你机器上的 Claude Code | council_direct.py 将视角分散到 Claude + ChatGPT + Gemini 进行真正的并发调用。消耗提供商令牌。捕捉单个供应商共有的盲点。 |
此仓库是事实来源。在这里编辑,用 git 提交。Claude 项目知识库是只读镜像——当文件发生实质变化时重新上传更改的文件。不要双向同步。
llm-council-vapt/
├── README.md # 本文件
├── requirements.txt # python 依赖
├── .env.template # 密钥名称,无值
├── .gitignore # 忽略 .env(密钥永不提交)
├── skills/
│ └── llm-council/
│ └── SKILL.md # 技能(8 个成员,协议,模式)
├── scripts/
│ └── council_direct.py # 并行跨供应商引擎
└── docs/
└── project_system_prompt.md # 粘贴到 Claude 项目设置中
# 1. 克隆 / 放置仓库
git clone <your-repo-url> llm-council-vapt
cd llm-council-vapt
# 2. 使技能可被 Claude Code 发现(符号链接,这样编辑保持实时)
mkdir -p ~/.claude/skills
ln -s ~/llm-council-vapt/skills/llm-council ~/.claude/skills/llm-council
# 3. 密钥
cp .env.template .env
nano .env # 粘贴三个密钥,保存
编辑 .env 并添加你的 Anthropic、OpenAI 和 Google API 密钥。
保持依赖与系统 Python 隔离。
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements.txt
注意(Kali / Debian 系列系统): PEP 668 默认阻止系统范围
pip install。如果遇到externally-managed-environment,请使用选项 A 或强制安装:pip install -r requirements.txt --break-system-packages
python scripts/council_direct.py --help
ls -l ~/.claude/skills/llm-council/SKILL.md # 应通过符号链接解析
如果两者都运行干净,你就准备好了。
查看 docs/USAGE.md 获取完整命令参考(每个标志、每种模式、所有示例)。
只需输入一个命令——无需密钥,无需脚本:
/llm-council -q -u # 快速,上传文件
/llm-council medium validation -p # 中等,粘贴内容
/llm-council -f -u -v2 -s high # 完整,上传,版本 2,验证 High 声明
标志:模式 -q|-m|-f(或 quick|medium|full validation),输入 -u(上传) / -p(粘贴),版本 -vN,严重性 -s low|medium|high|critical。
python3 scripts/council_direct.py \
--mode full \
--finding ./finding.md \
--severity high \
--version 2 \
--finding-id <YOUR-FINDING-ID> \
--project <PREFIX> > council_run.json
--finding 接受文件路径或原始文本。脚本打印 JSON(评估 + 盲排名 + 汇总 + 任何失败)。然后要求 Claude Code 读取 council_run.json 并运行委员会的第 3 阶段(主席综合)以生成最终裁决。
quick (-q) → Red-teamer · CVSS Auditor · Evidence Auditor (3)
medium (-m) → + Attack Chain Analyst · Remediation Critic (5)
full (-f) → + Threat Intel Analyst · False Negative Hunter ·
Business Impact Translator (8)
快速 = 参与期间的快速合理性检查。中等 = 你打算报告的发现。完整 = 交付前门;高/关键发现默认使用。
已验证至官方提供商文档(2026 年 6 月)。非永久——当提供商发布新旗舰时更新 scripts/council_direct.py 顶部的 MODELS。
| 席位 | 提供商 | 模型 ID | 密钥 |
|---|---|---|---|
| Claude | Anthropic | claude-opus-4-8 | ANTHROPIC_API_KEY |
| ChatGPT | OpenAI | gpt-5.5 | OPENAI_API_KEY |
| Gemini | gemini-3.1-pro-preview | GEMINI_API_KEY |
.env 被 git 忽略。 真实密钥永不提交。首次 git add 前用 git status 验证——.env 不得出现。python-dotenv 从环境中读取。它们从不写入日志或输出 JSON。脚本直接读取基于文本的发现:.md、.txt、.json、.csv、.yaml 或内联传递的原始文本。二进制/文档格式(.pdf、.docx、.xlsx 等)不受支持——脚本检测到它们并退出,并提示你先转换为 .md/.txt。由于发现是用 Markdown 编写的,这通常不是问题。
在完整/中等模式下,攻击链分析器可以考虑同级发现:
--findings-dir <path> —— 要扫描的目录(默认为发现文件自身的目录)。--project <prefix> —— 可选的文件名前缀标签,用于过滤哪些同级被视为相关。如果省略,则考虑所有可读文本同级。标签在运行时提供;没有客户名称或前缀被硬编码到代码中。将你的真实发现文件放在此仓库之外(你机器上的任何位置)。每次运行时将 --findings-dir 指向该位置。
由 Holiday 构建