holeyfield33-art/aletheia-core
GitHub: holeyfield33-art/aletheia-core
面向自主 AI Agent 的运行时安全网关,通过语义分析和加密审计追踪防护提示注入与策略篡改。
Stars: 1 | Forks: 0
Aletheia Core
面向 AI Agent 的企业级 System 2 安全系统
## 问题背景 自主 AI Agent 正日益管理 CI/CD 流水线、金融交易和关键基础设施。[LiteLLM 供应链攻击](https://github.com/BerriAI/litellm)表明,单个受损的依赖项即可从成千上万个生产环境中静默窃取凭据。现有的防护机制运行于 token 级别 —— 它们无法检测语义伪装的指令,也无法在运行时验证策略完整性。 Aletheia 提供了一个 **System 2 推理层**,该层介入 AI Agent 与其请求的操作之间。每个操作在允许执行之前,都会根据经过加密签名的策略清单进行验证,针对已知攻击模式进行语义相似度分析,并记录带有防篡改审计凭证的日志。 ## 安全保障 以下属性通过加密或架构强制执行: | # | 保障 | 机制 | |---|-----------|-----------| | 1 | **防篡改策略清单** | 每次加载策略前验证 Ed25519 分离签名。签名无效或缺失会导致硬崩溃 (`ManifestTamperedError`)。 | | 2 | **语义意图否决** | 使用 SentenceTransformer (`all-MiniLM-L6-v2`) 计算与 50 多种伪装短语之间的余弦相似度。可配置阈值(默认 0.55)。 | | 3 | **灰区升级处理** | 对处于模糊相似度区间(0.40–0.55)的 Payload 进行二次关键词启发式分类。两个或更多高风险关键词命中即触发否决。 | | 4 | **操作沙箱** | 基于正则表达式的模式扫描器会在调度前阻止 subprocess exec、raw socket、`eval`、文件系统破坏以及权限提升模式。 | | 5 | **每日别名轮换** | 语义别名短语顺序每天通过确定性方式打乱(使用来自日期 + 清单哈希 + `ALETHEIA_ALIAS_SALT` 的 HMAC-SHA256 种子),以防止通过探测进行逆向工程。 | | 6 | **嵌入模型预热** | 模型在 FastAPI 启动时立即加载,以消除首次请求的冷启动延迟。 | | 7 | **审计追踪完整性** | 每个决策都会生成结构化 JSON 日志行和 HMAC 签名的 TMR 凭证(包含决策 + 策略哈希 + payload_sha256 + 操作 + 来源 + 签名)。 | | 8 | **输入加固** | 在任何 Agent 看到 Payload 之前,应用 NFKC 同形字符折叠、零宽字符剥离、带有 10 倍大小炸弹保护的递归 Base64 解码以及 URL 百分号编码解码。 | | 9 | **速率限制** | 内存滑动窗口限制器,默认每个 IP 每秒 10 个请求。支持通过 Redis 进行分布式速率限制以实现水平扩展。 | | 10 | **无堆栈跟踪泄露** | 全局 FastAPI 异常处理程序在生产模式下返回不透明错误。版本和模式永远不会暴露给未认证的 /health 调用者。 | | 11 | **配置驱动防御模式** | `active` / `shadow` / `monitor` — 可通过环境变量或 `config.yaml` 切换,无需更改代码。 | | 12 | **凭证重放抵抗** | HMAC 签名包含 payload_sha256、操作和来源,以防止跨上下文重用。 | 额外保障: - **API Key 认证** — 配置 `ALETHEIA_API_KEYS` 时需要 `X-API-Key` 请求头 - **真实客户端 IP** — 速率限制源自网络层,绝不来自请求体 - **Payload 隐私** — 审计日志仅存储 SHA-256 哈希 + 长度;active 模式下无明文内容 - **凭证签名** — HMAC 凭证使用 `ALETHEIA_RECEIPT_SECRET`;active 模式下必须设置 - **Shadow 判定屏蔽** — 在 shadow 模式下,拦截操作会被记录但不会暴露给客户端 ## 核心特性 - **加密策略完整性** — Ed25519 签名的安全清单;篡改会触发即时硬性否决 - **语义意图分析** — 用余弦相似度替代字符串匹配;捕获伪装的资金转账、权限提升和数据窃取 - **灰区二次分类器** — 关键词启发式捕获低于主要阈值的创造性同义表达 - **操作沙箱** — 基于模式的扫描器阻止 subprocess、eval、raw socket 和文件系统破坏 Payload - **多态防御** — 配置驱动的确定性轮换,支持 LINEAGE、INTENT 和 SKEPTIC 模式 - **结构化审计追踪** — 每个决策的 JSON 行日志和 HMAC 签名 TMR 凭证 - **速率限制** — 滑动窗口限制器(每个 IP 10 req/s,可配置) - **输入加固** — 同形字符归一化、Base64 和 URL 编码递归解码、控制字符剥离 - **每日别名轮换** — 别名库顺序每天按确定性方式打乱以抵抗探测 - **抗 Swarm 分类** — Scout agent 聚类分流干扰噪音并优先处理高波及范围威胁 ## 快速开始 ### 安装 ``` pip install aletheia-cyber-core ``` #### 可选意识临近模块 启用可选的临近功能集: ``` pip install -r requirements-proximity.txt export CONSCIOUSNESS_PROXIMITY_ENABLED=true ``` 临近模块由 `CONSCIOUSNESS_PROXIMITY_ENABLED=true` 控制,并包含用于治理监控和中继评分的可选运行时依赖项。 ### 签名清单(首次运行前必须) ``` python main.py sign-manifest ``` ### 运行本地审计 ``` python main.py ``` ### 启动 API 服务器 ``` uvicorn bridge.fastapi_wrapper:app --host 0.0.0.0 --port 8000 ``` ### 运行测试套件 ``` pytest tests/ -v --ignore=tests/test_api.py ``` ## 架构 Aletheia 通过三 Agent 共识模型运行: ``` Incoming Request │ ├─ Input Hardening (NFKC, Base64, URL decode) │ ▼ ┌─────────────────┐ │ Scout │ Threat intelligence, swarm detection, IP scoring └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Nitpicker │ Polymorphic intent analysis, lineage tracing, │ │ semantic blocked-pattern detection └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Judge │ Manifest signature verification, policy veto, │ │ semantic alias veto, grey-zone escalation, │ │ action sandbox check └────────┬────────┘ │ PROCEED / DENY │ ▼ Audit Log + TMR Receipt ``` ## API 参考 **POST** `/v1/audit` 请求: ``` { "payload": "string (max 10,000 chars)", "origin": "string (max 128 chars)", "action": "string — pattern: ^[A-Za-z0-9_\\-:.]+$", "client_ip_claim": "string (optional, audit/debug only — never used for enforcement)" } ``` 响应: ``` { "decision": "PROCEED | DENIED | RATE_LIMITED | SANDBOX_BLOCKED", "metadata": { "threat_level": "LOW | MEDIUM | HIGH | CRITICAL", "latency_ms": 14.0, "request_id": "a1b2c3d4e5f6g7h8", "client_id": "ALETHEIA_ENTERPRISE" }, "receipt": { "decision": "PROCEED", "policy_hash": "sha256...", "payload_sha256": "sha256...", "action": "Read_Report", "origin": "trusted_admin", "signature": "hmac-sha256...", "issued_at": "ISO-8601" } } ``` **注意:** `shadow_verdict` 和 `redacted_payload` 已从客户端响应中移除(v1.4.2+),作为安全加固的一部分。 ## 项目结构 ``` aletheia-cyber-core/ ├── agents/ │ ├── scout_v2.py # Threat intelligence + swarm detection │ ├── nitpicker_v2.py # Polymorphic intent sanitization + embeddings │ └── judge_v1.py # Policy enforcement + semantic veto ├── bridge/ │ ├── fastapi_wrapper.py # Production REST API (rate-limited, audited) │ ├── config.py # Legacy config shim │ └── utils.py # Input hardening (homoglyphs, Base64, URL) ├── core/ │ ├── config.py # Centralized settings (env / yaml / defaults) │ ├── embeddings.py # Shared SentenceTransformer service │ ├── audit.py # Structured JSON logging + TMR receipts │ ├── rate_limit.py # Sliding-window rate limiter │ └── sandbox.py # Action sandbox pattern scanner ├── manifest/ │ ├── security_policy.json # Ground truth veto rules │ ├── security_policy.json.sig # Ed25519 detached signature │ ├── security_policy.ed25519.pub # Public verification key │ └── signing.py # Manifest signing and verification ├── tests/ │ ├── test_core.py # Integration tests │ ├── test_judge.py # Judge unit + adversarial tests │ ├── test_nitpicker.py # Nitpicker unit + semantic tests │ ├── test_enterprise.py # Audit, rate-limit, hardening tests │ ├── test_hardening.py # Sandbox, grey-zone, rotation tests │ └── test_proximity/ # Consciousness proximity module (84 tests) ├── simulations/ # Adversarial simulation scripts ├── main.py # CLI entry point ├── AGENTS.md # Agent communication protocol └── requirements.txt ``` ## 生产环境使用 ### 配置 所有设置均可通过环境变量(前缀为 `ALETHEIA_`)或 `config.yaml` 配置: | 设置 | 环境变量 | 默认值 | 描述 | |---------|---------|---------|-------------| | `intent_threshold` | `ALETHEIA_INTENT_THRESHOLD` | `0.55` | 语义否决的余弦相似度阈值 | | `grey_zone_lower` | `ALETHEIA_GREY_ZONE_LOWER` | `0.40` | 灰区升级区间的下限 | | `rate_limit_per_second` | `ALETHEIA_RATE_LIMIT_PER_SECOND` | `10` | 每个 IP 每秒最大请求数 | | `mode` | `ALETHEIA_MODE` | `active` | 防御模式:`active`、`shadow` 或 `monitor` | | `log_level` | `ALETHEIA_LOG_LEVEL` | `INFO` | 日志详细程度 | | `audit_log_path` | `ALETHEIA_AUDIT_LOG_PATH` | `audit.log` | 结构化审计日志路径 | ### 已知限制 - **速率限制器基于内存。** 进程重启时状态重置,且不会在 Worker 间同步。水平扩展请使用 Redis 或外部存储。 - **嵌入模型需要约 500 MB 磁盘空间。** `all-MiniLM-L6-v2` 模型在首次使用时下载。请在 Docker 镜像构建步骤中预拉取。 - **静态别名库。** 虽然每日轮换可缓解探测,但拥有长期访问权限的攻击者仍可能枚举模式。对于高敏感部署,建议补充基于 LLM 的分类器。 - **无运行时系统调用拦截。** 操作沙箱验证声明的意图,而非运行时行为。请配合 OS 级沙箱(seccomp、AppArmor)进行纵深防御。 ## 支持 如果此项目对您的组织有用,请考虑联系我们了解[托管服务和企业计划](mailto:hello@aletheia-core.com)。 ## 环境变量 | 变量 | 必需 | 描述 | |---|---|---| | `ALETHEIA_API_KEYS` | 生产环境 | 用于 `X-API-Key` 认证的逗号分隔 API Key。未设置 = 开放模式。 | | `ALETHEIA_RECEIPT_SECRET` | 是(生产环境) | 用于审计凭证的 HMAC 密钥。在 active 模式下,缺少此项服务将无法启动。通过 `openssl rand -hex 32` 生成。 | | `ALETHEIA_ALIAS_SALT` | 推荐 | 每日别名轮换的盐值。防止枚举攻击。通过 `openssl rand -hex 32` 生成。 | | `ALETHEIA_MODE` | 否 | `active`(默认)、`shadow` 或 `monitor` | | `ALETHEIA_LOG_LEVEL` | 否 | `INFO`(默认)、`DEBUG`、`WARNING` | | `ALETHEIA_RATE_LIMIT_PER_SECOND` | 否 | 每个 IP 每秒请求数。默认:`10` | | `ALETHEIA_REDIS_URL` | 用于水平扩展 | 用于分布式速率限制的 Redis URL。示例:`redis://localhost:6379/0` | | `CONSCIOUSNESS_PROXIMITY_ENABLED` | 否 | 启用临近模块。默认:`false` | ## 启动前验证 在生产环境中启动服务之前,请完成以下检查清单: ### 1. 验证必需的密钥已设置 ``` # ALETHEIA_RECEIPT_SECRET 是 active 模式必需的 if [ -z "$ALETHEIA_RECEIPT_SECRET" ]; then echo "ERROR: ALETHEIA_RECEIPT_SECRET not set" exit 1 fi # 建议使用 ALETHEIA_ALIAS_SALT if [ -z "$ALETHEIA_ALIAS_SALT" ]; then echo "WARNING: ALETHEIA_ALIAS_SALT not set — alias rotation is predictable" fi ``` ### 2. 测试健康检查端点 ``` curl http://localhost:8000/health # 预期响应 (v1.4.2+): # { # "status": "ok", # "uptime_seconds": 3600, # "manifest_signature": "VALID" # } # 注意:已移除 version 和 mode 信息以防止信息泄露 ``` ### 3. 验证凭证签名功能 ``` curl -X POST http://localhost:8000/v1/audit \ -H "Content-Type: application/json" \ -d '{ "payload": "test payload", "origin": "admin", "action": "Read_Report" }' # 响应必须包含 "signature" 字段,且为非空的 HMAC-SHA256 hex string # 切勿在生产环境中使用 UNSIGNED_DEV_MODE ``` ### 4. 确认 shadow 模式不会泄露判定结果 ``` ALETHEIA_MODE=shadow uvicorn bridge.fastapi_wrapper:app --port 8000 & sleep 2 curl -X POST http://localhost:8000/v1/audit \ -H "Content-Type: application/json" \ -d '{"payload": "transfer funds", "origin": "user", "action": "Transfer_Funds"}' # 响应绝不能包含 "shadow_verdict" 字段(即使 action 已在内部被阻止) ``` ### 生产环境启动命令 ``` # 生成安全密钥 ALETHEIA_RECEIPT_SECRET=$(openssl rand -hex 32) ALETHEIA_ALIAS_SALT=$(openssl rand -hex 32) # 以 active 模式启动 ALETHEIA_MODE=active \ ALETHEIA_RECEIPT_SECRET="$ALETHEIA_RECEIPT_SECRET" \ ALETHEIA_ALIAS_SALT="$ALETHEIA_ALIAS_SALT" \ ALETHEIA_REDIS_URL="redis://your-production:6379" \ uvicorn bridge.fastapi_wrapper:app --host 0.0.0.0 --port 8000 --workers 4 ``` ## 贡献 关于提交 Issue 和 Pull Request 的指南,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 安全 如需报告漏洞,请参阅 [SECURITY.md](SECURITY.md)。 ## 许可证 [MIT](LICENSE) — 版权所有 (c) 2026 Ashura Joseph Holeyfield — Aletheia Sovereign Systems标签:AI 安全, DNS 反向解析, Ed25519, HMAC 签名, JSONLines, NIST AI RMF, Python, Streamlit, 人工智能安全, 企业级安全, 合规性, 完整性校验, 密码学审计, 提示词注入检测, 搜索引擎查询, 文档安全, 无后门, 智能体安全, 深度学习防御, 系统二推理, 访问控制, 逆向工具, 零信任