SuperAPI AI 工具集

careful

安全与审计

查看项目

更新于 10-16 06:45

技能介绍

用途:careful 用于在当前会话中阻止破坏性 shell 命令。调用该技能后,会在 Bash 上注册 PreToolUse 钩子,Claude Code 会在本会话后续每一轮保持该钩子生效,直到会话结束;没有关闭开关,需新开会话才能脱离该模式。

主要能力:拦截 rm -rf(含 xargs rm -rf 及 shell 展开目标)、git push --force/-f/--force-with-lease、git push --delete/-d/:branch、git reset --hard、SQL 的 DROP TABLE/DATABASE/SCHEMA、TRUNCATE TABLE、kubectl delete、terraform destroy 及 tofu 同类命令。匹配基于 shell 词而非子串,会拆分 ;、&&、| 和换行,并检查 bash -c、eval、$() 及 ssh host '...' 的远程命令体。

使用方式:调用技能即启用。被拦截时钩子以退出码 2 结束并给出原因,此时应停下询问操作者,由操作者自行运行或在 careful 模式外确认运行;不要改写命令绕过匹配器。

限制:它是针对每次 Bash 调用文本的模式匹配器,不是沙箱。看不到 shell 别名与函数、脚本/Makefile/npm 脚本/二进制内部命令、由变量或 base64 构造的 eval/bash -c、其他解释器或 shell(如 python -c、node -e、fish、pwsh)、同一命令内新建的符号链接,以及 MCP 工具、文件编辑和 Bash 工具之外的操作。若钩子无法读取输入,会直接阻止而非猜测。如需同时限制文件编辑到某目录,可配合 freeze 技能。守卫实现为 scripts/careful-guard.mjs(Node,无依赖),匹配用例位于 tests/unit/test-careful-guard.mjs。