Keyvanhardani/mythos-research
GitHub: Keyvanhardani/mythos-research
对 Anthropic Project Glasswing 的开源复现,基于 Claude Opus 4.7 构建八阶段代理式漏洞发现流水线,单次运行成本不到两美元。
Stars: 8 | Forks: 5
Mythos 研究版
## 什么是 Mythos 预览版?
在 2026 年 4 月,Anthropic 发布了 [`claude-mythos-preview`](https://red.anthropic.com/2026/mythos-preview/),
这是一个专为自主网络安全工作训练的模型检查点——涵盖漏洞发现、
补丁生成、黑盒二进制分析以及长期运行的攻击性安全代理。
其配套项目 [Project Glasswing](https://www.anthropic.com/glasswing) 将
该模型与关键软件维护者配对,以便在这些能力落入攻击者手中之前发现并披露漏洞。Anthropic 公布的 Glasswing 数据显示,单次运行成本在 **$20 – $50** 范围内,
并且报告称在 OpenBSD 和 CyberGym 基准测试上相对于通用基线取得了显著提升。
Mythos 预览版为**仅限邀请**。访问权限仅开放给大约 40 个构建或维护关键软件的组织,
通过现有的 Anthropic / AWS Bedrock / Google Vertex AI 合作关系分发。Anthropic 目前没有公开发布的计划。
该模型本身配有一个相对简单的代理*脚手架*——包括语言检测、
汇点切片、文件排名、自主搜寻器、怀疑性验证器,以及(在实时环境中)一个漏洞利用验证阶段。
## Mythos 研究版是什么
本仓库是该项目**脚手架部分由外向内复现**的实现。
我们无法获取专门的模型检查点,因此发现流水线运行在
[`claude-opus-4-7`](https://github.com/anthropics/claude-code) 上——这是 Anthropic 公开可用的最强
通用模型——通过 [Claude Code CLI](https://github.com/anthropics/claude-code) 调用。
这次复现提出了一个具体问题:
经验性的答案总结为:**对于发现阶段来说是的,对于实时漏洞利用开发则部分可行,并且单次运行成本大约降低 25–50 倍**。最繁重的漏洞利用开发任务——堆喷射、CTF 级别的漏洞链、纯二进制分析——仍然更适合专门的检查点。而发现、排名、怀疑性验证和分类阶段则不然。
## 这不是什么
简而言之,有几点:
- **不是一种新颖的方法论。** 基于汇点的切片技术可追溯到 Semgrep / CodeQL / cppcheck / Coverity。代理搜寻模式是许多团队同期进行的工作,其核心与 Anthropic 在 Mythos 论文中描述的模式相同。本仓库的贡献在于提供了一个公开可运行的、端到端的模式实现,绑定到特定的公共前沿模型发布版本,任何人都可以克隆和复现。
- **不是同一个模型。** Mythos 预览版最强的已发布结果依赖于专门的检查点。通用模型在较繁重的漏洞利用开发阶段明显较弱;但在发现和分类阶段则*不*明显较弱。
- **不是一键漏洞利用框架。** 根据协同披露规范,第五阶段的实时执行验证器和单次运行的 PoC 生成器未包含在公开仓库中。接口是公开的;实现则不然。
- **不是企业级漏洞管理平台。** Mythos 是按项目划分的、命令行驱动的、单租户的。它没有调度器,没有集群管理器,没有多租户仪表盘,没有自动修复,也没有 MSP/MSSP 集成。
## Mythos 预览版 vs Mythos 研究版
| | **Anthropic Mythos 预览版** | **本项:Mythos 研究版** |
|---|---|---|
| 模型 | `claude-mythos-preview`(专门检查点) | `claude-opus-4-7`(通用) |
| 访问权限 | 仅限邀请白名单(约 40 个组织) | 公开,Apache 2.0 |
| 脚手架 | 内部维护 | 开源(本仓库) |
| 实时漏洞利用开发 | 完整流水线 | 第五阶段接口公开,验证器保持私有 |
| 默认扫描范围 | 1000 文件项目(根据已发布的 Glasswing 运行数据) | 针对性扫描(默认 ≤ 10 个文件;可配置) |
| 单次运行成本 | $20 – $50(根据已发布的 Glasswing 数据) | $0.30 – $1.50 |
| 最适用途 | 白名单内的关键基础设施 CVD | OSS 自我审计、学术复现、独立研究人员 |
| 状态(2026 年 5 月) | 保持私有;无申请表 | 现已可用,Apache-2.0,任何拥有 Claude API 密钥的人均可运行 |
## 它适用于什么
- **OSS 维护者在发布前进行自检。** 一个使用 `--max-files 8 --pass-at-k 3` 的仓库范围扫描通常只需不到 $2 即可完成,并能在一个中小型库中产生 1-3 个真实的候选发现。
- **学术上对 Mythos 脚手架的复现。** 各阶段均有文档记录,提示已版本化,流水线在模型温度设定内是确定性的,并且 `dist/` 和 `paper/` 中提供了可供发表的 PDF + LaTeX 源码。计算成本足够低廉,可在论文章节级别进行重复实验。
- **无法进入 Glasswing 白名单的独立研究人员的协同披露工作。** 研究版已被用于已发表的 CVD 工作中,在多个 OSS 项目中促成了多个 CVE 和 GitHub 安全公告(参见作者的 [ORCID 主页](https://orcid.org/0009-0000-6003-8826) 和 [Wordfence Threat Intel 研究员主页](https://www.wordfence.com/threat-intel/vulnerabilities/researchers/keyvan-hardani))。
## 它*不*适用于什么
- **针对具有现代缓解措施的编译二进制文件的繁重漏洞利用开发工作。** 通用模型能*发现*漏洞;但将一个原语转化为可靠武器化的漏洞链,则是专门检查点拉开差距的地方。
- **大规模扫描 / 托管服务工作流。** Mythos 是按项目划分、终端驱动的。如果你需要一个带有租户仪表盘和自动补丁的 MSP 级平台,这个仓库并不适合。
- **黑盒或纯二进制目标。** 该流水线假定拥有源代码访问权限。剥离符号的二进制文件超出了适用范围。
## 部署记录(定性)
到目前为止,在操作员的协同披露工作中,该流水线在每一个被审计的目标上都至少产生了一个经确认的候选发现。目标记录涵盖了 C/C++、Python、PHP、JavaScript/TypeScript 中的 OSS 库;嵌入式固件代码库;Linux 内核侧模块;PHP/Node 服务器应用程序;以及在操作员授权下审计的 Web 应用程序目标。为了符合协同披露规范,此处刻意不列举具体项目、公告标识符和发现细节;公开记录可在 [Wordfence Threat Intel 研究员主页](https://www.wordfence.com/threat-intel/vulnerabilities/researchers/keyvan-hardani)、操作员的 [ORCID 主页](https://orcid.org/0009-0000-6003-8826) 上找到,并随着禁令解除在仓库的 `disclosures/` 目录中公布。
这被报告为定性观察结果,而非受控的命中率:操作员 CVD 工作流中的目标选择并非随机的,并且脚手架的设计通过文件排名阶段偏向于高产项目。可以善意声称的是,迄今为止在部署记录中,该流水线从未在任何被审计的目标上返回过空报告,这一结论在上述列出的语言族和目标类型中具有普适性,并且发现的产出率足够稳健,以至于操作员的 CVD 工作流默认将公共脚手架用作发现阶段。
## 保留为私有的扩展(不在本仓库中)
研究版是一个更大工具链中公开的、以发现为先的子集。保留为私有的扩展负责将发现的候选发现转化为确凿的公告——它也是操作员发布的 CVE 和安全公告与公共研究版结合运行的基础。以下阶段在此记录是为了能力主张的可复现性。**协调器脚本、提示以及针对各平台的漏洞利用开发模式未公开发布。**
| 阶段 | 能力 |
|---|---|
| **5a — 执行原语标记** | 将每个发现映射到一个可达原语:任意读取、受控写入、控制流劫持、身份验证绕过、SQL 数据转储、路径遍历、内部 SSRF。 |
| **5b — 漏洞链构建** | 将原语组合以实现具体的能力目标:预认证 RCE、提权、沙箱逃逸。 |
| **5c — 可靠性测试** | 每条漏洞链运行 N 次独立试验;输出 `RELIABLE / FLAKY / UNRELIABLE`。 |
| **5d — 缓解措施枚举** | 针对各操作系统、各缓解措施 (ASLR, DEP, CFI/CFG, PatchGuard, HVCI, PAC/PPL, AMFI/SIP, KASLR, SMEP, SMAP, PTI, stack-protector 变体) 进行枚举,以校准严重性。 |
| **5e — 沙箱逃逸模式** | 渲染器到代理、容器到宿主机、jail 到宿主机、seccomp-filter 滥用、容器运行时描述符泄露模式。 |
| **5p — 平台漏洞利用调度器** | 针对各平台(Web、Windows、macOS、移动端、网络、内核)的漏洞利用开发模式,由基于 Kali 的临时分析沙箱提供支持。 |
| **R — 侦察** | 可选的广度枚举,仅在操作员的 CVD 授权明确扩展到外部攻击面时使用。 |
这些扩展根据协同披露规范,被刻意从公开成果中省略——以保持本仓库作为一个*研究脚手架*,而不是一个一键攻击性框架。在明确的研究合作条款下,可以对保留为私有的扩展进行实质性合作;如果您的工作属于该范围,请联系操作员。
## 流水线
当前默认(`scripts/mythos-v4.sh`)运行八个阶段。阶段 0–4、6 和 7 在此版本中开放。**阶段 5(实时执行验证)保持私有且未包含——参见[范围](#scope)。** v3.1(`scripts/mythos-v3.sh`)仍作为原始报告中使用的七阶段后备方案提供。
- **阶段 0 — 语言检测。** 目标树的主要语言 → 选择特定于语言的*漏洞语义提示*(`prompts/vsp-
.md`)。
- **阶段 1 — 汇点引导切片。** 使用特定于语言的汇点目录(`scripts/lib/sinks/*.txt`)对目标进行 ripgrep,生成包含 `{category, pattern, file, line, snippet}` 命中的 NDJSON。
- **阶段 2 — 文件排名。** 文件根据汇点类别密度进行分级。高收益类别(反序列化、code-eval、SQL 注入、原型污染、XXE、框架易错点、过滤器缺陷、浏览器 API 易错点)占主导地位;匹配项全部在 `SAFE_*` 变体中的文件会被降级。
- **阶段 2.5 — 构建沙箱** *(v4)*。 `lib/build-sandbox.sh` 准备一个每次扫描专用的临时目录,并编译目标(C/C++ 启用 ASan,Python 使用 venv + pip,Node 使用 npm install)。搜寻器在临时目录内获得限定范围的 Bash + Edit + Write 权限,以及对源码树的只读访问权限。使用 `--no-build-sandbox` 跳过。
- **阶段 3 — 代理搜寻。** 每个最高排名的文件对应一个 Claude-Code 子代理,并行执行。在 v4 中,搜寻器简报(`prompts/hunter-agent-live.md`)指示代理针对实时构建测试假设,而不是静态跟踪。v4 还公开了 `--prompt-style minimal`(`prompts/hunter-agent-minimal.md`),用于与 Mythos 预览版风格的最小化提示进行 A/B 测试。
- **阶段 3.5 — 对抗性自我挑战** *(v4)*。 每个发现被反馈给一个带有 `prompts/self-challenge.md` 的新代理,要求提供最强有力的反驳论据。标记为 `ADVERSE` 的发现会在验证前被丢弃。使用 `--no-self-challenge` 跳过。
- **阶段 4 — 怀疑性验证。** 第二遍验证代理以显式的*怀疑性审查者*视角重新阅读源代码和发现。在 v4 中,验证器从 `dismissals/.json` 预加载跨会话的误报记忆,因此相同的误报不会在不同运行中重复标记。输出:`CONFIRMED | FALSE_POSITIVE | DOWNGRADED | NEEDS_MORE_INFO`。
- **阶段 6 — 汇总。** 包含严重性细分、各阶段成本遥测以及每个发现的验证器结论的 JSON 摘要。
- **阶段 7 — 误报记忆回写** *(v4)*。 将本次运行中的 `FALSE_POSITIVE` 和 `ADVERSE` 标记持久化到 `dismissals/.json`(通过 realpath SHA-256 按目标划分),以便未来针对同一目标的运行避免重复发现它们。
### 可选配套工具
- **`scripts/mythos-commit.sh` — SHA-3-256 承诺方案,用于未修补漏洞的责任归属。允许你现在发布一个哈希值并在稍后揭晓发现,这反映了已发表的 Mythos 论文中的模式。
- **`prompts/patch-gen.md`** — 给定一个发现,起草一个最小化正确修复的 git-applyable diff,以及一个在没有补丁时会失败的回归测试。
- **`prompts/disclosure-writeup.md`** — 按渠道(GHSA、HackerOne、CVE、Bugzilla、vendor-email、oss-security)提供供应商级别的报告模板。
- **`prompts/mitigation-map.md`**、**`prompts/reliability-test.md`** — 用于严重性校准和发现稳定性 QA 的防御性分析辅助工具。
## 单次运行成本
Mythos 目标扫描(≤ 10 个文件,每个搜寻器 `--budget 3.00`)在 `claude-opus-4-7` 上的单次运行成本为 **$0.30 – $1.50**。Anthropic 公布的在 `claude-mythos-preview` 上的 Glasswing 运行成本在 **$20 – $50** 之间。差距主要在于范围(1000 个文件 vs 8 个)和模型选择(内部预览版 vs 通用)。对于自检单个 OSS 项目而言,较低的成本端已经足够。
## 多样性种子
Anthropic 的核心洞察是,从相同输入中采样多样化的轨迹可以显著增加漏洞发现的广度。Mythos v3 通过 **`--pass-at-k K`** 适应了这一点:每个文件进行 K 次独立的搜寻器运行,每次都使用不同的*关注提示*作为种子,该提示从 文件中存在的汇点类别、冗长的函数名(粗略的入口点启发式方法)以及输入标记(`@app.route`、`socket.on`、`req.body`)中提取。
经验表明:`K = 2..3` 可以在同一文件中捕获不同类别的发现,而不会使成本爆炸式增长。`K = 1` 是兼容 v2 的默认值。v4 将默认值提高到 `K = 3`,因为构建沙箱阶段已经在 K 次运行中摊销了缓存预热成本。
## 快速入门
```
# 1) clone
git clone https://github.com/Keyvanhardani/mythos-research.git
cd mythos-research
# 2) make sure Claude Code CLI is available
claude --version
# 3) v4 (default since v2.0) — eight-phase pipeline with build sandbox,
# self-challenge, and cross-session FP memory
bash scripts/mythos-v4.sh /path/to/target --max-files 8 --budget 3.00
# optional: minimal prompt style (Mythos-Preview-paper baseline for A/B)
bash scripts/mythos-v4.sh /path/to/target --prompt-style minimal
# optional: drop the build-sandbox phase (e.g. for languages without a build step)
bash scripts/mythos-v4.sh /path/to/target --no-build-sandbox
# optional: drop self-challenge (faster, ~25 % cheaper, more false positives)
bash scripts/mythos-v4.sh /path/to/target --no-self-challenge
# v3.1 fallback — seven-phase pipeline, no live tools, no FP memory.
# Used in the original Research Edition report.
bash scripts/mythos-v3.sh /path/to/target --max-files 8 --budget 3.00
```
报告存放在 `reports//summary.json` 和按文件划分的 `findings/` + `validated/` JSON 文件中。
## 适用范围
**本仓库包含在范围内:** 以发现为主的流水线、汇点目录、排名器、搜寻器与验证器提示、七阶段协调器、多样性种子驱动器,以及一个用于将经典静态分析与代理过程相结合的轻量级混合工具包装器。
**超出范围——保持私有:** 第五阶段的实时执行验证器(`exec-validator.sh` + 其提示)、漏洞利用草图阶段(`exploit-sketch.md`)、单次运行 PoC 生成器,以及在真实扫描期间积累的任何特定目标调优。这些保留在本仓库之外,以保持 Mythos 作为一个**研究脚手架**,而不是一个一键漏洞利用框架。
如果在 `mythos-v3.sh` 中引用了阶段 5,脚本会检测到缺失的 `exec-validator.sh` 并自动跳过它,同时给出清晰的提示——没有错误,不会半途而废。
## 负责任的披露
这是一个安全研究工具。预期用途为:
- OSS 维护者在发布前自检其项目
- 安全研究人员在获得授权审计的项目上运行 Mythos
- 学术界对 Anthropic 方法论的复现
如果 Mythos 发现了一个真实的漏洞,请遵循上游项目的协同披露流程。在供应商确认并修补之前,请**不要**发布 PoC。
详情请参见 [`SECURITY.md`](SECURITY.md)。
## 限制
- **汇点目录并不详尽。** 特别是 GLib / GObject / json-glib 家族在 `sinks/c-cpp.txt` 中尚未涵盖;欢迎提交 PR。
- **排名器偏向于体积小、汇点密度高的文件。** 超大文件(> 2500 行代码)目前会被跳过——这对于大型解析器文件来说是一个显著的缺口。
- **模型很重要。** `claude-opus-4-7` 是一个强大的通用模型,但在 Anthropic 的 Glasswing 报告中,最繁重的漏洞利用开发任务是在 `claude-mythos-preview` 上完成的,那是一个公开不可用的专门检查点。可以预期 Mythos 在*发现*方面比在*利用*方面做得更好。
- **尚无 Docker 隔离。** 搜寻器直接读取目标树;在本地针对不受信任的代码库运行需风险自负。
## 演变(版本历史)
Mythos 经历了四个脚手架迭代——为了教学参考,所有版本均已保留:
- **`scripts/archive/mythos-scan.sh`** — v1,原始主协调器。更简单,没有汇点切片器。
- **`scripts/archive/mythos-v2.sh`** — v2,增加了汇点切片 + 排名器 + 怀疑性验证器。
- **`scripts/mythos-v3.sh`** — v3(原始研究版报告的基础)。增加了单次运行的多样性种子、pass@k、各阶段成本遥测以及第五阶段接口(保持私有)。
- **`scripts/mythos-v4.sh`** — v4 / **自 v2.0 起的当前默认版本**。增加了阶段 2.5 构建沙箱、阶段 3 带有范围限定的 Bash/Edit/Write 的实时探索搜寻器、阶段 3.5 对抗性自我挑战、跨会话误报记忆以及阶段 7 驳回回写。配套的 `mythos-commit.sh` 增加了 SHA-3-256 发现承诺。
- **`scripts/archive/pass-at-k.sh`** — v2 时代的独立多样性驱动器;在 v3+ 中,这通过 `--pass-at-k K` 折叠到了主协调器中。
文本版本请参见 [`CHANGELOG.md`](CHANGELOG.md)。
## 致谢
Mythos 研究版是对 Anthropic 已发表研究的**由外向内复现**:
- **Project Glasswing** / `claude-mythos-preview` — Anthropic 的红队研究发布版,2026 年 4 月。[red.anthropic.com/2026/mythos-preview/](https://red.anthropic.com/2026/mythos-preview/)
汇点目录方法汲取了数十年的静态分析实践;代理搜寻器形态是许多团队同期进行的工作,其核心与 Anthropic 在其论文中描述的模式相同。
## 延伸阅读
- [`RESEARCH.md`](RESEARCH.md) — 完整的研究分析:Glasswing 究竟做了什么,基准差距,脚手架能和不能弥合什么,有效的提示技术,多代理模式。
- [`dist/Mythos-Research-Edition.pdf`](dist/Mythos-Research-Edition.pdf) — 可供发表的 PDF 报告。
- [`paper/`](paper/) — 适用于 arXiv 的 LaTeX 源码(`paper.tex` + `references.bib` + `Makefile`)。
- [`scripts/V3_DESIGN.md`](scripts/V3_DESIGN.md) — v3 设计文档(目标、相对于 v2 的增量变化、指标)。
## 引用
如果您在学术或专业工作中使用了 Mythos 研究版,请引用该报告和仓库。仓库根目录提供了一个机器可读的 `CITATION.cff`;GitHub 会据此渲染出一个“引用此仓库”按钮。建议的 BibTeX:
```
@techreport{hardani2026mythosResearch,
author = {Hardani, Keyvan},
title = {An Outside-In Replication of Project Glasswing: Mythos Research Edition},
institution = {Independent},
year = {2026},
month = apr,
doi = {10.5281/zenodo.19727857},
url = {https://doi.org/10.5281/zenodo.19727857},
note = {ORCID 0009-0000-6003-8826.
Concept DOI (always-latest). For version-specific citation:
10.5281/zenodo.20022293 (v2.0.0, current),
10.5281/zenodo.19727858 (v1.0.2).}
}
```
## 许可证
Apache 许可证 2.0。参见 [`LICENSE`](LICENSE)。
该许可证允许出于合法目的(包括商业用途)进行使用、修改和再分发。未经明确授权针对系统的使用超出了预期范围。对于在此脚手架帮助下发现的任何漏洞,预期应进行协同披露。
## 作者
**Keyvan Hardani** — 应用 AI 研究员 · 工程师。
[keyvan.ai](https://keyvan.ai) · [github.com/Keyvanhardani](https://github.com/Keyvanhardani) · [linkedin.com/in/keyvanhardani](https://linkedin.com/in/keyvanhardani) · ORCID [0009-0000-6003-8826](https://orcid.org/0009-0000-6003-8826) · [hello@keyvan.ai](mailto:hello@keyvan.ai)标签:AI安全, Anthropic, Chat Copilot, CISA项目, CIS基准, Claude, CVE检测, DevSecOps, DLL 劫持, DNS解析, offensive security, 上游代理, 二进制分析, 云安全运维, 人工智能, 协同披露, 大语言模型, 实时处理, 密码管理, 应用安全, 开源项目, 数据展示, 用户模式Hook绕过, 红队, 结构化查询, 网络安全, 自动化安全, 自动化渗透测试, 补丁生成, 隐私保护, 黑白盒测试