exocognosis/openmythos
GitHub: exocognosis/openmythos
一款本地离线运行的 Apple Silicon 优化漏洞扫描器,结合传统静态分析与 LLM 推理实现智能检测与修复建议。
Stars: 0 | Forks: 0
# 🜏 OpenMythos v5
**一款本地化、离线运行的 Apple Silicon 优化漏洞扫描器,具备真实检测、本地 LLM 推理能力,以及一个循环深度 Transformer 分诊大脑。**
[](LICENSE)
[](https://www.python.org)
[](https://pytorch.org)
[](https://github.com/ml-explore/mlx)
[](#how-it-works)
OpenMythos 能发现**真实的漏洞**,利用一个**完全在您机器上运行**的代码 LLM 对每个漏洞进行推理分析,并使用一个循环深度 Transformer 来决定将推理资源分配到何处。无需云服务,无遥测数据,源代码从不离开设备。
## 工作原理
```
┌─────────────────────────────────────────────────────────────┐
│ Tier 1 — REAL detection (deterministic, offline) │
│ Semgrep (bundled offline ruleset) + Bandit → RawFinding │
└───────────────────────────┬─────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ Tier 3 — RDT orchestration brain │
│ Recurrent-Depth Transformer scores each flagged file with │
│ *adaptive* loop depth (more "thinking" on harder files), │
│ then ranks findings and allocates the LLM budget. │
└───────────────────────────┬─────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ Tier 2 — local LLM reasoning (on-device, MLX/Metal) │
│ Qwen2.5-Coder-7B-Instruct-4bit: true/false-positive verdict,│
│ exploitability rationale, and a concrete patch diff. │
└─────────────────────────────────────────────────────────────┘
```
- **第一层级是真实的。** Semgrep(内置离线规则集,覆盖 Python、JS/TS、C/C++、Go、Java 中的 CWE-78/79/89/95/120/327/502/798)和 Bandit。结果映射到 CWE,精确到行,并跨引擎去重。
- **第三层级是循环深度 Transformer 的用武之地。** RDT 以逐渐增加的循环次数运行,当其可疑度评估稳定时停止——简单的文件快速收敛,模糊的文件获得更多的计算资源。该分数加上分析器的严重性,共同决定了哪些发现值得进行昂贵的 LLM 处理。
- **第二层级是“类似 Mythos”的部分。** 一个 4-bit 的 Qwen2.5-Coder-7B 通过 MLX 在 M 系列 GPU 上运行。它判断每个发现是真是假,解释其可利用性,并编写一个最小化的统一差异补丁。
## 快速开始
```
git clone https://github.com/exocognosis/openmythos.git
cd openmythos
./install.sh # venv + all tiers
source .venv/bin/activate
openmythos doctor # check which engines are live
openmythos scan ./your-project # full 3-tier scan
openmythos scan . --no-llm # Tier 1+3 only (fast, no model)
openmythos scan . --json r.json --html r.html --sarif r.sarif
openmythos dashboard # http://127.0.0.1:7860
```
手动安装:
```
pip install -e ".[all]" # llm + dashboard extras
# 或最小化(真实检测,无 LLM)
pip install -e .
```
第二层级模型(约 4.3 GB)在首次推理运行时从 Hugging Face 下载并缓存到本地;此后每次运行都完全离线。可以使用 `--no-llm` 或 `pip install -e .`(不带 `[llm]` 扩展)来完全跳过它。
## CLI 命令
| 命令 | 作用 |
|---|---|
| `openmythos scan PATH` | 完整流水线(第一层级 → 第三层级 → 第二层级) |
| `--no-llm` | 仅真实的第一层级发现 + RDT 排序 |
| `--llm-budget N` | 限制发送给 LLM 的发现数量(默认 25) |
| `--json/--html/--sarif OUT` | 导出结果(SARIF = GitHub 代码扫描) |
| `openmythos doctor` | 显示可用引擎 + 设备信息 |
| `openmythos dashboard` | 本地 Gradio 网页界面 |
## 系统要求
- macOS 在 Apple Silicon (M1–M4) 上运行以使用第二层级(MLX)。第一层级 + 第三层级在任何支持 PyTorch 的平台上运行。
- 16 GB 内存足够运行 7B-4bit 模型;24–32 GB 更舒适。
- Python 3.10+。
## 配置
| 环境变量 | 作用 |
|---|---|
| `OPENMYTHOS_LLM` | 覆盖 MLX 模型 ID |
| `OPENMYTHOS_SEMGREP_CONFIG` | 使用注册表规则(例如 `auto`)代替内置的离线规则集 |
| `OPENMYTHOS_WEIGHTS` | 指定用于第三层级排序的 RDT 权重文件路径 |
## 限制说明(诚实告知)
- 第一层级的覆盖范围取决于规则——内置规则集高信噪比但并非详尽无遗。添加 `OPENMYTHOS_SEMGREP_CONFIG=auto`(在线)以扩大覆盖范围。
- 第二层级是一个 7B 模型:强大但可能出错。它能减少误报并起草补丁;但不能替代人工审查或渗透测试。
- 第三层级的 RDT 是一个*优先级排序器*,不是检测器——它从不凭空创造发现,只对真实的发现进行排序并分配推理资源。
- 目前不支持跨文件的污点分析;推理上下文是针对每个发现独立进行的。
## 贡献
请参阅 [`CONTRIBUTING.md`](CONTRIBUTING.md)。保持本地化,保持诚实,保持其在消费级硬件上的速度。
## 许可证
[MIT](LICENSE) © 2026 [exocognosis](https://github.com/exocognosis)标签:AI驱动扫描, Apple Silicon优化, Bandit, GraphQL安全矩阵, MLX框架, PyTorch, Semgrep, Transformer模型, WordPress安全扫描, 云安全监控, 凭据扫描, 安全扫描器, 实时漏洞检测, 智能分诊, 本地安全工具, 深度学习, 漏洞分析, 离线检测, 网络安全, 网络安全, 聊天机器人, 路径探测, 逆向工具, 隐私保护, 隐私保护, 静态分析