pb3ck/quarry
GitHub: pb3ck/quarry
基于 Rust 的本地优先安全推理工具,将侦察和流量产物导入本地语料库,让 LLM 基于真实证据而非通用方法论进行带引用的推理。
Stars: 0 | Forks: 0
# Quarry
Quarry 接收安全工作实际产出的人工产物——侦察输出、HTTP 流量、JavaScript bundles、扫描结果——并将其导入到本地索引中,然后让语言模型基于**你的**项目进行推理,而不是依赖通用的方法论。
## 适用人群
任何工作模式涉及在多个项目中生成侦察和流量产物,并需要 LLM 基于这些产物进行推理(而不是从训练数据中产生幻觉)的人:
- **Bug赏金猎人** —— 公开项目,通常同时并行多个。
- **渗透测试人员和红队人员** —— 数据不能离开操作员机器的内部项目。
- **安全研究人员** —— 实验室、CTF、培训环境、对同一目标进行反复研究的漏洞研究。
默认的 `target` 类型是 `bug-bounty`,因为这是最常见的公开用例,但 `--kind private`(咨询/内部渗透测试)和 `--kind lab`(CTF / HTB / 培训)同样是一等公民——存储、检索和 MCP 层并不关心你使用的是哪一种。
## 这是什么
- 一个本地优先的 CLI 工具,用于将侦察和流量产物(subfinder、httpx、katana、nuclei、Burp/Caido 项目导出文件、原始 JS bundles)导入到一个结构化的语料库中。
- 建立在该语料库之上的检索层——混合了关键词检索和向量检索——因此 LLM 可以根据你的实际证据来回答诸如“哪些 endpoint 负责处理身份验证”、“自上周以来发生了什么变化”、“哪些 JS bundles 引用了管理员路径”等问题。
- BYOK(自带密钥)支持你想要的任何模型(Anthropic、OpenAI、本地 Ollama、任何兼容 OpenAI 的 endpoint)。任何内容都不会发送到由 Quarry 运营的服务。 Quarry 根本不存在由其运营的服务。
## 这不是什么
- 不是扫描器。Quarry 只读取你的工具已经产出的内容;它不会发送数据包。
- 不是自主 agent。它不会提交报告、向赏金平台提交发现,或对目标采取行动。其推理循环在设计上就是 human-in-the-loop(人在回路)的。
- 不是方法论框架。如果你想要一个按阶段进行的演练,请使用其他工具。Quarry 假设你已经知道自己在做什么,并希望在那些无法规模化的环节上获得助力:阅读、交叉引用和记忆。
- 不是 SaaS。其架构是本地优先的,并将始终保持如此。
## 运作机制
现有工具已经产出了工作所需的全部证据;差距在于,没有任何东西能在跨会话、跨项目或跨周的情况下记住这些内容。Quarry 作为使该闭环得以实现的层嵌入其中。

## 为什么是本地优先
offensive security(进攻性安全)工作涉及的数据通常具有敏感性,有时受合同约束,偶尔在法律上极具风险——例如赏金范围规则、受 NDA 约束的渗透测试项目、受可接受使用条款约束的实验室环境。将你的侦察语料库发送给第三方索引服务对于严肃的操作人员来说是不可接受的。Quarry 在你的机器上运行,与你配置的任意模型 endpoint 通信,并将所有内容存储在本地的 SQLite 数据库中,你可以对其进行检查、备份或彻底销毁。
## 快速入门
```
cargo install --path crates/quarry-cli --locked
export ANTHROPIC_API_KEY=sk-ant-...
quarry init
quarry target add example-bbp --kind bug-bounty
quarry ingest ~/recon/subs.txt # subfinder / assetfinder
quarry ingest ~/recon/httpx.jsonl # httpx -json
quarry ingest ~/recon/katana.jsonl # katana -jsonl
quarry ask which endpoints look like authentication
```
完整的演练——包括兼容 OpenAI 的工作流(Ollama、vLLM、OpenRouter)以及针对未安装上述工具的用户的纯文本回退方案——位于 [`docs/quickstart.md`](./docs/quickstart.md) 中。
此版本中受支持的 `--source` 适配器包括 `subfinder`、`httpx`、`katana` 和 `jsbundle`。Burp / Caido 支持将在 M2 版本中推出(参见 [`ROADMAP.md`](./ROADMAP.md))。
Quarry 还内置了一个 **MCP server**,因此 LLM 主机(Claude Code、Claude Desktop 等)可以直接将其只读检索层作为工具调用进行驱动——无需内部的 `quarry ask` 往返过程。运行 `quarry mcp` 并在你的主机中进行配置;[`docs/mcp.md`](./docs/mcp.md) 提供了相关代码片段。
关于**分析层**——比较运行结果、呈现 JS bundle 差异,以及通过 CLI 管理 Finding 生命周期——请参见 [`docs/analyze.md`](./docs/analyze.md) 和 [`docs/findings.md`](./docs/findings.md)。
## 许可证
Quarry 采用 GNU Affero General Public License v3.0 授权。完整文本请参见 [`LICENSE`](./LICENSE)。
有关商业许可——包括将 Quarry 嵌入专有产品或将其作为托管服务提供而无需在 AGPL 下发布修改内容——请参见 [`LICENSING.md`](./LICENSING.md)。
## 安全
如果您认为在 Quarry 本身中发现了一个漏洞,请参见 [`SECURITY.md`](./SECURITY.md)。请勿针对安全问题提交公开的 issue。
## 贡献
请参见 [`CONTRIBUTING.md`](./CONTRIBUTING.md)。贡献需要签署贡献者许可协议;这保护了使未来商业许可成为可能的双重许可模式。
标签:AI安全, Anthropic, Bug Bounty, Burp Suite, BYOK, Caido, Chat Copilot, CIS基准, DLL 劫持, Google, Httpx, HTTP流量分析, LIDS, LLM, LLM评估, MCP协议, Nuclei, Ollama, OpenAI API, RAG, Red Teaming, Unmanaged PE, Vulnerability Research, 可自定义解析器, 可视化界面, 向量检索, 大语言模型, 安全工具集成, 安全报告, 安全测试, 安全测试, 实时处理, 恶意样本开发, 攻击性安全, 攻击性安全, 数据展示, 数据泄露, 数据索引, 本地优先, 检索增强生成, 混合检索, 端点分析, 红队, 网络安全, 网络安全审计, 证据推理, 通知系统, 隐私保护