DilawarShafiq/redteam-arena

GitHub: DilawarShafiq/redteam-arena

一个全自动化、以 AI 对抗模型驱动的代码安全测试与合规审计平台,通过红蓝智能体多轮博弈发现漏洞并生成修复方案。

Stars: 4 | Forks: 0

RedTeam Arena Banner **针对您的代码库的 AI 对抗性安全测试。** [![PyPI version](https://img.shields.io/pypi/v/redteam-arena.svg)](https://pypi.org/project/redteam-arena/) [![Python](https://img.shields.io/badge/python-%3E%3D3.10-blue.svg)](https://www.python.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/39/39faa54be350a1dab8afd3b2fb8c1c83e4d9cff84abfef2374d19a18053687c4.svg)](https://github.com/DilawarShafiq/redteam-arena/actions/workflows/ci.yml) [![PyPI Downloads](https://img.shields.io/pypi/dm/redteam-arena.svg)](https://pypi.org/project/redteam-arena/) 红队智能体攻击。蓝队智能体防御。完全自动化。 ![RedTeam Arena Demo](https://static.pigsec.cn/wp-content/uploads/repos/cas/33/33ffe6475582c2630f000c75a59203b91d3d74440fc5cbdb67d15b50934114ed.gif)
## 为什么选择它? - **主动而非被动** — 像攻击者一样思考的 AI 智能体 24/7 全天候探测您的代码,而不是等待下一个 CVE。 - **一次运行实现攻击 + 防御** — 发现的每个漏洞都会立即获得缓解建议,因此您交付的是修复,而不仅仅是发现。 - **企业级审计** — 通过专门针对 SOC 2、ISO 27001、HIPAA、FedRAMP 等的合规性智能体,超越简单的漏洞利用。 - **零设置** — 指向一个目录,选择一个场景,即可获得报告。无需配置文件,无需基础设施,无需学习成本。 - **多提供商** — 开箱即用,支持 Claude、OpenAI、Gemini 和本地 Ollama 模型。 - **45+ 内置场景** — OWASP Top 10、AI 专属攻击、APT 攻击链以及高端企业合规框架。 ## 快速开始 ``` # 安装 pip install redteam-arena # 设置您的 API key(默认为 Claude) export ANTHROPIC_API_KEY=sk-ant-... # 运行一场 battle redteam-arena battle ./my-project --scenario sql-injection ``` ### 您将看到 ``` REDTEAM ARENA v0.0.4 Scenario: sql-injection | Target: ./my-project ================================================== Round 1/5 ---------------------------------------- RED AGENT (Attacker): ...streaming analysis... BLUE AGENT (Defender): ...streaming mitigations... Round 1: 3 finding(s), 3 mitigation(s) ================================================== Battle Report Summary ================================================== Rounds: 5 | Vulnerabilities: 8 Critical: 2 | High: 3 | Medium: 2 | Low: 1 Mitigations proposed: 7/8 (88%) Full report: ./reports/battle-abc123.md ``` ## CLI 参考 ### `redteam-arena battle ` 针对目标代码库运行安全对抗。 | 选项 | 描述 | 默认值 | |--------|-------------|---------| | `-s, --scenario ` | 要运行的场景(必填) | — | | `-r, --rounds ` | 对抗轮数 | `5` | | `-p, --provider ` | LLM 提供商:`claude`、`openai`、`gemini`、`ollama` | 自动检测 | | `-m, --model ` | 指定使用的模型 | 提供商默认 | | `-f, --format ` | 报告格式:`markdown`、`json`、`sarif`、`html`、`compliance` | `markdown` | | `-o, --output ` | 输出文件路径 | 自动生成 | | `--agent-mode ` | 智能体焦点:`attacker`(默认)或 `auditor` | `attacker` | | `--mock-llm` | 使用 mock LLM 进行测试/演示(快速且免费) | `false` | | `--diff` | 仅扫描更改的文件(git diff) | `false` | | `--auto-fix` | 将修复建议生成为一个分支 | `false` | | `--fail-on ` | 如果发现严重性级别则非零退出:`critical`、`high`、`medium`、`low` | — | | `--analyze` | 运行高级的横切分析 | `false` | | `--pr-comment` | 将结果作为 GitHub PR 评论发布 | `false` | ``` # 3 轮 XSS 测试 redteam-arena battle ./webapp --scenario xss --rounds 3 # 完整审计(按顺序运行所有场景) redteam-arena battle ./api --scenario full-audit # CI 模式:发现 critical 级别问题时使构建失败 redteam-arena battle ./src --scenario sql-injection --fail-on critical # 仅扫描已更改的文件 redteam-arena battle ./src --scenario secrets-exposure --diff # 使用 OpenAI 代替 Claude redteam-arena battle ./src --scenario xss --provider openai --model gpt-4o # 运行 HIPAA/HITECH 医疗合规性审计 redteam-arena battle ./medical-app --scenario hipaa-hitech-readiness --agent-mode auditor --format compliance # 用于 GitHub Code Scanning 的 SARIF 输出 redteam-arena battle ./src --scenario full-audit --format sarif -o results.sarif.json ``` ### `redteam-arena list` 列出所有可用的场景。 ``` redteam-arena list redteam-arena list --tag owasp redteam-arena list --tag ai-safety ``` ### `redteam-arena watch ` 监视目录中的文件更改并自动重新扫描。 ``` redteam-arena watch ./src --scenario xss ``` ### `redteam-arena benchmark` 运行检测准确性基准测试,以衡量您的提供商的有效性。 ``` redteam-arena benchmark --suite owasp-web-basic redteam-arena benchmark --list-suites ``` ### `redteam-arena history` 查看过去的对抗结果、趋势和回归分析。 ``` redteam-arena history redteam-arena history --trends redteam-arena history --regression --target ./src ``` ### `redteam-arena dashboard` 生成包含丰富信息的 HTML 对抗历史仪表板。 ``` redteam-arena dashboard --open-browser ``` ### `redteam-arena serve` 启动 REST + WebSocket API 服务器。 ``` pip install redteam-arena[server] redteam-arena serve --port 3000 ``` ## 内置场景 ### Web 安全(OWASP Top 10) | 场景 | 描述 | |----------|-------------| | `sql-injection` | 查找数据库查询中的 SQL 注入向量 | | `xss` | 检测跨站脚本漏洞 | | `auth-bypass` | 查找身份验证和授权缺陷 | | `secrets-exposure` | 检测硬编码的密钥和泄露的凭证 | | `path-traversal` | 查找目录遍历和路径注入问题 | | `ssrf` | 服务器端请求伪造漏洞 | | `injection` | 常规注入缺陷(命令、LDAP、XML) | | `broken-access-control` | 缺失或损坏的授权检查 | | `crypto-failures` | 弱加密和不安全的数据处理 | | `security-misconfiguration` | 配置错误的服务器、默认设置和权限 | | `insecure-deserialization` | 不安全的对象反序列化 | | `vulnerable-dependencies` | 已知有漏洞的第三方包 | | `sensitive-disclosure` | 过多的错误消息和数据泄漏 | ### AI 与智能体安全 | 场景 | 描述 | |----------|-------------| | `prompt-injection` | 检测 LLM 应用中的提示词注入漏洞 | | `data-poisoning` | 查找训练和 RAG 数据投毒风险 | | `agent-goal-hijack` | 测试智能体系统是否存在目标劫持 | | `excessive-agency` | 识别过度特权的 AI 智能体 | | `system-prompt-leakage` | 查找系统提示词提取向量 | | `memory-poisoning` | 检测持久性内存损坏攻击 | | `tool-misuse` | 识别智能体链中不安全的工具使用 | | `rogue-agents` | 测试未经授权的智能体行为 | | `llm-misinformation` | 检测基于幻觉的安全风险 | | `insecure-inter-agent-comms` | 不安全的智能体间通信 | | `agentic-supply-chain` | 智能体 pipeline 中的供应链风险 | | `llm-supply-chain` | 被破坏的模型和不安全的微调 | | `human-agent-trust` | 人类与 AI 信任边界的失效 | | `identity-privilege-abuse` | 智能体中的身份欺骗和权限提升 | | `improper-output-handling` | 对 LLM 生成的输出处理不安全 | | `unexpected-code-execution` | 通过 LLM 意外执行代码 | | `vector-embedding-weakness` | 基于嵌入的检索中的漏洞 | | `cascading-failures` | 多智能体系统中的故障传播 | ### 企业与合规 | 场景 | 描述 | |----------|-------------| | `apt-advanced-persistent-threat` | 模拟 ALPHV/BlackCat 风格的攻击链(LotL,MFA 绕过,横向移动) | | `infrastructure-as-code` | 审计 Terraform、Kubernetes 和 Docker 的云配置错误 | | `iso-42001-ai-compliance` | 针对 ISO/IEC 42001 人工智能管理体系进行审计 | | `soc2-security-privacy` | 针对 SOC 2 信任服务标准(安全、隐私、日志记录)进行审计 | | `fedramp-readiness` | 针对 FedRAMP / NIST 800-53 技术控制就绪情况进行审计 | | `hipaa-hitech-readiness` | 美国医疗保健合规性审计(ePHI 安全和审计日志) | | `hitrust-csf-compliance` | 高端医疗保健框架审计(DLP,设备信任) | | `epcs-dea-compliance` | 针对受控物质电子处方 (EPCS) 的 DEA 法规 | | `pci-dss-readiness` | 支付卡行业 (PCI DSS v4.0) 就绪情况审计 | | `iso-27001-infosec.md` | 针对 ISO/IEC 27001 信息安全管理体系进行审计 | | `cmmc-dod-readiness.md` | 针对 CMMC Level 2 (DoD) 安全要求进行审计 | | `gdpr-ccpa-privacy.md` | 针对全球隐私法(GDPR/CCPA/ISO 27701)进行审计 | ## 工作原理 1. **读取** — RedTeam Arena 读取目标目录中的源文件。 2. **攻击** — 红队智能体根据选择的场景分析代码中的漏洞,生成包含严重性、文件位置和攻击向量的结构化发现。 3. **防御** — 蓝队智能体审查每个发现,并提出带有代码修复和置信度的具体缓解措施。 4. **报告** — 生成报告(Markdown、JSON、SARIF 或 HTML),包含所有发现、缓解措施和严重性摘要。 每次对抗运行多轮。在每一轮中,红队智能体根据之前的发现进行更深入挖掘,蓝队智能体则完善其防御。 ## 编程 API RedTeam Arena 的核心是完全可导入的,可在您自己的工具中使用: ``` import asyncio from redteam_arena import ( BattleEngine, BattleEngineOptions, BattleConfig, RedAgent, BlueAgent, ClaudeAdapter, load_scenario, generate_report, ) async def main(): provider = ClaudeAdapter() scenario_result = await load_scenario("sql-injection") if not scenario_result.ok: raise RuntimeError("Scenario not found") config = BattleConfig( target_dir="./my-project", scenario=scenario_result.value, rounds=3, ) engine = BattleEngine(BattleEngineOptions( red_agent=RedAgent(provider), blue_agent=BlueAgent(provider), config=config, )) battle = await engine.run() report = generate_report(battle) print(report) asyncio.run(main()) ``` ## 配置文件 可选地,将 `.redteamarena.yml` 添加到您的项目根目录: ``` # .redteamarena.yml provider: claude # claude | openai | gemini | ollama model: claude-sonnet-4-20250514 rounds: 5 format: markdown # markdown | json | sarif | html ``` ## CI/CD 集成 ### GitHub Actions ``` - name: RedTeam Arena Security Scan run: | pip install redteam-arena redteam-arena battle ./src --scenario full-audit --fail-on high --format sarif -o security.sarif.json env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} - name: Upload SARIF results uses: github/codeql-action/upload-sarif@v3 with: sarif_file: security.sarif.json ``` ## 环境要求 - **Python** >= 3.10 - **API 密钥** 用于您选择的提供商: - Claude(默认):`ANTHROPIC_API_KEY` — [在此获取](https://console.anthropic.com/) - OpenAI:`OPENAI_API_KEY` - Gemini:`GEMINI_API_KEY` - Ollama:无需密钥(在本地运行) ## 安全性 要报告 RedTeam Arena 本身的安全漏洞,请参阅 [SECURITY.md](SECURITY.md)。 ## 许可证 [MIT](LICENSE) — Muhammad Dilawar Shafiq (Dilawar Gopang)
**如果 RedTeam Arena 对您有用,请给它加星 — 这有助于其他人发现它。** [![GitHub Stars](https://img.shields.io/github/stars/DilawarShafiq/redteam-arena?style=social)](https://github.com/DilawarShafiq/redteam-arena) [报告 bug](https://github.com/DilawarShafiq/redteam-arena/issues/new?template=bug_report.md) · [请求功能](https://github.com/DilawarShafiq/redteam-arena/issues/new?template=feature_request.md) · [贡献](CONTRIBUTING.md)
标签:AI智能体, CISA项目, Python, 安全测试, 攻击性安全, 文档结构分析, 无后门, 自动化渗透测试, 逆向工具