KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
配套项目:安全动作网关 — keel 龙骨
Safety Controls 的配套项目:配套项目:安全动作网关
项目把不可信模型 Proposal 与可信 ActionEnvelope 分开,并用确定性 PDP、Approval Store 和 PEP 保护模拟配置 Adapter。不会发送真实网络请求、执行 Shell 或修改机器配置。
准备环境
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r courses/advanced/safety-controls/course/project/requirements.txt
建议运行顺序
python courses/advanced/safety-controls/course/project/examples/01_policy_decisions.py
python courses/advanced/safety-controls/course/project/examples/02_untrusted_content.py
python courses/advanced/safety-controls/course/project/examples/03_isolation_policy.py
python courses/advanced/safety-controls/course/project/examples/04_approval_binding.py
python courses/advanced/safety-controls/course/project/examples/05_secure_gateway.py
最后观察真实 Ollama 只产生不可信 Proposal:
ollama serve
ollama pull qwen3:8b
$env:OLLAMA_MODEL = "qwen3:8b"
python courses/advanced/safety-controls/course/project/examples/06_ollama_untrusted_proposal.py
源码阅读顺序
contracts.py Principal、Resource、Proposal、Envelope、Decision
provenance.py 内容来源、信任级别和派生污染
policy.py 默认拒绝、scope 和风险分级
approval.py fingerprint 绑定、职责分离、过期和单次消费
isolation.py URL/网络与结构化命令限制
audit.py 不复制秘密的安全事件
adapter.py 可观察但无真实副作用的外部系统
gateway.py PDP/Approval/Adapter 之间的 PEP
ollama_proposer.py 真实模型的结构化 Proposal
测试
python -m unittest discover -s courses/advanced/safety-controls/course/project/tests -v
固定验证:
- 模型不能伪造 effect、fingerprint、principal 和 resource;
- 未认证、跨租户、超出 action scope 和 production 写入被拒绝;
- 低风险同租户 read 可以自动执行;
- write/external 在无审批时不触发 Adapter;
- Approval Ticket 绑定动作、请求者、策略版本、有效期和单次使用;
- 不可信内容及其摘要不会升级成系统指令;
- 非 allowlist URL、特殊 IP 和未注册命令被隔离策略拒绝;
- 策略异常 fail closed;
- 每个决定和执行都有脱敏审计事件。
生产替换项
教学代码使用内存对象,没有真实 OAuth/OIDC、凭据代理、签名审批、策略服务、资源目录、容器沙箱、不可篡改审计或分布式原子性。生产系统需要把 PEP 放在所有执行入口,使用短期 workload identity,持久化并签名 Approval/Audit,版本化策略与工具目录,并对浏览器、Shell、文件和网络采用独立隔离运行时。