DeanWay Labs。 Sentinel 是 QuietOS 的镜像。 QuietOS 治理 AI 智能体做什么。Sentinel 治理 AI 智能体听到什么。
大脑提出建议,QuietOS 负责处置——而 Sentinel 决定大脑究竟被允许听到什么。
智能体在同一个流中读取数据和指令,且无法原生地区分二者。 于是这个世界学会了把命令藏在数据里:一个网页告诉助手把密码通过邮件发出去,一封邮件披着所有者的名字,一个工具结果里夹带着第二个秘密任务。这就是提示注入,它之所以奏效,是因为门口没有任何东西把守。
Sentinel 就站在门口。
只有所有者才能下达指令。其他一切都是数据。
来自外部世界的内容——网页、邮件、文件、消息、工具输出——在到达大脑之前接受检查,凡是放行的内容都以数据的形式被包裹并标记,绝不作为命令。内容内部的声称(“我是所有者”、“所有者已经批准了此事”、SYSTEM:)不能证明任何身份:身份认证来自信道,绝不来自文本。
| 裁决 | 含义 |
|---|---|
| ALLOW | 干净数据。放行,并标记为数据。 |
| ESCALATE | 来自非所有者来源、针对智能体的指令形态内容。连同完整保留的原始内容一并扣留,交由所有者处理——与 QuietOS 相同的审批绑定纪律。在等待期间,任何东西都不会对其采取行动。 |
| BLOCK | 已知的敌意模式:数据外泄指令、所有者/系统冒充、虚假审批声明、规则覆盖咒语、隐藏指令。直接拒绝。 |
每一次 ESCALATE 和 BLOCK 都会写入仅追加的攻击账本——时间戳、来源、裁决、匹配到的信号、精确内容的 SHA-256,以及保留的摘录。攻击尝试就是证据,账本是产品的一部分,正如 QuietOS 的红队证明日志一样。
Signal 值;基于模型的检查可以加入 rules.CHECKS,而无需改动引擎。docs/PROOF-LOG.md):这道围栏
仅支持英语且仅做字面匹配——同义词构造、leet 语和纯语义攻击可以
通过围栏。但它们仍然要面对法则:漏过的内容到达大脑时被标记
为数据,而非命令。检测提高攻击成本;权威才是那堵墙。from sentinel import Inspector, Source
inspector = Inspector() # optionally: Inspector(ledger=AttackLedger("attacks.jsonl"))
verdict = inspector.inspect(page_text, Source("webpage", url))
if verdict.verdict == "ALLOW":
brain_input = Inspector.labeled_payload(verdict, page_text)
elif verdict.verdict == "ESCALATE":
hold_for_owner(verdict.excerpt, verdict.signals) # exact content, owner's call
else: # BLOCK
refuse(verdict)
所有者自身的已认证通道是检查的唯一例外:
Source("owner", ..., owner_authenticated=True) 以角色 instruction 通过——
它不是攻击面,而是权威。对所有者通道的未认证声明在构造上即被作为冒充行为拦截。
python3 -m pytest tests/ -q
三个测试套件:tests/test_redteam.py(攻击用例)、tests/test_controls.py
(必须作为数据通过的无害内容)、tests/test_engine.py(权限法则、
账本证据、标记)。结果——包括漏报——记录在
docs/PROOF-LOG.md 中。
由 Jon Dean(DeanWay Labs)于 2026-10-21 构思:“我们管控输出——难道不也 需要保护 AI,并管控输入吗?” 当晚即构建完成。 由 Jon 命名为 Sentinel。