doggydaddy90/robozilla-core
GitHub: doggydaddy90/robozilla-core
一款面向安全敏感场景的 AI Agent 运行时框架,通过契约驱动、策略优先的设计确保 Agent 行为始终在可控边界内执行。
Stars: 0 | Forks: 0
# RoboZilla Core
RoboZilla Core 是一个用于契约驱动代理工作流的故障封闭、策略优先运行时。
其设计旨在确保即使能力扩展,强制执行依然有效。该平台优先考虑确定性验证、严格边界和可审计执行,而非宽松行为。
## 本仓库包含内容
- 位于 `runtime/core` 下的模块化运行时
- 契约与策略强制执行(作业生命周期、权限、范围限制)
- 安全 API 接口(健康检查、作业、制品、评估、仪表板)
- Roland 信任感知安全模块和编排工具
- 针对核心强制执行路径的完整单元测试和压力测试覆盖
## 核心安全不变量
这些是本代码库中不可协商的约束:
1. 能力管控默认拒绝(`CapabilityEnforcer`)
2. `IntentEnvelope` 哈希和范围检查是强制性的
3. 强制执行仅差异写入边界(`diffEnforcer` + `pathGuard.safeWrite`)
4. 严格模式隔离默认启用(`ROLAND_STRICT_MODE=true`)
5. 密钥/PII 处理采用故障封闭机制(`redaction_layer`,角色控制)
6. 工具出口前强制执行端点白名单
7. 强制执行脊梁不存在全局旁路开关
## 架构
顶级运行时模块:
- `runtime/core/api`:HTTP 路由器(`main`、仪表板、Roland 辅助工具)
- `runtime/core/security`:能力、路径、差异、信任、意图、注入、角色、端点控制
- `runtime/core/orchestration`:研究路由、置信度适配器、脱敏、循环控制器
- `runtime/core/governance`:严格度配置文件和行为谨慎控制
- `runtime/core/search`:布尔查询策略 + 构建器 + 零结果记忆注册表
- `runtime/core/economics`:稀缺性和节流策略适配
- `runtime/core/registry`:schema 和清单加载/验证
- `runtime/core/executor`:契约感知作业引擎和策略层
- `runtime/core/audit`:不可变哈希链审计日志
- `runtime/core/tests`:单元/压力测试套件
## Roland 加固模型
请求加固路径是信任感知且分层的:
1. 信任分类(`internal_system`、`structured_external`、`unstructured_external`)
2. 按信任级别选择防御矩阵
3. 针对非内部输入进行 Prompt 注入过滤
4. 意图风险评分和拒绝阈值检查
5. 基于严格度的敏感度调整(不削弱不变量)
6. 工具执行前能力强制执行保持强制性
### 信任分类
在 `runtime/core/security/trust_classifier.py` 中实现。
- 内部签名类型化 schema 绑定调用 -> `internal_system`
- 结构化 API JSON 输出 -> `structured_external`
- 抓取/网页/用户文本 -> `unstructured_external`
### 防御矩阵
在 `runtime/core/security/defense_matrix.py` 中实现。
- `internal_system`:跳过注入/意图预处理,但仍需要能力、范围和核心边界
- `structured_external`:轻度注入过滤 + 意图检查 + schema 钩子
- `unstructured_external`:完整注入过滤 + 意图检查 + 熵值保护 + 高风险日志记录
### 意图分类器
在 `runtime/core/security/intent_classifier.py` 中实现。
检测并评分:
- 秘密提取尝试
- 范围覆盖尝试
- 系统提示泄露尝试
- 文件访问滥用
- 工具滥用意图
风险类别阈值:
- `< 0.4`:低
- `0.4 - 0.7`:中
- `> 0.7`:高(在工具层之前拒绝)
### 严格度适配器
在 `runtime/core/governance/strictness_adapter.py` 中实现。
`system_strictness`(默认 `0.75`)仅控制行为谨慎度:
- 意图拒绝敏感度
- 深度触发激进程度
- 少数派升级敏感度
- 熵值容忍度
- 经济节流激进程度
严格度不能禁用核心保护或将原子底线降至 `0.7` 以下。
### 基于角色的数据访问
在 `runtime/core/security/role_enforcer.py` 中实现。
角色:
- `admin`
- `operator`
- `viewer`
- `agent_internal`
规则:
- Admin 可以访问敏感个人字段(例如电话、地址、SSN)
- 非管理员访问这些字段将被拒绝
- 凭证/秘密永远不会在聊天响应中返回,包括 admin
### Prompt 注入过滤器
在 `runtime/core/security/prompt_injection_filter.py` 中实现。
过滤/阻止的模式包括:
- 指令覆盖措辞
- 密钥/令牌窃取请求
- 脚本标签
- 嵌入的大型 base64 payload
- 编码指令尝试
### 端点白名单强制执行
在 `runtime/core/security/endpoint_allowlist_enforcer.py` 中实现。
工具出口必须匹配声明的允许端点。
- 未知端点被拒绝
- 禁止通配符域
## 搜索栈
### 布尔查询策略
- 操作符策略文件:`runtime/core/search/search_operator_policy.yaml`
- 构建器/验证器:`runtime/core/search/boolean_query_builder.py`
特性:
- 特定层级操作符合法性
- 引擎能力矩阵检查
- 分组深度验证
- 确认偏差查询检测
- 结构化输出契约
### 零结果记忆注册表
在 `runtime/core/search/zero_result_registry.py` 中实现。
目的:
- 在 SQLite 中持久化高级零结果记忆
- 避免对结构等效的失败查询重复进行昂贵的升级
注册表表:
- `zero_result_registry(engine, query_signature, zero_count, last_seen, entropy_score)`
查询签名行为:
- 标准化布尔/操作符结构
- 剥离日期界限
- 剥离动态令牌
- 确定性 SHA-256 哈希
路由器集成:
- 在高级升级路径之前应用
- 如果被阻止,则跳过高级调用并审计 `search.zero_memory_block`
- 不阻止 RAG 或阶段 1 低成本表面
## API 接口
主 FastAPI 应用(`runtime/core/api/main.py`)包括:
- `GET /health`
- `GET /audit/verify`
- `POST /jobs`
- `GET /jobs/{job_id}`
- `POST /jobs/{job_id}/run`
- `POST /jobs/{job_id}/stop`
- `POST /artifacts`
- `GET /artifacts/{artifact_id}`
- `POST /evaluations`
仪表板路由器包括:
- `GET /dashboard/telemetry`
- `GET /dashboard/economics`
- `GET /dashboard/rag`
- `GET /dashboard/truth-ledger`
Roland 路由器辅助工具(`runtime/core/api/roland_interface.py`)提供:
- `POST /roland/query`
- `POST /roland/research`
- `GET /roland/health`
- `GET /roland/economics_summary`
## 本地开发
安装依赖:
```
cd runtime/core
python -m pip install -r requirements.txt
```
运行 API:
```
cd runtime/core
python -m uvicorn api.main:app --host ${API_BIND:-localhost} --port ${API_PORT:-8787}
```
容器运行:
```
cd runtime/core
docker compose up --build
```
## 配置
主要配置文件:
- `runtime/core/config/runtime.yaml`
- `runtime/core/config/logging.yaml`
- `runtime/core/config/limits.yaml`
关键环境控制:
- `ROBOZILLA_PROJECT_ROOT`
- `ROBOZILLA_RUNTIME_CONFIG`
- `ROBOZILLA_LOGGING_CONFIG`
- `ROBOZILLA_LIMITS_CONFIG`
- `ROLAND_STRICT_MODE`(默认启用严格模式)
## 测试
运行完整核心套件:
```
python -m unittest discover -s runtime/core/tests -p "test_*.py"
```
运行特定模块:
```
python -m unittest runtime/core/tests/test_research_router.py
python -m unittest runtime/core/tests/test_zero_result_registry.py
```
## 强制优先开发规则
添加新功能时:
1. 保持 `CapabilityEnforcer` 为强制性瓶颈
2. 保留 `IntentEnvelope` 验证和范围子集检查
3. 不要绕过 `safeWrite`/`safeDelete` 差异/路径控制
4. 维护秘密脱敏和角色约束
5. 在出口前强制执行端点白名单
6. 为拒绝情况添加测试,不仅是成功情况
有关运行时的具体细节,请参阅 `runtime/core/README.md`。
标签:AI Runtime, AI 安全, CISA项目, DLP, Fail-closed, Lerna, LLM 防护, PII 脱敏, Streamlit, Web报告查看器, 合同驱动开发, 审计日志, 提示词注入防御, 智能体编排, 治理与合规, 端点白名单, 策略执行, 网络安全审计, 能力围栏, 访问控制, 请求拦截, 软件供应链安全, 远程方法调用, 逆向工具, 零信任架构