security(audit): 工具级审计元数据不构成企业审计日志——无 actor/认证/审批事件、可篡改、不可检索
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- rust
Línea de trabajo
Start by reading AuditMeta in src/tools/policy_domain/audit.rs:63-80 and the transcript overwrite path in src/transcript.rs:46-51 and src/atomic.rs. Inspect the plan approval handlers in src/http/handlers.rs:867-925, then map the missing actor, authentication, approval, integrity, retrieval, and export requirements. Done means the agreed audit model and interfaces cover those events without relying on transcript storage.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
场景 gap 单(okguitar 提报)· 优先级 P1 · 依赖:depends-on: #85(未终态时 keeper 自动 hold)
基线 HEAD = 9165b9a0。
Summary
现有 AuditMeta(src/tools/policy_domain/audit.rs:63-80)每工具调用记录 step_id/起止时间/args_hash/副作用分类/退出状态——但没有调用者身份、没有权限判定结果;且它随 transcript 存储,transcript 是整文件覆写(temp+rename,src/transcript.rs:46-51 → src/atomic.rs),非 append-only、无签名/哈希链——文件系统任意写者可改写历史。plan approve/reject 端点连 tracing 日志都没有(src/http/handlers.rs:867-925);认证失败无审计事件;唯一外送通道是 opt-in OTel tracing(feature-gated),与安全审计事件模型无关。
缺口清单
① actor 维度(谁);② 认证事件(登录失败/凭据轮换);③ 管理操作(DELETE 会话/改配置);④ 审批决策(谁批了哪个 plan);⑤ append-only + 哈希链防篡改;⑥ 按用户/时间检索 API;⑦ 导出(SIEM 对接)。
影响
数据外带/误删事故后无法回答「谁在何时用哪个 key 让智能体做了什么、谁批的计划」——等保/ISO27001/SOC2 审计直接不过。
建议
独立 append-only 审计流(actor + session + tool + policy 决定 + 审批事件),BLAKE3 哈希链(AuditMeta 已用 BLAKE3,基建现成),提供时间范围/用户检索与导出端点;actor 依赖租户配套单的身份注入。
- Lenguaje dominante
- Rust
- Estrellas
- 4
- Forks
- 0
- Merge medio
- 5 h 32 min
- PR fusionados (30 d)
- 7
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jeffkit/recursive
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
jeffkit/recursive#134 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
jeffkit/recursive#132 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
jeffkit/recursive#88 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
jeffkit/recursive#87 · 11 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
jeffkit/recursive#86 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de jeffkit/recursive
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Update dusk-bls12_381 to 0.16Posiblemente ocupada @HDauven la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
`TcpListenerService` shares one `Extensions` store across all accepted connectionsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
googlefonts/fontquant#43 ·