用 SkillSpector 隔离 Claude CLI provider 的本地 settings hooks

skill-creator

SkillSpector PR #298 是 AI agent skill 安全扫描器自身的 runtime isolation 实践。输入是 `claude_cli` provider 已用 `claude -p` 子进程剥离 tools、MCP servers 和 slash commands,但没有限制 settings sources,导致子进程仍加载 operator 的 `settings.json` 并触发 hooks;当 hook 重新进入 Claude Code 时,每次 LLM scan 都可能变成完整 hook cycle,造成机器饱和。执行过程是在 `_build_claude_argv` 的 `--strict-mcp-config` 后加入单 token `--setting-sources=`,并更新 provider contract,明确空 model 不再继承文件系统默认模型/思考设置;测试同时证明该参数仅出现在 Claude builder,不影响 Codex/Gemini。产物是 7 个文件、+42/-23 的 provider、README 和测试改动;验证包括 merged PR、CI lint/test-unit/docker-smoke/DCO success、本地 `156 passed, 9 skipped`、ruff check/format 通过、`claude --setting-sources= --version` 可用,以及 issue #295 的 owner-reaching measurement 从 33 行/1 session 降到 0。适合参考如何给 agent skill 扫描器补齐 CLI 子进程隔离边界。

作者NVIDIA来源GitHubUpdate2026-07-22阅读0

相关实践

GitHub2026-07-26

用 skill-creator 测试口径精确识别 pip check 依赖冲突

7 月 26 日 BambooGap/skills-orchestrator 提交 `fix: require exact pip check conflict`,输入是 MCP deployment 兼容性检查里,FastAPI 和 Starlette 相关词出现在多行或无关包冲突中时可能被误接受。执行过程把宽松的 `has requirement/requires/conflict` 匹配收敛为单行 FastAPI-to-Starlette `pip check` 正则,并在 post-release smoke 中拒绝本地 package version 与 tag 版本不一致。产物是更严格的 `verify_fastapi_conflict.py` 和 smoke 测试;验证覆盖 unrelated lines、extra conflict、local package mismatch 等用例。适合参考如何给 Skill/MCP 发布前置检查写成精确可回归的质量闸。

14GitHub·BambooGap
GitHub2026-07-25

用 skill-creator 思路把 Skill 发布证据绑定到已验证源码

7 月 25 日 BambooGap/skills-orchestrator 提交 `feat: harden MCP deployment compatibility`,输入是 AI-agent skill 治理工具的 MCP 发布流程:发布后 smoke 不能只信 tag 名和当前分支文件。执行过程新增 verified annotated tag 解析、checkout 目标 SHA、constraints digest、package version、PyPI wheel/sdist 与 SBOM 绑定,并把 post-release smoke 的 `source_sha` 传入 release integrity workflow。产物包括 workflow、`post_release_smoke.py`、release verification 文档和供应链验证文档更新;验证由新增 `test_post_release_smoke.py`、`test_supply_chain.py` 覆盖 SHA、constraints 和 SBOM 口径。适合参考如何给 skill-creator 产物的发布链路加可审计证据。

1GitHub·BambooGap
GitHub2026-07-25

用 Claude Code harness 把 Cogged 改造成可测试的 Go 服务

Cogged PR #1 是一条完整的 coding agent 工程化 harness 实践。输入是项目 feature work 慢且风险高:没有 Claude Code harness,测试接近 0,唯一 Go test 依赖手动 live Dgraph,`services/db.go` 绑定具体 `*dgo.Dgraph` 导致 DB 层不可单测。执行过程是新增 `CLAUDE.md`、`.claude/settings`、slash commands 和 subagents,抽出 `DgraphClient/DgraphTxn` 接口与 `NewDBWithClient`,补 offline unit tests、testcontainers integration tests、CI、lint、CONTRIBUTING 和 godoc。产物是 38 个文件、+2097/-543:Claude Code 开发约束、子代理、命令、测试与 CI gate;验证包括 merged PR、`go build ./...`、`go vet ./...`、`go test -race ./...` 全绿,GitHub build/vet/unit 与 integration checks success,安全/模型/服务/请求层覆盖率从 0 提升到 80%/49%/38%/34%。适合参考如何把一次性 AI 编程改造成可重复的 agent harness + TDD/CI 工作流。

1GitHub·0x0abc123
GitHub2026-07-25

用 skill-creator 治理模式把生产审批审计绑定到原始 sink

7 月 25 日 BambooGap/skills-orchestrator 提交 `fix(pipeline): bind audit recovery to original sink`,输入是生产 pipeline gate 在审计写入中断后可能被不同 audit 目录或不同 payload 恢复的问题。执行过程把 approval outbox 记录为 canonical audit dir、candidate status 和 stable event payload,恢复时拒绝 sink mismatch 或 conflicting event id,并在成功写入后清空 outbox。产物涉及 pipeline service、MCP audit logger、usage report、release integrity attestation 与 PIPELINES/MCP 文档;验证新增严格 audit 重复 event、pipeline recovery、repository hygiene 等测试。适合参考如何让 Skill workflow 的审批、恢复和证据链不被重放或串改。

0GitHub·BambooGap
GitHub2026-07-25

用 skill-creator 质量闸区分缺失、空白和已验证审计证据

7 月 25 日 BambooGap/skills-orchestrator 提交 `fix(audit): distinguish missing evidence`,输入是 usage report 把不存在或空 audit evidence 误标成 verified 的风险。执行过程把 audit_integrity 拆成 disabled、missing、empty、verified、unverified_best_effort 五种状态,并让配置了 audit 目录但没有 `events.jsonl` 的场景以非零退出码失败。产物包括 `load_events_with_integrity`、usage report JSON 字段、MCP 文档和 changelog;验证新增 disabled audit、missing configured audit、empty audit 与 verified chain 的 CLI 测试。适合参考如何给 Skill 运行证据建立 fail-closed 的状态机,而不是用单个布尔值掩盖风险。

0GitHub·BambooGap
GitHub2026-07-25

用 skill-creator 发布检查让 release verification 遇到歧义直接失败

7 月 25 日 BambooGap/skills-orchestrator 提交 `fix: fail closed on release verification ambiguity`,输入是 release verification 中网络失败、安装解析失败和 FastAPI/Starlette 冲突可能被同一类文本匹配误判的问题。执行过程把 post-release smoke 的 package version 读取绑定到 checkout 的 `pyproject.toml` 和本地 `__version__`,并重写 `verify_fastapi_conflict.py` 的网络失败、resolver failure、pip check 冲突分类。产物是 release verification 文档、post-release smoke 脚本和冲突验证脚本;验证增加网络失败优先、安装失败必须有 resolver terminal marker、package version mismatch 等测试。适合参考 Skill 发布自动化里如何把模糊日志分类改成可证明的失败边界。

0GitHub·BambooGap

关联 Skill