Steake/SerpantOxide

GitHub: Steake/SerpantOxide

一款用 Rust 构建的自主攻击性安全控制台,通过多 Agent 编排将规划、执行、监控和报告整合到统一的类型安全运行时中。

Stars: 0 | Forks: 0

# Serpantoxide [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a10d662e13234235.svg)](https://github.com/Steake/SerpantOxide/actions/workflows/ci.yml) [![Release](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a69ef589ed234236.svg)](https://github.com/Steake/SerpantOxide/actions/workflows/release.yml) [![Latest release](https://img.shields.io/github/v/release/Steake/SerpantOxide?include_prereleases)](https://github.com/Steake/SerpantOxide/releases) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Rust](https://img.shields.io/badge/rust-stable-orange.svg)](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安全工具, 红队自动化, 网络安全, 网络拓扑可视化, 自动化渗透测试, 进攻性安全, 隐私保护