Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

security(policy): HTTP 形态无人工审批闭环——permission hook 零接线、无权限规则时隐式放行

Aperta
#88 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust

Direzione di ricerca

Start with src/tools/policy_domain/permission_pipeline.rs:271-285 and the PermissionHook trait in src/tools/registry.rs:406, then inspect HTTP and CLI production paths for hook calls. Verify how exit_plan_mode handles REST confirmation and how the default policy and RECURSIVE_SANDBOX=policy affect tool execution. Done means HTTP has a server-enforced approval path or forced plan confirmation, with restrictive defaults and deployment guidance for unsafe configurations.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

场景 gap 单(okguitar 提报)· 优先级 P0 · 依赖:无

基线 HEAD = 9165b9a0。

Summary

  • 权限管线在「非 Strict 且无显式规则」时隐式放行(仅 tracing::warn):src/tools/policy_domain/permission_pipeline.rs:271-285;运维未配 [permissions] 时整个规则检查跳过,只剩保护路径检查(.git/.ssh)。
  • 交互式人审的载体 with_permission_hook 在 http/cli 生产路径零调用(全仓命中仅 trait 定义 src/tools/registry.rs:406 与 #[cfg(test)] 测试)。
  • HTTP 下唯一的审批门是 exit_plan_mode 的 plan 确认(REST confirm/reject),但是否进 plan mode 由模型自主决定;run_shell/Write/WebFetch 外发在默认部署(无沙箱 + 无权限配置)下没有任何「人批一下」环节,run_shell 在 host 直接执行且带全网出口。
  • L1 deny 模式(rm -rf/mkfs/dd 等)只在 RECURSIVE_SANDBOX=policy 档挂载,默认档无。

影响

办公场景:员工经前端下达的目标可让 agent 在服务器上直接执行任意 shell / 改工作区文件 / 公网外发;一份带注入的网页或文档即可驱动这一切。这是办公智能体底座最基本的人审闭环缺失。

建议

  1. http 模式提供服务端强制的审批通道:per-tool webhook 审批(复用 PermissionHook trait 对接企业审批流)或强制 plan-confirm 档位。
  2. 默认档至少挂 PolicyConfig::default_restrictive();部署文档把「无沙箱 + 无权限配置」标记为不可用于生产。
Lingua principale
Rust
Stelle
4
Fork
0
Merge medio
5h 32m
PR unite (30g)
7

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di jeffkit/recursive

Tutte le issue di jeffkit/recursive

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.