Legendarylibrorg/AutoDefense

GitHub: Legendarylibrorg/AutoDefense

本地优先的自主多智能体 AI 防御平台,实时监控 AI 输入输出与工具调用,检测并阻断提示注入、敏感信息泄露等多种威胁。

Stars: 0 | Forks: 0

# 自动防御 自主、事件驱动的多智能体防御系统,可实时监控 AI 输入、输出和工具调用——评估风险、自主响应、通过动态护栏进行自愈,并将完整的可观测性流式传输到 React 仪表板。 **默认采用双层 AES-256-GCM 加密**——对于每个 32 字节的主密钥(传输中 + 静态),代码会派生出**精确的三个** HKDF-SHA256 子密钥(内部 AES、外部 AES、HMAC);每个有效负载在解密时均会通过**四项**检查(外部 GCM 标签、内部 GCM 标签、HMAC、明文的 SHA-256)进行验证。详情请见:[安全 → 加密](docs/security.md#encryption)。密钥可以在首次运行时通过 `scripts/start.sh` 自动生成。 本软件使用**基于模式的启发式方法和可配置规则**。它**不保证**能检测出所有攻击、消除误报,或适用于任何特定的合规机制或威胁模型。请根据您的自身需求进行评估。 ``` flowchart LR subgraph Client App[AI App / Tools] end subgraph Backend[FastAPI Backend] GW[API Gateway] --> Pipeline Pipeline --> Sentinel[Sentinel Agent] Pipeline --> Policy[Policy Agent] Pipeline --> Behavior[Behavior Agent] Pipeline --> Artifact[Artifact Agent] Pipeline --> Coordinator Coordinator --> Risk[Risk Engine] Risk --> Response[Response Engine] Response --> Forensics Response --> SelfHeal[Self-Healing] end subgraph Infra Redis[(Redis Streams)] end subgraph UI[React Dashboard] FE[Frontend] end App -->|POST /analyze| GW Pipeline -->|events| Redis FE <-->|WebSocket| GW FE -->|REST| GW ``` ## 快速开始 ``` # macOS / Linux ./scripts/start.sh # Windows PowerShell .\scripts\start.ps1 ``` 这会将 `.env.example` 复制到 `.env`,自动生成加密密钥和 API 密钥,并运行 `docker compose up --build`。 **从 `git clone` 开始的完整演练:** [docs/setup.md](docs/setup.md)(前置条件、`.env`、Docker、本地开发、扫描器以及加密文档的链接)。 | URL | 用途 | |-----|------| | http://localhost:3000 | 仪表板 | | http://localhost:8000/docs | API 文档 (Swagger) — 仅在 `AUTODEFENSE_ENVIRONMENT` 归一化为 `local` 时提供 | | http://localhost:8000/health | 健康状态 + Redis 状态;完整的平台详细信息仅在 `local` 环境下显示 | ## 防御范围 防御范围已映射至 [OWASP LLM Top 10 (2025)](https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/) 和 [OWASP Agentic AI Top 10 (2026)](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/): | 威胁 | 防御措施 | |--------|---------| | 提示词注入 | 17 种注入模式 + 26 种越狱模式,编码规避,多语言支持 (FR/DE/ES/JA/ZH/RU),自愈规则 | | 敏感信息泄露 | 17 种秘密模式,7 个 PII 检测器,系统提示词泄露检测,自动脱敏 | | 不当输出处理 | 模型输出中的 14 种 XSS / 注入模式 | | 过度授权 / 工具滥用 | 60+ 种工具滥用模式,16 个代码执行正则表达式 | | 系统提示词泄露 | 输入端提取拦截 + 输出端泄露检测 | | 无限制消耗 | 速率限制 (120 请求/分钟/IP),10 MB 请求体限制,Pydantic 大小约束,产物上限 | | 恶意产物 | 扩展名拦截,多态文件检测,归档炸弹 (多项条目),脚本标记 | | SSRF | 17 种内部/元数据/云 URL 模式 + 异步 DNS 重绑定检测 | | 网络嗅探与中间人攻击 (MITM) | 30+ 种嗅探器进程检测,混杂模式接口检测,ARP 欺骗,pcap 文件 | | Rootkit 与内核漏洞利用 | Linux 内核扫描器 (隐藏进程、LD_PRELOAD、内核模块、sysctl 加固) | 本表中的计数仅作**说明用途**,可能会随着规则的演进发生变化;它们并非运行时契约。 ## 安全加固 代码库在开发过程中已经过**多次内部聚焦安全的审查迭代**(详见 [docs/security.md](docs/security.md))。但这**不能**替代独立的渗透测试、正式认证或您自身的部署审查。 | 领域 | 加固措施 | |------|-----------| | **加密** | 双层 AES-256-GCM:每个主密钥派生 **3** 个 HKDF-SHA256 子密钥 (内部 AES、外部 AES、HMAC);解密执行 **4** 项检查 (双重 GCM 标签 + HMAC + 明文的 SHA-256) | | **身份验证** | 常量时间 API 密钥比较 (HMAC),通过 `Sec-WebSocket-Protocol` 请求头进行 WebSocket 认证 (无查询参数泄露) | | **输入验证** | NFKC Unicode 规范化,零宽字符剥离,针对所有动态正则表达式 (配置 + 规则) 的 ReDoS 防护,Pydantic 字段约束 | | **SSRF** | 正则表达式模式 + 数值 IP 解析 (十六进制/八进制/十进制) + 2 秒超时的非阻塞异步 DNS | | **DoS 防护** | 10 MB 请求体限制 (Content-Length + 分块传输),基于 **Redis** 的按 IP 速率限制 (跨工作进程共享),WebSocket 超时 + 连接上限 | | **基础设施** | 非 root Docker 容器,通过 `REDISCLI_AUTH` 设置 Redis 密码 (无进程列表泄露),加固的 Nginx CSP,生产环境中的平台信息脱敏 | | **自愈** | 动态规则按请求实际加载并应用,在激活前针对 ReDoS 进行验证 | | **加密完整性** | `alg:none` 降级拒绝,HMAC-SHA256 扫描器有效负载签名,带有 AAD 绑定的密封传输 | ## 项目结构 ``` AUTO DEFENSE/ ├── backend/ # FastAPI + Python agents + Redis event bus │ ├── app/ │ │ ├── agents/ # Sentinel, Policy, Behavior, Artifact, Coordinator, Forensics, Kernel │ │ ├── api/routes/ # REST + WebSocket + SSE endpoints │ │ ├── core/ # Crypto, risk engine, response engine, self-heal, models │ │ ├── policies/ # Default blocked/sanitize regexes │ │ └── services/ # Defense pipeline orchestration │ └── tests/ # pytest suite ├── frontend/ # React 18 + Tailwind + Vite dashboard │ └── src/ │ ├── components/ # StatCard, RiskChart, EventFeed, ConfigPanel, KernelHealth, ... │ ├── lib/ # API client, WebSocket hook │ └── pages/ # App layout ├── scanners/ # Shared helpers imported by platform scanners ├── kernel/ # Linux host scanner (needs repo `scanners/` on path) ├── macos/ # macOS host scanner (needs repo `scanners/` on path) ├── windows/ # Windows host scanner (needs repo `scanners/` on path) ├── simulations/ # Attack simulation scripts ├── scripts/ # Start scripts (sh + ps1) ├── docs/ # Documentation ├── SECURITY.md # Vulnerability reporting ├── CONTRIBUTING.md # Development and PR guidelines ├── CHANGELOG.md # Release notes ├── CODE_OF_CONDUCT.md # Community standards └── docker-compose.yml ``` ## 贡献 / 安全 / 更新日志 | 文档 | 内容 | |----------|----------| | [CONTRIBUTING.md](CONTRIBUTING.md) | 本地开发,测试,PR 预期 | | [SECURITY.md](SECURITY.md) | 漏洞报告 (私密 / 协调披露) | | [CHANGELOG.md](CHANGELOG.md) | 面向发布的变更摘要 | | [行为准则](CODE_OF_CONDUCT.md) | 社区预期 | ## 文档 | 文档 | 内容 | |----------|----------| | [从克隆开始设置](docs/setup.md) | Git clone → `.env` → Docker 或本地后端/前端 → 扫描器 | | [架构](docs/architecture.md) | 系统设计,智能体管道,数据流,事件流 | | [API 参考](docs/api.md) | 包含请求/响应示例的每一个 endpoint | | [安全](docs/security.md) | 威胁模型,加密,OWASP 覆盖矩阵,攻击模式 | | [主机扫描器](docs/scanners.md) | Linux、macOS 及 Windows 扫描器文档 | | [配置](docs/configuration.md) | 所有环境变量,运行时配置,调优 | | [部署](docs/deployment.md) | Docker 安装,本地开发,测试,生产运维 | | [GitHub: 保护 `main`](docs/maintainers/github-repository-setup.md) | 规则集,仅限 PR 工作流,所需 CI (`gh` 脚本) | ## 许可证 MIT — 详见 [LICENSE](LICENSE)。
标签:AES-256-GCM加密, AI安全防御, API网关, AV绕过, CISA项目, Docker, Docker Compose, FastAPI, HKDF密钥派生, PyRIT, Python, React仪表盘, Redis Streams, TCP/IP协议栈, WebSocket, 事件驱动架构, 人工智能安全, 依赖分析, 全栈应用, 动态防护, 合规性, 启发式算法, 响应引擎, 多智能体系统, 大语言模型安全, 安全仪表盘, 安全合规, 安全防御评估, 微服务架构, 恶意工件检测, 提示词注入防护, 搜索引擎查询, 无后门, 本地优先, 机密管理, 模式匹配, 结构化查询, 网络代理, 网络安全平台, 自主防御系统, 自动化安全, 自动化资产收集, 自我修复, 请求拦截, 边界安全, 逆向工具, 遥测数据, 零信任架构, 零日漏洞检测, 风险评估引擎