Steake/SerpantOxide
GitHub: Steake/SerpantOxide
一款用 Rust 构建的自主攻击性安全控制台,通过多 Agent 编排将规划、执行、监控和报告整合到统一的类型安全运行时中。
Stars: 0 | Forks: 0
# Serpantoxide
[](https://github.com/Steake/SerpantOxide/actions/workflows/ci.yml)
[](https://github.com/Steake/SerpantOxide/actions/workflows/release.yml)
[](https://github.com/Steake/SerpantOxide/releases)
[](LICENSE)
[](https://www.rust-lang.org/)
**用于自主安全操作的 Rust 指挥中心。**
大多数“代理式”工具不过是用日志表演的信心把戏。Serpantoxide 则秉持一种不那么光鲜的观点:编排应该是显式的、类型化的、可检查的,且不易被浪漫化。它是一个 Rust 运行时,用于通过一个正式的操作界面、共享状态、浏览器控制、拓扑情报,以及对自身抽象保持足够的警惕以维持其实用性,来运行一个安全工作者集群。
通俗地讲:这是一个实用的攻击性安全控制台。它负责规划、委派、监控、修正、记录和报告。它配备了一个生产级的 TUI,一个实验性的 macOS GPUI shell,并且对于将“AI”视为检测工具替代品的做法毫无兴趣。
## 为什么会有这个项目
因为现有的通常状况令人无法忍受。
- Python 原型意外地变成了不可动摇的基石。
- Agent 框架的概念就像潮湿地下室里的真菌一样疯狂繁殖。
- 工具调用消失在基于字符串类型的迷雾中。
- 操作界面本该坦白不确定性的时候,却在安抚操作员。
Serpantoxide 代表了相反的设计直觉:更少的错觉,更硬核的边界,更好的可见性。
## 你将获得什么
- 一个实时终端 UI,包含遥测、工作者日志、拓扑视图、检查面板和报告生成功能。
- 一个基于相同运行时构建的实验性原生 macOS shell。
- 一个能够规划、生成、监控和综合多个工作者的集群编排器。
- 作为迭代工具调用循环而非装饰性一次性提示运行的工作者 Agent。
- 针对 `terminal`、`browser`、`web_search`、`notes`、`nmap`、`sqlmap`、`osint`、`hosting`、`image_gen` 和 `evm_chain` 的原生工具。
- 将结果持久化保存在 `loot/notes.json` 中。
- 一个轻量级图模型,能将发现的结果转化为更接近情报的数据。
- 在没有 provider 密钥时提供确定性的模拟模式,因为假装具备能力是粗俗的。
## 事物的形态
Serpantoxide 围绕四个经过深思熟虑的层进行组织:
1. `main.rs` 启动所选的前端。
2. `runtime.rs` 提供共享的命令、事件和快照模型。
3. `orchestrator.rs` 以战役(campaigns)为单位进行思考。
4. `worker_agent.rs` 负责具体的繁杂工作并带回证据。
这种分离至关重要。编排器的存在是为了在高于 shell 命令的层面上进行思考。而工作者的存在是为了防止这些思考沦为空谈。
## 快速开始
### 前置条件
- 包含 `cargo` 的 Rust 工具链
- 用于 `chromiumoxide` 的 Chromium 或兼容的浏览器运行时
- 可选的原生二进制文件:
- `nmap`
- `sqlmap`
- `holehe`
- `sherlock`
- `theHarvester`
- 可选的环境变量:
- `OPENROUTER_API_KEY`
- `TAVILY_API_KEY`
- `GOOGLE_API_KEY`
- `ETHERSCAN_API_KEY`
- `EVM_RPC_URL`
- `LLM_MODEL`
### 运行它
```
cargo run
```
### 前端
```
# 默认 TUI
cargo run
# 实验性 macOS shell
cargo run -- --gpui
# 显式强制 TUI
cargo run -- --tui
```
### 打包 macOS 应用
```
scripts/package_macos_app.sh
scripts/package_macos_app.sh --target x86_64-apple-darwin --zip
```
## 运行时命令
```
/agent Run a focused autonomous assessment
/crew Run multi-agent crew mode
/target Set the active target
/tools Show worker capabilities
/notes [category] Show stored findings
/memory Show graph-derived intelligence
/topology Open the interactive topology explorer
/prompt Show the crew prompt
/report Generate a markdown report
/modes Show mode and prefix help
/quit Exit
```
## 工具操作面
工作者可以调用:
- `terminal`
- `browser`
- `web_search`
- `notes`
- `nmap`
- `sqlmap`
- `osint`
- `hosting`
- `image_gen`
- `evm_chain`
如果细微的操作方式成为阻碍,还可以使用强制意图前缀:
```
NMAP:
SQLMAP:
BROWSER:
SEARCH:
TERMINAL:
OSINT:
HOSTING:
IMAGE:
EVM:
```
## 配置
Serpantoxide 将本地运行时状态存储在 `.serpantoxide_config` 中。如果存在 `OPENROUTER_API_KEY`,则使用 OpenRouter。如果不存在,运行时将回退到确定性的模拟行为。这不是骗局。这只是实时 provider 和演练之间的区别。
典型配置:
```
OPENROUTER_API_KEY=...
TAVILY_API_KEY=...
GOOGLE_API_KEY=...
ETHERSCAN_API_KEY=...
EVM_RPC_URL=...
LLM_MODEL=openai/gpt-4o
```
## 仓库布局
```
src/
main.rs
runtime.rs
tui.rs
gpui_app.rs
orchestrator.rs
pool.rs
worker_agent.rs
llm.rs
browser.rs
notes.rs
graph.rs
terminal.rs
nmap.rs
sqlmap.rs
osint.rs
hosting.rs
image_gen.rs
evm_chain.rs
prompts.rs
events.rs
config.rs
```
## 文档
- [ARCHITECTURE.md](./ARCHITECTURE.md)
- [docs/OPERATIONS.md](./docs/OPERATIONS.md)
- [docs/TOOL_REFERENCE.md](./docs/TOOL_REFERENCE.md)
- [docs/DEVELOPMENT.md](./docs/DEVELOPMENT.md)
- [docs/GIT_SPLIT.md](./docs/GIT_SPLIT.md)
## 验证
```
cargo fmt
cargo check
cargo test
```
## 最后提醒
仅针对您被授权评估的系统使用此工具。优秀的工具并不会搁置道德。它仅仅是消除了无能的借口。
标签:AI安全智能体, CLI安全工具, DOE合作, GPUI, macOS原生应用, Rust编程语言, TUI终端用户界面, 分布式Worker, 可视化界面, 命令与控制, 安全任务调度, 安全态势感知, 安全报告生成, 开源安全项目, 替代Python安全工具, 红队自动化, 网络安全, 网络拓扑可视化, 自动化渗透测试, 进攻性安全, 隐私保护