0xSoftBoi/anthropic-fellowship
GitHub: 0xSoftBoi/anthropic-fellowship
该项目是一个面向智能合约跨链桥及 DeFi 领域的 AI 辅助漏洞检测基准测试,旨在评估 LLM 在真实部署合约中发现安全缺陷的能力。
Stars: 0 | Forks: 0
# Anthropic Fellows 作品集
[](https://github.com/0xSoftBoi/anthropic-fellowship/actions/workflows/ci.yml)
[]()
[]()
[]()
[]()
[]()
[]()
## 🎯 当前重点:多领域漏洞检测
**核心问题:** 带有工具使用循环的 LLM 能否发现基于模式的静态分析所遗漏的*真实*部署合约中的漏洞?**BRIDGE-bench** 是为回答这一问题而构建的基准测试 —— 包含跨跨链桥、DEX 和借贷领域的真实且经过验证的链上源码,并通过精确字符串匹配和 LLM-judge 进行评分。
### 实测结果(Opus 4.8,2026 年 6 月 — 24 个已验证合约,3 个领域)
| 领域 | 合约数 | 字符串匹配 F1 | **语义 F1** | Recall |
|--------|-----------|-----------------|-----------------|--------|
| 跨链桥 | 16 | 4% | **37%** | 56% |
| DEX/AMM | 5 | 7% | **21%** | 38% |
| 借贷 | 3 | 0% | **40%** | 62% |
| **三个领域总计** | **24** | **4%** | **35%** | **54%** |
```
xychart-beta
title "Opus 4.8 F1 by domain — semantic judge (bars) vs string-match baseline (line)"
x-axis ["Bridges", "DEX/AMM", "Lending", "All 24"]
y-axis "F1 (%)" 0 --> 60
bar [37, 21, 40, 35]
line [4, 7, 0, 4]
```
静态/字符串匹配的基线 F1 约为 4%;Opus 4.8 在语义上达到了 **35% F1 / 54% recall** —— 在相同的源码下提升了约 9 倍,且在所有三个领域中均保持稳定。精确字符串匹配器掩盖了这一点,因为模型编写的是*复合型*发现名称;而 LLM-judge —— 其本身在与人工标注的黄金标准对比时已**验证达到 92% precision / Cohen's κ = 0.54** —— 恢复了真实的信号。两个值得注意的模型发现:**Fable 5 完全拒绝**了该任务(`stop_reason: refusal`),且较新的模型会拒绝 `temperature` 参数。(DEX + 借贷计算开销:$16.29,已限制预算。)
## 🔍 严谨性体现在哪里
**1. 真实且经过验证的源码。** 涵盖三个领域的 24 个合约,每个均从 Blockscout/Sourcify 获取,并在链上确认了地址 —— 而非合成代码片段。
**2. 双轴评分。** 包含精确字符串 F1 *和* LLM-judge 语义 F1,因此“正确命名了漏洞”与“以标签期望的方式命名”之间的差距是被度量出来的,而非被隐藏。
**3. 评判器已经过验证。** 针对冻结的 38 单元人工标注黄金标准进行了校准(92% precision,97% 运行间稳定性)—— 语义数值附带了明确的误差特征。
**4. 数据质量经过审计。** 一次事后的深度审计捕获了错误标记的漏洞(不存在的事件、被误称为代码 Bug 的市场事件),并且借贷数据集在报告任何 F1 之前,已根据经过验证的源码漏洞进行了*重构*。
## 📁 项目
### AI 安全:多领域漏洞检测
**主研究路径**
```
cd ai-security
python3 -m venv .venv && source .venv/bin/activate # Python 3.10+
pip install -r requirements.txt
export ANTHROPIC_API_KEY=sk-ant-...
# 静态 baseline(免费,无需 API)
python3 -m agents.benchmark_runner --real
# Agentic 运行 — 选择模型;非默认模型将结果写入 results_real__.json
BENCH_MODEL=opus python3 -m agents.benchmark_runner --real --agentic
# 其他 domains,然后进行语义重新评分 + 验证 judge(不重新运行模型)
BENCH_MODEL=opus python3 -m agents.benchmark_runner --defi --lending --agentic
python3 -m agents.semantic_rescorer results_real__claude-opus-4-8.json
python3 -m agents.validate_judge
```
**关键文件:**
- `agents/agentic_analyzer.py` — 带有工具循环的多轮 LLM 推理
- `agents/static_analyzer_v2.py` — 基于模式匹配的基线(无需 API)
- `agents/semantic_rescorer.py` — 根据保存的发现结果计算 LLM-as-judge 语义 F1
- `agents/validate_judge.py` — 评判器与黄金标准的校准
- `benchmarks/{bridge,defi,lending}_contracts_real.py` — 数据集(16 / 5 / 3 已提交至源码库)
- `benchmarks/judge_gold_standard.json` — 38 项人工标注的评判器决策
**文档:**
- **[ai-security/README](./ai-security/README.md)** — 结果、快速入门、客观的局限性说明
- **[研究深入解析](./ai-security/docs/RESEARCH.md)** — 方法论,第 4–7 阶段
- **[数据质量审计](./ai-security/docs/DATA_QUALITY.md)** — DEX/借贷标签修正
### 机制可解释性:复刻作品集
**能力展示路径**
使用 TransformerLens 复刻已知的机制可解释性结果的 5 项实验:
| # | 实验 | 模型 | 输出 |
|---|-----------|--------|--------|
| 01 | 事实查找定位 | GPT-2, Pythia | 识别模型存储事实的位置 |
| 02 | Multi-token patching 修正 | GPT-2 | 修正先前工作中的方法论错误 |
| 03 | 跨模型复刻 | GPT-2 & Pythia | 跨模型家族验证 |
| 04 | 否定处理分析 | Pythia | 为已知现象增加机制细节 |
| 05 | 跨模型否定 | GPT-2 & Pythia | 系统性测试 |
```
cd mech-interp
pip install -r requirements.txt
jupyter notebook
```
**详见:** `mech-interp/writeups/` 中的 Alignment Forum 草稿
## 🏗️ 项目结构
```
anthropic-fellowship/
├── ai-security/ # BRIDGE-bench + Multi-domain detection
│ ├── agents/
│ │ ├── hybrid_analyzer.py # ⭐ Recommended: Multi-tool + Sonnet
│ │ ├── agentic_analyzer.py # Full reasoning (expensive)
│ │ ├── static_analyzer_v2.py # Baseline (free)
│ │ └── benchmark_runner.py # Run all approaches
│ ├── benchmarks/
│ │ ├── bridge_contracts_real.py # 10 bridge exploits
│ │ ├── defi_contracts_real.py # 5 DEX contracts
│ │ ├── lending_contracts_real.py # 3 lending contracts
│ │ └── fetch_contracts.py # Etherscan multichain fetcher
│ ├── docs/
│ │ ├── RESEARCH.md # Detailed research + charts
│ │ ├── PHASE4_RESULTS.md # Bridge results
│ │ ├── PHASE3_STATUS.md # Static baseline
│ │ └── INDEX.md # Documentation navigation
│ └── requirements.txt
│
├── mech-interp/ # TransformerLens replication suite
│ ├── experiments/ # 5 Python scripts
│ ├── notebooks/ # TransformerLens starter
│ ├── writeups/ # Alignment Forum drafts
│ └── requirements.txt
│
├── applications/ # Fellowship application
├── reading-notes/ # Paper templates
├── Makefile # One-command operations
├── SPRINT.md # Week-by-week progress
└── README.md # This file
```
## 📊 进度面板
### 阶段状态(2026 年第一季度)
| 阶段 | 标题 | 状态 | 完成情况 |
|-------|-------|--------|------------|
| **4** | 跨链桥验证 | ✅ 完成 | 10 个漏洞,Sonnet 表现优于静态分析 |
| **5A** | 扩展 Ground Truth | ✅ 完成 | 扩展了 Nomad/Socket 漏洞 |
| **5B** | DEX 多领域 | 🔄 进行中 | 5 个合约,基础设施已就绪 |
| **5C** | 借贷泛化 | 🔄 进行中 | 3 个合约,数据集已准备就绪 |
| **6** | 混合流水线 | ✅ 完成 | 多工具共识 + Sonnet |
| **7** | 源码覆盖率 | ⏳ 待定 | 获取缺失的 7 个跨链桥源码 |
**下一个里程碑:** 运行 5B/5C 阶段的基准测试,以证明多领域泛化能力。
## 🚀 环境要求
- Python 3.10+
- `ANTHROPIC_API_KEY`(来自 [console.anthropic.com](https://console.anthropic.com))
- `ETHERSCAN_API_KEY`(从 [etherscan.io](https://etherscan.io/apis) 免费获取)
- 可选:用于合约编译的 [Foundry](https://book.getfoundry.sh/)
## 📚 关键洞察
1. **静态分析在组合性上存在缺陷** — 无法追踪多步骤攻击
2. **Ground truth 方法论至关重要** — 从以漏洞为中心扩展到以审计为中心
3. **预过滤减少了 90% 的误报** — 多工具共识缩小了 LLM 的范围
4. **上下文优化至关重要** — 结构化摘要(约 280 字符)对比原始代码(约 2000 字符)
5. **无需重新训练领域模型** — 相同的 prompt 适用于跨链桥、DEX、借贷
## 📖 参考资料
### 基准测试与数据集
- **[DefiHackLabs](https://github.com/SunWeb3Sec/DeFiHackLabs)** — 真实漏洞数据库(所有合约数据的来源)
- **[SCONE-bench](https://github.com/safety-research/SCONE-bench)** — 先前研究:“AI 能否攻破合约?” (Xiao & Killian, 2026)
### 相关工作
- **[EVMbench](https://arxiv.org/html/2603.04915v1)** — EVM 字节码漏洞检测
- **[TransformerLens](https://github.com/TransformerLensOrg/TransformerLens)** — 机制可解释性工具包
### 申请
- **[Anthropic 安全学者](https://constellation.fillout.com/anthropicsecurityfellows)** — Fellowship 项目
## 📄 许可证
MIT — 详见 LICENSE 文件
**最后更新:** 2026 年 4 月 7 日
**代码库:** 活跃研究进行中
**阶段状态:** 6 已完成,5B/5C 进行中,7 待定
标签:NoSQL, 人工智能, 区块链, 智能合约, 用户模式Hook绕过, 逆向工具