roqueribeiro/more4cai
GitHub: roqueribeiro/more4cai
CAI 是一个持续 AI 安全平台,编排多种安全扫描器并通过 AI 分拣生成可被 AI 编程工具自动消费的修复建议包。
Stars: 1 | Forks: 0
# CAI — 持续 AI 安全
[](LICENSE)
[](https://www.python.org/downloads/release/python-3130/)
[](https://github.com/roqueribeiro/more4cai/actions/workflows/ci.yml)
[](#status)
**其他语言的文档:** [Português (Brasil)](README.pt-BR.md)
CAI 是一个开源平台,它编排了 15 款安全扫描器(Nmap、OWASP ZAP、Nuclei、Trivy、Greenbone、Gitleaks、Trufflehog、dnstwist、Checkov、kube-bench、Shodan、Censys、GitHub Code Search、Subdomain Takeover 以及一个基础的 Protocol),将它们的输出标准化为规范的 `Finding` schema,并在导出 **AI Fix Bundle JSON** 之前运行注重隐私的 AI 分拣步骤,其他 AI 代理(Claude Code、Cursor、Copilot)可以消费该 JSON,从而为目标代码库提出补丁建议。
目标是:为受监管的环境(银行、金融科技、医疗保健)**闭环扫描与修复之间的脱节**,在这些环境中,漏洞发现不能泄露到公共互联网,但人工渗透测试人员无法扩展到每一个代码库。
## 状态
CAI 处于 **alpha (pre-1.0)** 阶段。接口和 DB schema 可能会发生破坏性变更。针对真实资产的生产环境使用受限于 [SECURITY.md](SECURITY.md) 中记录的合规性检查以及 [docs/threat-model.md](docs/threat-model.md) 中的威胁模型。
## 工作原理
```
Operator AI Patcher
(CLI / REST / UI) (Claude Code, Cursor, ...)
| ^
v |
+-------------------+ +----------------+ |
| CAI Orchestrator |----->| Canonical | |
| - 15 adapters | | Finding (v2) | |
| - PII scrubber | +-------+--------+ |
| - litellm AI | v |
| triage | +----------------+ |
| - Audit log |----->| AI Triage | |
| (append-only) | | (OWASP/CWE) | |
+---------+---------+ +-------+--------+ |
| v |
| +----------------+ |
| | AI Fix Bundle |---+
| | JSON (1.0.0) |
| +----------------+
v
+-------------------+
| HTML reports + |
| Dashboard UI |
+-------------------+
```
## 快速开始(5 分钟)
前置条件:Docker Desktop(Windows 上使用 WSL2)或 Docker Engine,8 GB 空闲内存,以及可选的 Claude/OpenAI API key。
```
git clone https://github.com/roqueribeiro/more4cai.git
cd more4cai
cp .env.example .env
# 填写 APP_TOKEN, POSTGRES_PASSWORD, ZAP_API_KEY (任意随机字符串)
# 可选: ANTHROPIC_API_KEY 或 OPENAI_API_KEY
make build # build the orchestrator image
make up # bring up postgres + redis + orchestrator + worker + zap + lab
make migrate # alembic upgrade head
make smoke # E2E: scan Juice Shop and produce an HTML report
```
打开 `http://127.0.0.1:8080/ui/` 查看仪表板,或打开 `http://127.0.0.1:8080/docs` 查看 OpenAPI 规范。所有端点都要求提供您在 `.env` 中设置的 `X-API-Token` header。
## 功能特性
- **15 个扫描器适配器**遵循统一的 `ScannerAdapter` Protocol —— 易于添加新适配器(参见 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [`orchestrator/adapters/base.py`](orchestrator/adapters/base.py))。
- **规范的 `Finding` schema**,包含去重、严重性、OWASP/CWE 映射、证据和修复提示。
- **PII / PCI 清洗器**,在*任何数据*离开编排器*之前*,涂改 CPF、CNPJ、卡号、JWT、AWS key 和巴西电话号码。
- **通过 [litellm](https://github.com/BerriAI/litellm) 进行 AI 分拣** —— 可在单一配置下兼容 Anthropic、OpenAI、OpenRouter、Ollama 和 LM Studio。本地模型可将敏感发现保留在本地。
- **AI Fix Bundle JSON 导出器 (schema 1.0.0)** —— 专为移交给 AI 补丁工具而设计,可针对被扫描的项目提出代码修改建议。
- **仅追加审计日志**,在应用程序层和 Postgres 触发器层强制执行。
- **HTML 技术和执行报告** + 可选的 DefectDojo 导出。
- **模块化 Docker Compose** —— 根据需要选择配置文件(`default`、`scanners`、`lab`、`greenbone`、`obs`、`proxy`、`ai-agent`)。
## 适配器
| 适配器 | 扫描器 | 类型 |
|---|---|---|
| `nmap_adapter` | Nmap | 网络 |
| `zap_adapter` | OWASP ZAP | Web 应用 (DAST) |
| `nuclei_adapter` | Nuclei | 模板化漏洞扫描 |
| `trivy_adapter` | Trivy | 容器 / IaC / FS |
| `checkov_adapter` | Checkov | IaC 配置不当 |
| `gitleaks_adapter` | Gitleaks | 密钥扫描 |
| `trufflehog_adapter` | Trufflehog | 已验证密钥扫描 |
| `dnstwist_adapter` | dnstwist | Typosquatting / 域名权限 |
| `kube_bench_adapter` | kube-bench | CIS Kubernetes |
| `greenbone_adapter` | Greenbone / OpenVAS | 网络漏洞 |
| `shodan_adapter` | Shodan | 互联网暴露面 (OSINT) |
| `github_exposure_adapter` | GitHub Search | 代码 / 密钥泄露 |
| `censys_adapter` | Censys | 互联网暴露面 (可选) |
| `subdomain_takeover_adapter` | subfinder + httpx + nuclei | 子域名接管 |
## 深入文档
目前完整的项目文档为**葡萄牙语(巴西)**。非常欢迎翻译方面的帮助 —— 请参阅标记为 `good first issue` + `docs` 的 issue。
- [README.pt-BR.md](README.pt-BR.md) — 完整功能演示 (PT-BR)
- [docs/architecture.md](docs/architecture.md) — 内部结构
- [docs/runbook.md](docs/runbook.md) — 运维、故障排除和常见陷阱
- [docs/threat-model.md](docs/threat-model.md) — 威胁模型与合规门控
- [docs/usage.md](docs/usage.md) — 端到端使用示例
- [docs/testing.md](docs/testing.md) — 测试策略
## 贡献
欢迎提交 issue 和 PR —— 请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 和[行为准则](CODE_OF_CONDUCT.md)。如需报告安全问题,请遵循 [SECURITY.md](SECURITY.md)(私密渠道)。
## 许可证
Apache License 2.0 — 参见 [LICENSE](LICENSE) 和 [NOTICE](NOTICE)。
CAI 捆绑或调用的第三方软件受其各自的许可证约束;请参阅 `NOTICE` 和 `pyproject.toml`。
标签:AI大模型集成, DevSecOps, FTP漏洞扫描, Python, 上游代理, 安全编排, 密码管理, 插件系统, 搜索引擎查询, 无后门, 测试用例, 自动化漏洞扫描, 请求拦截, 逆向工具