agentsclimarketplace

Agent skill security scanner v2

Skill findscripter/everything-skills/08-security/agent-skill-security-scanner-v2

当准备采用/安装第三方 Agent 技能、需在信任前评估其安全性时使用;做静态扫描+人工研判,产出含发现项/置信度/风险等级与采用建议的安全审查报告;不适用于自身代码漏洞审计或运行时沙箱防护。触发词:技能安全扫描、提示注入检测、采用前审查From its SKILL.md

Install
npx -y skills add findscripter/everything-skills --skill agent-skill-security-scanner-v2

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

7.4 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it

何时使用

  • 信任并安装第三方 Agent 技能之前,需评估它是否含提示注入、恶意代码、过宽权限、密钥泄露或供应链风险。
  • 想对某个技能目录做「静态扫描 + 人工研判」的组合审查,决定它能否进入 Agent 环境。
  • 需要批量扫描一个仓库里的所有技能(*/SKILL.md)。

不该用的边界

  • 不是给你自己的业务代码做通用漏洞审计(那是常规 SAST/代码审计任务)。
  • 不是运行时防护/沙箱:本技能只在采用前做离线评估,不拦截运行中的攻击。
  • 缺少扫描目标、权限边界或成功标准时,停下来向用户确认,别盲扫。

步骤

Phase 1 输入与发现——确定扫描目标:用户给目录就直接用;只给技能名就在 plugins/*/skills/<name>/.claude/skills/<name>/ 下找;说「扫全部」就发现所有 */SKILL.md 逐个扫。确认目标含 SKILL.md,并列出结构:

ls -la <skill-directory>/
ls <skill-directory>/references/ 2>/dev/null
ls <skill-directory>/scripts/ 2>/dev/null

Phase 2 自动静态扫描——运行扫描脚本,解析其 JSON 输出(含 findings、URL、结构、各严重级计数),作为深挖线索。脚本只做机械模式匹配,研判意图、过滤误报是你的活

uv run ${CLAUDE_SKILL_ROOT}/scripts/scan_skill.py <skill-directory>

脚本失败时回退:用 references 里的模式手工 Grep 分析。

Phase 3 Frontmatter 校验——读 SKILL.md 检查:name/description 必填;name 应与目录名一致;审 allowed-tools(Bash 是否有理由?是否 * 无限制?);是否强制特定 model、为什么;description 是否如实描述技能行为。

Phase 4 提示注入分析——加载 references/prompt-injection-patterns.md。对扫描器「Prompt Injection」类每条发现:读上下文,判定它是在执行注入(恶意)还是在讨论/检测注入(合法)。关键区分:安全/测试/教学类技能在 references 里列举注入模式是记录威胁,不是攻击;只标记会真正对运行该技能的 Agent 生效的模式。

Phase 5 行为分析(纯 Agent,无模式匹配)——通读指令并评估:

  • 描述与指令是否一致:自称「代码格式化」却让 Agent 读 ~/.ssh 即为不一致。
  • 配置/记忆投毒:是否指示修改 CLAUDE.mdMEMORY.mdsettings.json.mcp.json 或 hook;是否把自己加入白名单/自动批准权限;是否写入 ~/.claude/
  • 范围蔓延:超出既定用途的指令、无关数据采集、私装其他技能/插件/依赖。
  • 信息搜集:越界读环境变量、列技能范围外目录、无必要访问 git 历史/凭据/用户数据。

Phase 6 脚本分析(若有 scripts/)——加载 references/dangerous-code-patterns.md完整读每个脚本不跳过,核对「Malicious Code」类发现:数据外泄(往外部 URL 发什么数据)、反弹 shell(重定向 I/O 的 socket)、凭据窃取(读 SSH 密钥/.env/环境 token)、危险执行(带动态输入的 eval/exec、shell=True 拼接)、配置篡改。检查 PEP 723 dependencies 是否为知名包,并核对脚本行为与 SKILL.md 描述是否相符。合法模式:gh/git 调用、读项目文件、JSON 输出到 stdout。

Phase 7 供应链评估——审查所有 URL:GitHub/PyPI/官方文档为可信;未知域名/个人站/短链需复核;任何拉取内容当作指令执行/解释的远程 URL 为高危;运行时下载并执行二进制/代码、引用非标准注册表的包同样可疑。

Phase 8 权限分析——加载 references/permission-analysis.md 的工具风险矩阵,按最小权限评估:所授每个工具是否真被指令用到。参考分级:Read Grep Glob 低风险(只读分析);Read Grep Glob Bash 中风险(Bash 需理由,如跑捆绑脚本);Read Grep Glob Bash Write Edit WebFetch Task 高风险(近乎全权限)。

指令

  • 所有脚本从仓库根目录、用 ${CLAUDE_SKILL_ROOT} 全路径运行。
  • 置信度分级,只报够格的
    • HIGH(模式确认 + 恶意意图明显)→ 带严重级上报。
    • MEDIUM(可疑但意图不明)→ 记为「需人工核实」。
    • LOW(仅理论/最佳实践)→ 不上报
  • 误报意识是重中之重:最大风险是把引用了攻击模式的合法安全技能误判为恶意——上报前务必先判意图。
  • 风险等级判定:任一高置信关键发现(提示注入/凭据窃取/数据外泄)→ Critical;高置信高危或多个 medium → High;medium 置信或轻微权限问题 → Medium;仅最佳实践建议 → Low;彻查无发现 → Clean。

示例

扫描某技能目录后,按下列模板产出报告:

## 技能安全扫描:[技能名]

### 摘要
- 发现项:X(Y Critical,Z High …)
- 风险等级:Critical / High / Medium / Low / Clean
- 技能结构:仅 SKILL.md / +references / +scripts / 完整

### 发现项
#### [SKILL-SEC-001] [类型](严重级)
- 位置:`scripts/tool.py:15`
- 置信度:High
- 类别:提示注入 / 恶意代码 / 权限过宽 / 密钥泄露 / 供应链 / 校验
- 问题:[发现了什么]
- 证据:[代码片段]
- 风险:[可能后果]
- 修复:[如何处置]

### 需人工核实
[medium 置信项]

### 结论
[可安全安装 / 谨慎安装 / 请勿安装]+ 简要理由

注意事项

  • 脚本只做确定性模式匹配,评估意图与过滤误报必须由你完成
  • Phase 5 行为分析无脚本可依,是发现「描述-指令错位」「配置投毒」「范围蔓延」的关键,别省。
  • 不要把本技能的输出当作环境特定验证、实测或专家评审的替代品。
  • 仅在任务明确落入上述范围时使用;输入/权限/安全边界/成功标准缺失时先问清。

互见

  • references/prompt-injection-patterns.md——注入模式、越狱、混淆手法与误报指南。
  • references/dangerous-code-patterns.md——脚本安全模式:外泄、反弹 shell、凭据窃取、eval/exec。
  • references/permission-analysis.md——工具风险分级、最小权限方法、常见技能权限画像。

采编自 sickn33/antigravity-awesome-skills(MIT)。

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,852. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.