PurpleAILAB/Decepticon

GitHub: PurpleAILAB/Decepticon

基于多智能体的自主红队测试平台,通过 AI 智能体自动化执行渗透测试全流程。

Stars: 864 | Forks: 161

[![English](https://img.shields.io/badge/Language-English-blue?style=for-the-badge)](README.md) [![한국어](https://img.shields.io/badge/Language-한국어-red?style=for-the-badge)](./docs/README_KO.md)
Decepticon Logo

Decepticon - Vibe Hacking 智能体

License: Apache 2.0 Stargazers Contributors
Join us on Discord Visit Website
https://github.com/user-attachments/assets/92e1dffd-92af-4d63-b682-c4a1810586a9
[CLI Demo](.github/cli.gif)
📚 目录 - [💡 Community Contribution ](#-community-contribution) - [💡 What is Vibe Hacking ?](#-what-is-vibe-hacking-) - [💡 Why Decepticon?](#-why-decepticon) - [Quick Start](#-quick-start) - [Key features](#key-features) - [Agents](#-agents) - [🔴 Red Team Agents](#-red-team-agents) - [🔵 Utility Agents](#-utility-agents) - [Multi-Agent-System Architecture](#multi-agent-system-architecture) - [Replay](#replay) - [Installation](#-installation) - [Advanced AI Models](#-advanced-ai-models) - [☁️ Cloud Models](#️-cloud-models) - [🏠 Local Models (Ollama)](#-local-models-ollama) - [MCP Support](#-mcp-support) - [Supported MCP Transports](#-supported-mcp-transports) - [`mcp_config.json` Structure](#-mcp_configjson-structure) - [Example](#-example) - [⚠️ Experimental Technology Disclaimer](#️-experimental-technology-disclaimer) - [🤝 Contributing](#-contribution) - [What You Can Contribute](#-what-you-can-contribute) - [Migrate Security Tools to MCP Format](#-migrate-security-tools-to-mcp-format) - [Develop ReAct-style Red Team Agents](#-develop-react-style-red-team-agents) - [Architect Multi-Agent Flows](#-architect-multi-agent-flows) - [How to Contribute](#-how-to-contribute) - [Join the Community](#-join-the-community) - [📝 License](#-license)
![重播](https://raw.githubusercontent.com/PurpleAILAB/Decepticon/main/.github/replay.gif)
## 💡 什么是 **Vibe Hacking** ? **Vibe Hacking** 是由 PurpleAILAB 定义的进攻性安全领域新范式。 与依赖手动执行的传统红队方法不同,在 Vibe Hacking 中,**AI 智能体自主执行红队任务**。 ## 💡 为什么选择 **Decepticon**? 随着智能体变得越来越复杂,攻击者也随之进化。 从 AI 驱动的网络钓鱼到自学习恶意软件,攻击技术正变得日益自动化和智能化。 为了有效防御 AI 驱动的威胁,**我们必须行动得更快**——而且**我们必须先发制人**。 **Decepticon** 正是为这一目的而设计:在攻击者实现自动化之前,利用 AI 智能体自动化红队测试。 Decepticon 构建于 **LangChain/LangGraph** 的坚实基础之上,并与蓬勃发展的 AI 智能体生态系统共同成长。通过利用驱动 AI 未来的前沿框架,我们确保了兼容性、可扩展性以及通过社区协作实现的持续创新。 将重复性和手动任务委托给智能体,专注于直觉和决策,从而实现 **网络安全主管** 的真正本质。 ## 快速开始 ### 1. 设置环境 ``` uv venv uv sync or uv pip install -e . ``` ### 2. 复制环境文件 ``` cp .env.example .env ``` ### 3. Docker (10分 ~ 20分) ``` docker-compose up -d --build ``` ### 4. 运行 MCP 服务器 #### 选项 1: 使用提供的脚本 - 在 Windows 上: ``` ./run_mcp.ps1 ``` - 在 macOS/Linux 上: ``` ./run_mcp.sh ``` #### 选项 2: 手动运行 ``` python src/tools/mcp/(your mcp server).py ``` ### 4. 运行 CLI 或 Web 界面 ``` python frontend/cli/cli.py streamlit run frontend/streamlit_app.py ``` ## 核心功能 ### 智能体 #### 🔴 红队智能体 - **侦察智能体**: 网络扫描、服务枚举、漏洞发现 - **初始访问智能体**: 漏洞利用、凭证攻击、系统入侵 - **权限提升智能体**(计划中): 权限提升和横向移动 - **防御规避智能体**(计划中): 反检测和隐蔽技术 - **持久化智能体**(计划中): 维持访问和后门安装 - **执行智能体**(计划中): 命令执行和载荷部署 #### 🔵 实用工具智能体 - **规划智能体**: 协调整个行动的战略大脑 - **摘要智能体**: 分析汇总、报告和文档编制 - **主管智能体**(计划中): 工作流编排和决策路由 ### 多智能体系统架构 **灵活的架构选项:** - **群体架构**: 智能体之间直接的对等通信与协作 - **主管架构**(计划中): 由主管管理工作流的集中式控制 - **混合架构**(计划中): 结合直接通信与集中监督的混合方法 - **您的自定义架构** ### 重播 重播功能的实现旨在最大化 Decepticon 开源社区内的协作与知识共享。 请通过 PR 分享您的使用方法和执行结果! 1. **执行结果保存**在 `logs/` 文件夹下 2. **重播功能**: 点击聊天历史按钮,重播存储在 `logs/` 文件夹下的 JSON 格式日志 3. **社区分享**: 使用导出功能与社区分享! ## 安装 ### 1. **克隆仓库** ``` git clone https://github.com/PurpleCHOIms/Decepticon.git cd Decepticon ``` ### 2. **安装依赖** **UV (推荐)** ``` # 创建虚拟环境 uv venv # 安装依赖 uv pip install -e . ``` ### 3. 环境文件 .env ``` # 创建环境文件 cp .env.example .env ``` ``` # 配置 API 密钥 # LLM API OPENAI_API_KEY=your-api-key ANTHROPIC_API_KEY=your-api-key OPENROUTER_API_KEY=your-api-key # Langsmith LANGSMITH_TRACING=true LANGSMITH_ENDPOINT="https://api.smith.langchain.com" LANGSMITH_API_KEY=your-api-key LANGSMITH_PROJECT=Decepticon LANGGRAPH_API_URL=http://127.0.0.1:2024 ``` ### 4. Docker 设置 ``` # 启动包含目标的 Kali Linux 容器 docker-compose up -d ``` ### 5. 运行 MCP 服务器 ``` python src/tools/mcp/(your mcp server).py ``` ### 8. 命令行界面 ``` # 运行命令行界面 python frontend/cli/cli.py ``` ### 7. Web 界面 ``` # 运行 Web 界面 streamlit run frontend/web/streamlit_app.py ``` ## 高级 AI 模型 ### ☁️ 云端模型 - **OpenAI**: 4.1, 4o, 4o Mini, o4 Mini, o3 Mini, o1 Mini, o1, o3 - **Anthropic**: Sonnet 4, Opus 4, Sonnet 3.7, Sonnet 3.5, Haiku 3.5, ### 🏠 本地模型 - 您已安装的模型 ## MCP 支持 本项目支持通过 [LangGraph MCP Adapter](https://github.com/langchain-ai/langchain-mcp-adapters) 加载工具。 您可以在名为 `mcp_config.json` 的配置文件中定义您的 MCP 工具。 工具按**智能体名称**分组,每个智能体可以拥有多个 MCP 服务器。 ### 支持的 MCP 传输方式 - `stdio` - 标准输入/输出通信 - `streamable_http` - 基于 HTTP 的流式通信 ### `mcp_config.json` 结构 ``` { "agent_name": { "mcp_server_1": { "command": "python", "args": ["./path/to/script.py"], "transport": "stdio" }, "another_mcp_server_streamable_HTTP": { "url": "mcp-url" } } } ``` ### 示例 ``` { "reconnaissance": { "reconnaissance": { "command": "python", "args": ["./src/tools/mcp/Reconnaissance.py"], "transport": "stdio" }, "desktop_commander": { "url": "https://server.smithery.ai/@wonderwhy-er/desktop-commander/mcp?api_key=your-api-key" } }, "initial_access": { "initial_access": { "command": "python", "args": ["./src/tools/mcp/Initial_Access.py"], "transport": "stdio" } } } ``` **添加新的 MCP 工具:** 1. 在 `src/tools/mcp/` 下创建您的 MCP 工具脚本 2. 在 `mcp_config.json` 中添加相应的条目 3. 重启应用程序以加载新工具 ## ⚠️ 实验性技术免责声明 **Decepticon** 是一个目前正在积极开发中的实验性项目。它尚不稳定,可能包含错误、功能不完整或经历破坏性变更。 我们正与社区公开构建此项目,并热烈欢迎: - 错误报告 - 功能请求 - 拉取请求 - 良好的氛围 请通过提交 issue 或 PR 帮助我们改进 Decepticon(参见下文的贡献方式)! ## 🤝 贡献 我们欢迎社区的贡献,使这个项目更好、更强大、更安全。 无论您是经验丰富的开发者、安全研究人员,还是刚接触开源,都有很多参与方式。 ### 您可以贡献什么 #### 1. 将安全工具迁移为 MCP 格式 帮助将现有的安全工具转化为模块化、兼容 LangGraph 的 **MCP (模块化命令协议) 工具**。 - 使用标准 MCP 接口(`stdio` 或 `streamable_http`)封装工具 - 确保与 `langgraph-mcp-adapter` 兼容 - 将它们放置在 `src/tools/mcp/` 下 #### 2. 开发 ReAct 风格的红队智能体 为红队行动设计和改进 ReAct 风格的智能体: - 侦察 - 初始访问 - 权限提升 - 持久化等 贡献方式: - 在 `src/prompts/` 下创建定制提示词 - 实现具有特定能力的新智能体 - 改进任务规划和内存使用 #### 3. 架构多智能体流程 为多智能体编排层的设计和优化做出贡献: - 提议新的工作流或智能体角色 - 改进智能体间的通信和交接 - 使用 LangGraph 扩展状态驱动逻辑 ### 如何贡献 1. Fork 本仓库 2. 创建新分支 (`git checkout -b feature/your-feature`) 3. 使用清晰的信息提交您的更改 4. 推送到您的分支并打开一个 **Pull Request** 5. 链接相关的 issue(如果有)并解释您的解决方案 我们鼓励编写整洁、经过充分测试且带有文档的代码。 在提交 PR 之前,随时可以打开 issue 来讨论想法! ## 加入社区 加入我们的 [Discord](https://discord.gg/XGytzHZU),与其他开发者交流、分享想法、提出问题,并共同构建 AI 驱动的红队测试的未来! 无论您是在寻求贡献方面的帮助,想讨论新功能,还是只想聊聊网络安全和 AI,我们的社区都在这里为您提供支持。 ## 📝 许可证 本仓库根据 [Apache-2.0 License](LICENSE) 授权。 ![主界面](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/61dda87a94200233.png)
标签:AI风险缓解, Cybersecurity, Decepticon, DLL 劫持, Kubernetes, Offensive Security, PyRIT, Vibe Hacking, 人工智能, 反取证, 多智能体系统, 大语言模型, 威胁模拟, 安全评估, 实时处理, 密码管理, 攻击模拟, 用户模式Hook绕过, 网络安全, 自主代理, 自动化攻击, 请求拦截, 逆向工具, 隐私保护, 驱动签名利用