bookworm-smart-assistant/docs/audit-out-of-scope.md
Bookworm Admin b7a8e29d21 release: v6.7.0 - OTA E2E test release
- VERSION file as authoritative version source
- export.mjs reads VERSION with package.json fallback
- bw-ota.ps1 DryRun mode for safe testing
- auto-setup.ps1 bumped to v3.2.0 (Phase 8 OTA)
2026-04-27 17:59:44 +08:00

4.5 KiB
Raw Permalink Blame History

Bookworm 审计 Out-of-Scope 列表

本文件由 SECURITY.md 与 AI-CONSTITUTION.md 共同引用。 列出"看似漏洞实为设计选择"的场景,避免红队/自审 Agent 重复争议。

借鉴自 OpenClaw.ai SECURITY.md (329 行同类列表),结合 Bookworm 单用户系统裁剪。

适用范围

适用于以下 Agent / Skill 的发现报告:

  • red-team-attacker
  • red-team-logic
  • self-auditor
  • production-reviewer
  • code-reviewer
  • security-expert

发现项落入以下任一类别 → 标记 OOS,不计入红队评分,不写入 evolution-log violation。

不视为漏洞的场景10 类)

1. Prompt Injection Only

不结合钩子边界 / 路由策略 / 凭证泄漏链路的纯提示词注入。

必须演示一条从 prompt → 凭证泄漏 / RCE / 路由错误引导 / 数据破坏的完整链路才是漏洞。

2. 本地 hook 被攻击者改写

~/.claude/hooks/*.js 已是受信任本地状态。报告必须先证明"如何获得 hook 写权限",否则属设计内行为。

3. MEMORY.md / evolution-log.jsonl 投毒

工作区文件等于操作员状态。除非展示外部触发写入路径(如某 hook 接收远程数据后写入),否则属设计内。

例外:bookworm.security.jsonlHmac enforce 模式启用后,离线追加篡改属漏洞。

4. 白名单技能内 child_process / eval

developer-expert / bash 等白名单 skill 显式允许执行用户代码。属设计选择。

5. PostToolUse 钩子 fail-open

设计为非阻断式审计。除非 PreToolUse 阶段被绕过(这才是漏洞),否则不计。

例外:bookworm.security.failClosed enforce 模式启用后,关键 PreToolUse hook 异常将拒绝。

6. stats-compiled.json / skill-registry 缓存陈旧

由 self-auditor / self-healer 周期性修复。陈旧本身不视为漏洞。

7. MCP Server 自身漏洞

上游 MCP 项目责任。请向对应项目报告。Bookworm 仅负责 MCP 调用边界safety-gate 等)。

8. 路由准确率 < 100%

基于 Bayesian 后验的概率系统5-10% 漂移属正常。具体阈值见 evolution-log.jsonl 历史 P@1 实测。

9. 临时 / 低质量复现

缺少明确文件:行号 + 可复现 PoC 的报告会被关闭为 invalid

10. 非 ~/.claude/ 范围的 OS 安全问题

应向 OS / Anthropic Claude Code 报告。

  • Windows ACL 默认继承、Node.js 自身 CVE、shell escape 等

已知虚假阳性模式(自审钩子常见)

按红队识别频次降序:

模式 触发位置 假阳性原因
Base64 长串误判为密钥 sanitize.js [A-Za-z0-9+/]{64,} Git SHA / commit hash / base64 编码内容(已在 v6.0 收紧到 64 字节阈值)
URL path 误判为 Bearer Bearer\s+\S{10,} 已在 v6.0 收紧为 [A-Za-z0-9._\-+=]{18,}
测试 fixture token *.test.jssk-... // pragma: allowlist secret 注释
__proto__ 字面量 防御机制本身的对抗测试 验证防御需要这些字符串
Hook 修改后 integrity-check 警告 hooks/integrity-check.js 用户合法修改后需手动跑 --generate 更新基线
evolution-log 历史粘连行 line 55-58 旧 hook 写入未加 \n,已由 P1.2 relinify 修复

审计接收门槛(必须满足)

接受报告必须含:

  • 位置:精确文件路径 + 行号(基于当前 HEAD
  • 可复现 PoC:脚本或步骤可在本机验证
  • 影响:明确的信任边界跨越
  • 不被本文件 OOS 列表覆盖

不达上述门槛 → 关闭。

真实威胁面(已记录,可重复扫描)

按红队评估,以下是 Bookworm 真实攻击向量(详见 evolution-log.jsonl

  1. 凭证文件 644 权限(已修复 2026-04-25icacls 收紧)
  2. evolution-log/route-feedback HMAC 链 — warn 期间 7 天观察2026-05-02 到期)
  3. route-feedback.jsonl racelockfile DoS — 待修
  4. 关键 hook 普遍 fail-open — warn 期间 7 天观察2026-05-02 到期)
  5. history.jsonl 31 处凭证泄漏(已修复 2026-04-25sanitize v6.0 清洗)

引用关系

  • SECURITY.md § "Out-of-Scope" → 引用本文件
  • AI-CONSTITUTION.md § 1.3 安全红线 → 与本文件互补(红线是必须做,本文件是"不计入漏洞"
  • red-team-attacker / red-team-logic Agent prompt → 应在系统提示中读本文件作为 baseline

修订历史

  • 2026-04-25 v1.0:从 OpenClaw.ai SECURITY.md 借鉴落地,初始 10 类 + 6 假阳性模式