安全扫描
OpenClaw
安全
medium confidence该技能的需求和指令与其声明的目的(影响范围/影响分析)一致,但它依赖运行本地工具(gauntlet Python 脚本或其他 CLI),因此在使用前应验证这些工具。
评估建议
该技能似乎能实现其声称的功能:检查 git 变更并在可用时查询本地代码图谱工具。在使用前,确保其运行的任何本地工具都是可信的:验证 ~/.claude/plugins/gauntlet/graph_query.py(或等效文件)的内容,并对运行未知的 Python/CLI 工具保持谨慎。如需更安全,可在一次性容器中运行命令或手动检查输出,而不是自动执行建议的脚本。如果没有安装 gauntlet 插件或 sem,回退的 grep/rg 方法功能较弱但可避免执行第三方 Python 代码。...详细分析 ▾
✓ 用途与能力
该技能声称使用代码知识图谱计算影响范围,其运行时指令实际上尝试图查询、回退到跨文件追踪工具并使用 git diffs — 这些与其声明的目的相符。
ℹ 指令范围
指令保持在代码库分析范围内(git、rg/grep、sem),并可选择调用本地 gauntlet graph_query.py;这是预期的,但该技能明确运行来自 ~/.claude/plugins 的代码,这是任意的本地代码,应在执行前进行信任检查和审查。
✓ 安装机制
无安装规范或外部下载 — 仅限指令。这降低了安装风险;唯一的运行时风险是执行现有的本地工具(python3、sem、rg)(如果存在)。
ℹ 凭证需求
该技能不请求环境变量或外部凭证。但是它会从用户的 ~/.claude/plugins 路径读取并执行 Python 脚本,并扫描仓库文件;这些操作与影响分析成正比,但需要信任本地插件代码。
✓ 持久化与权限
该技能不是始终启用的,也不请求提升的或持久的权限或修改其他技能。它仅在调用时运行并执行本地分析命令。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/4/15
Blast Radius 技能初始版本发布: - 使用风险评分和代码知识图谱分析代码变更影响。 - 识别受影响的节点、未测试的函数和审查优先级。 - 支持与 gauntlet 插件深度分析;如果缺失则支持手动和回退模式。 - 根据测试覆盖率、安全性、流程角色、跨模块调用和调用者数量对风险进行排名。 - 为高风险或安全敏感变更建议优先审查操作。
● 无害
安装命令
点击复制官方npx clawhub@latest install nm-pensive-blast-radius
镜像加速npx clawhub@latest install nm-pensive-blast-radius --registry https://cn.longxiaskill.com
技能文档
Night Market Skill — 移植自 claude-night-market/pensive。要获得包含 agents、hooks 和命令的完整体验,请安装 Claude Code 插件。
# 影响范围分析
使用代码知识图谱分析当前代码变更的影响。
前置条件
此技能需要 gauntlet 插件来获取图数据。检查是否可用:
GRAPH_QUERY=$(find ~/.claude/plugins -name "graph_query.py" -path "/gauntlet/" 2>/dev/null | head -1)
如果未安装 gauntlet(GRAPH_QUERY 为空):
回退到使用 git diff 和 grep 追踪导入和调用站点的手动影响分析。跳过图步骤,直接进入步骤 3(手动模式)。
如果安装了 gauntlet 但不存在 graph.db:
告诉用户:"请先运行 /gauntlet-graph build。"
步骤
- 显示当前变更:运行
git diff --stat向用户显示哪些文件发生了变更。
- 运行影响分析(需要 gauntlet):
python3 "$GRAPH_QUERY" \
--action impact --base-ref HEAD --depth 2
回退层级 1(sem 可用,无 gauntlet):使用 sem 进行跨文件依赖追踪:
if command -v sem &>/dev/null; then
sem impact --json
fi
这会追踪真实的函数级依赖而不是文件名匹配。参见 leyline:sem-integration 的检测模式。
回退层级 2(无 sem,无 gauntlet):使用 rg(或 grep)追踪变更函数的调用者:
# 优先使用 rg 以提高速度;如不可用则回退到 grep
if command -v rg &>/dev/null; then
git diff --name-only HEAD | while read f; do
rg -l "$(basename $f .py)" --type py . 2>/dev/null
done | sort -u
else
git diff --name-only HEAD | while read f; do
grep -rl "$(basename $f .py)" --include="*.py" . 2>/dev/null
done | sort -u
fi
- 按优先级顺序显示结果:将输出格式化为表格:
Risk | Node | File | Reason
0.85 | auth.py::verify_token | auth.py:45 | untested, security
0.62 | db.py::execute_query | db.py:112 | high fan-in
0.41 | api.py::handle_request | api.py:78 | flow participant
- 突出显示未测试的函数:列出任何缺乏测试覆盖率的受影响函数(无 TESTED_BY 边)。
- 显示整体风险:根据最高风险分数显示整体风险级别(低/中/高)。
- 建议操作:
- 对于高风险节点:"合并前考虑添加测试"
- 对于安全敏感节点:"仔细审查认证和授权逻辑"
- 对于高扇入节点:"此处的变更影响许多调用者;验证向后兼容性"
风险评分模型
五个加权因素(总和上限为 1.0):
| 因素 | 权重 | 含义 | |--------|--------|---------| | 测试缺口 | 0.30 | 无测试覆盖率 | | 安全性 | 0.20 | 认证/加密/SQL 关键词 | | 流程参与 | 0.25 | 执行流程的一部分 | | 跨社区 | 0.15 | 被其他模块调用 | | 调用者数量 | 0.10 | 高扇入函数 |