用于在执行删除、覆盖、移动、部署、重写 Git 历史、修改权限等命令前的安全检查。
命令守护者 : 在非三角副作用命令执行前使用此技能是一项面向实际任务的技能,主要用于它会分类风险, 对照工作空间边界检查目标, 寻找明显的秘密泄漏, insp。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
在执行具有非平凡副作用的命令前,请使用该技能。
它会对命令进行风险分级,校验目标路径是否超出工作区边界,检测明显的密钥泄露行为,检查复合型及嵌套式 Shell 命令,当可用时添加轻量级 Git 上下文,并在命令实际运行前生成回滚建议。
cwd)以及允许的根路径(allowed roots)。python {baseDir}/scripts/preflight.py --command "" --cwd "" --allowed-root "" --format json
python {baseDir}/scripts/preflight.py --command-file command.txt --cwd "" --allowed-root "" --format json
echo '' | python {baseDir}/scripts/preflight.py --cwd " " --allowed-root " " --format json
low:若命令仍符合用户意图,可继续执行medium:简要说明风险;若存在明显更安全的改写方式,则优化命令high:不可盲目执行;需明确解释原因、提供更安全的替代命令,并要求显式确认critical:禁止自动执行;应缩小作用范围、剥离密钥信息,或分阶段执行操作后再重试Risk:Why:Safer rewrite:Rollback:Need approval: yes/no若报告中提供了 safer_commands,应在执行前向用户展示。
若用户仅请求分析结果,则止步于审查环节。
若用户明确要求继续执行,则需依据报告对命令进行加固后再运行。
high 级别风险;若命令中嵌入了活跃凭证(active credentials),则视为 critical 级别。.、..、/、磁盘根路径、仅含通配符的路径、或代码仓库根目录)的破坏性操作,统一视为 critical 级别。git push --force、git reset --hard、docker system prune、kubectl delete、terraform apply/destroy。curl | sh 及类似“下载即执行”模式,除非脚本已固定版本(pinned)、经过人工审查且验证可信,否则一律视为 critical 级别。main 或 master,应对破坏性 Git 命令提高审查标准。可直接调用以下脚本:
scripts/preflight.py
主入口脚本。支持 --command、--command-file 或标准输入(stdin)三种传参方式。执行命令风险分类、路径合法性校验、密钥检测、上下文检查、回滚提示生成,以及更安全操作建议。
scripts/classify_command.py
标注命令风险等级及类别标签,例如 write、destructive、privileged、production-impacting 等。
scripts/path_guard.py
将候选路径相对于 --cwd 解析,检查其是否越出允许的根路径范围,并标记宽泛删除目标(broad deletion targets)。
scripts/secret_guard.py
检测明显内联密钥,包括 Bearer Token、JWT、AWS 密钥、GitHub PAT 以及可疑的键值对(key/value pairs)。
scripts/rollback_hints.py
为 Git、kubectl、Terraform、Docker、npm 及破坏性文件操作生成回滚与变更前备份建议。
仅在需要时查阅:
references/risk-rules.md
风险评估细则、审批阈值定义,以及宽泛目标与密钥暴露的示例说明。
references/tool-patterns.md
针对 Git、Docker、kubectl、Terraform、curl/wget、npm/pip/cargo 及文件操作等工具的特定审查要点。
请按如下结构组织你的回答:
Risk: high Why: - rewrites shared git history - no rollback checkpoint was created Safer commands: - git branch backup/pre-force-push-main HEAD - git push --force-with-lease origin main Safer rewrite: - create a backup branch first - use force-with-lease instead of plain force Rollback: - git reflog - restore backup branch if remote history breaks collaborators Need approval: yes
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.8万人学习
共49课时 | 82.4万人学习
最新文章