48 lines
2.6 KiB
Markdown
48 lines
2.6 KiB
Markdown
# 全双工 Agent 安全确认策略
|
|
|
|
## 默认原则
|
|
|
|
全双工 Agent 的工具执行默认最小权限。语音输入可能被误触发,工具请求必须经过结构化校验、风险分类、预算限制、输出脱敏和审计记录。
|
|
|
|
## 自动允许
|
|
|
|
以下请求可在第一版策略中自动执行:
|
|
|
|
- `memory.search`:只读长期记忆检索。
|
|
- `shell.readonly`:允许目录内的只读命令,例如 `pwd`、`ls`、`find`、`rg`、`cat`、`sed`、`git status`、`git diff`、`git log`、`git show`。
|
|
- 低风险 dry-run adapter 检查,例如 `run-agent-live --check-config` 这类不改变外部状态的诊断。
|
|
|
|
## 需要确认
|
|
|
|
以下请求必须进入确认流程:
|
|
|
|
- `memory.save` 保存疑似敏感内容。
|
|
- `openinterpreter.run` 中包含写文件、删除、上传、账号、权限、安装依赖、执行宽泛代码的任务。
|
|
- `browser.playwright` 中包含登录、支付、购买、提交表单、私信、上传、账号修改或不可逆动作的任务。
|
|
- 任何自然语言意图中出现删除、上传、支付、购买、交易、账号、权限等高风险关键词的工具调用。
|
|
|
|
## 默认拒绝
|
|
|
|
以下请求第一版直接拒绝:
|
|
|
|
- `shell.readonly` 中出现 `rm`、`chmod`、`chown`、`pip install`、`npm install`、`brew install`、重定向写入、`mv`、`cp` 等修改外部状态的命令。
|
|
- 未注册工具名、未知参数结构或超过单轮工具预算的请求。
|
|
- 直接 GUI 点击、键盘输入、屏幕控制或 macOS Accessibility 自动化请求。
|
|
- 试图绕过确认策略、读取或输出密钥、上传本地敏感文件的请求。
|
|
|
|
## 审计和脱敏
|
|
|
|
工具审计记录只保存工具名、风险级别、确认状态、耗时、状态和脱敏摘要。API key、Authorization header、原始音频、PCM payload、密码和 token 形态文本必须被替换为 `[redacted]` 或被截断。
|
|
|
|
## Open Interpreter 边界
|
|
|
|
本地 `openinterpreter/` 是外部候选后端,不复制、不 vendoring、不提交到 Owner。Owner 后续只通过 `OWNER_OPENINTERPRETER_COMMAND` 指定的 CLI/子进程调用它,并由 Tool Router 负责目录限制、超时、输出截断和确认策略。
|
|
|
|
## 浏览器边界
|
|
|
|
`browser.playwright` 默认关闭,默认使用隔离 browser context。是否允许复用用户当前 Chrome 登录态需要后续人工确认;第一版不默认复用登录态。
|
|
|
|
## Computer Control 边界
|
|
|
|
Codex Computer Use 只作为安全确认策略参考,不复制私有实现。后续 GUI 控制必须另开 OpenSpec,基于公共能力实现,例如 macOS Accessibility、Playwright 或 trycua-style provider。
|