NoorQureshi/ronin
GitHub: NoorQureshi/ronin
Ronin 是一个工具无关的 AI 安全操作框架,为授权实验室场景提供统一的渗透方法论知识库与多 AI 后端编排能力。
Stars: 0 | Forks: 0
🥷 Ronin
一个无主 AI 操作员,专为授权的 CTF / HTB 实验室设计 —— 自带利刃。
单次交战大脑。将其接入 Claude Code、Codex、Gemini CLI 或 本地模型。
浪人(Ronin)不服务于任何单一主人,随手拿起手边的武器即可战斗。这个框架也是如此:
关于如何攻克一个机器箱的*知识* —— 一套完整的交战方法论、各阶段的操作剧本,以及不断增长的
工具库和已掌握的渗透利用技巧 —— 都保存在**一个工具无关的核心**中,并编译为原生入口文件,
适配于**任何你已经在使用的 AI CLI**。
## 工作原理
最具价值的部分 —— *如何思考并攻克一个机器箱* —— 是可移植的知识。Ronin 将其保存在
**同一个来源**中,并由此生成各个工具的入口文件,因此无需重复编写,也不会产生偏差。
```
ronin ← the CLI: doctor · install · build · start · local · new · lock
setup.sh ← one-time bootstrap (build + put `ronin` on PATH)
framework/ ← SINGLE SOURCE OF TRUTH
methodology.md the loop · scope rule · note-taking standard 🔒 locked
roles/ phase playbooks: recon·web·ad·privesc·report·learn 🔒 locked
skills/
tools-* · htb-insane tool arsenals + hard-box discipline 🔒 locked
tech-* learned exploit chains — the part that GROWS ✍️ learning
adapters/
build.sh generator → writes the per-tool entry files below
local/ronin-advisor.py offline advisor for Ollama / LM Studio
bin/lock.sh · bin/unlock.sh freeze / deliberately edit the locked core
docs/ SETUP · HOW-TO-CTF · LOCAL-MODELS
CLAUDE.md .claude/ ← Claude Code (full multi-agent: subagents + Skill tool)
AGENTS.md ← Codex, Cursor, Zed & other AGENTS.md-aware tools
GEMINI.md ← Gemini CLI
```
## 快速开始
```
git clone https://github.com/noorqureshi/ronin && cd ronin
./setup.sh # build entry files + put `ronin` on your PATH
ronin doctor # what AI backends & pentest tools you have
ronin install # install the pentest tools your OS is missing
ronin start claude # launch in the repo — or: codex | gemini
# ronin local --provider ollama --model qwen2.5-coder:14b # 完全离线
```
`ronin start` 会让你在代码仓库中进入你的 agent。交给你一个**已确认授权**的目标:
Ronin 会确认测试范围,搭建交战目录,并驱动整个循环 ——
信息收集 → Web/服务 → 初始立足点 → 权限提升 → 报告 —— 在此过程中随时参考其技能库。
| 你的工具 | 读取内容 | 你将获得什么 |
|---|---|---|
| **Claude Code** | `CLAUDE.md` + `.claude/` | 完整编排 —— 并行阶段 **subagents** + Skill 工具 |
| **Codex CLI** | `AGENTS.md` | 一个 agent 运行整个循环,接管各阶段角色,读取相关技能 |
| **Gemini CLI** | `GEMINI.md` | 与 Codex 相同的单 agent 操作剧本 |
| **本地 LLM** | 将上述任何工具指向你的本地模型 | 相同的大脑,完全离线运行 |
### 完全离线 (Ollama / LM Studio)
在无云端的情况下,有两种方式可以在**本地模型**上运行:
- **Codex → 本地 endpoint** —— 将 Codex 指向 Ollama (`codex --oss -m qwen2.5-coder:14b`) 或
LM Studio;它会读取 `AGENTS.md` 并像往常一样运行工具。
- **内置顾问** —— `python3 adapters/local/ronin-advisor.py --provider ollama --model
`:
一个零依赖的离线教练,加载该框架并引导你攻克机器箱。
完整详情 + 模型选择 → **[docs/LOCAL-MODELS.md](docs/LOCAL-MODELS.md)**。
## `ronin` 命令
一个标准的 CLI 前门 —— 随处可使用 `ronin --help` 和 `ronin --help`:
| 命令 | 功能说明 |
|---|---|
| `ronin doctor` | 检测你的操作系统 + 列出已安装的 AI 后端和渗透测试工具 |
| `ronin install [--group recon\|web\|ad] [--yes]` | 通过你的操作系统包管理器 (apt/brew/pacman/dnf) 安装缺失的工具,并提供 pipx/go 回退机制 |
| `ronin start claude\|codex\|gemini` | 在代码仓库内启动该 AI 后端 |
| `ronin local --provider ollama\|lmstudio --model ` | 在本地模型上启动离线顾问 |
| `ronin new --target ` | 搭建交战目录 (`scope.txt`, `notes.md`, `state.md`, `recon/` …) |
| `ronin build [all\|claude-code\|codex\|gemini]` | 在编辑 `framework/` 后重新生成入口文件 |
| `ronin lock` / `ronin unlock` | 冻结 / 编辑稳定的核心 |
`ronin install` 会读取 `ronin doctor` 发现的缺失项,并以适合你系统的方式正确安装它 ——
无需手动复制安装设置命令。
## 自我进化
当一个机器箱教会了我们一个可复用的技巧,**learn** 角色会将其捕获为一个新的
`framework/skills/tech-/SKILL.md`(基于 `TECHNIQUE-TEMPLATE.md`)并建立索引 —— 这样一来,
下一个具有相同特征信号的机器箱就会自动应用该技巧。以下是从真实机器箱中已积累的技巧:
- **`tech-mongo-agg-facet-bypass`** —— 通过 `$facet` → `$unionWith` 绕过 MongoDB 聚合阶段白名单,
从而读取同级集合。
- **`tech-webauthn-software-authenticator`** —— 当 attestation 为 `none` 时,使用自行构建的
软件认证器注册/登录 WebAuthn RP。
- **`tech-gopher-redis-rce`** —— SSRF → 内部 Redis → 通过 `gopher://` 实现 RCE。
编辑 `framework/` 下的任何内容,然后重新运行 `./adapters/build.sh all` 来刷新所有工具。
## 锁定的核心与学习库
该框架在不破坏其可靠性的前提下不断自我完善 —— 它被分为两部分:
- 🔒 **锁定的核心** —— `methodology.md`、`roles/` 以及参考技能 (`tools-*`、
`htb-insane`)。提供稳定的行为 + 经过精心筛选的知识。运行 **`bin/lock.sh`** 将其设为
只读,这样在进行交战时就不会意外修改它;当你确实需要修改时,运行 **`bin/unlock.sh`**。
- ✍️ **学习库** —— `framework/skills/tech-*`。这是在攻克机器箱时**唯一**写入新知识的
地方。`learn` 角色会在此追加内容;而核心保持冻结状态。
## 文档
- **[docs/SETUP.md](docs/SETUP.md)** —— 安装并配置每个工具(Claude Code、Codex、Gemini、本地模型)。
- **[docs/HOW-TO-CTF.md](docs/HOW-TO-CTF.md)** —— 端到端的机器箱工作流。
- **[docs/LOCAL-MODELS.md](docs/LOCAL-MODELS.md)** —— 完全离线运行于 Ollama / LM Studio。
## 军火库包含什么
- **参考技能(按阶段划分):** `htb-insane`(高难度机器箱的纪律)、`tools-recon`、
`tools-web`、`tools-privesc`、`tools-ad-pivot` —— 每个条目包含:*工具名称 · 为何优于替代方案 ·
带参数解释的精确命令 · 常见陷阱*。
- **技巧技能:** 带有触发标签的 `tech-*` 渗透利用链,在检测到正确的特征信号时自动加载。
## 路线图
- **运行时引擎(可选):** 一个与提供商无关的运行器,自行驱动编排循环,
并将 Claude Code / Codex / Gemini / API / **本地 LLM** 作为可互换的后端进行调用 ——
适用于*任何*工具的真正多 agent 支持 + 范围强制执行 + 审计日志。
- 更多 `tools-*` 军火库和社区 `tech-*` 技巧(欢迎提交 PR)。
## 贡献
添加一个新技巧:`cp framework/skills/TECHNIQUE-TEMPLATE.md framework/skills/tech-/SKILL.md`,
填写相关内容,将其列在 `framework/skills/README.md` 中,运行 `./adapters/build.sh all`,然后提交一个 PR。
请确保所有内容都在授权实验室的语境下。
## 许可证
MIT —— 详情请见 [LICENSE](LICENSE)。请在你自己的机器箱和授权的交战测试中使用。请遵守道德规范。标签:AI智能体, AI风险缓解, DLL 劫持, Web报告查看器, 大语言模型, 实时处理, 密码管理, 应用安全, 红队自动化, 逆向工具