AGIStoreAGIStore
← Back to Blog
·AGI Store
claude-codesecurityskills中文guide

AI 编程工具在 2026 年已经是开发者的标配。Claude Code 的 Skills 生态让 AI 能直接读写文件、执行 Shell 命令、调用 API——但这也意味着,一个恶意技能可以做的事远超你的想象。

在分析了 90 万+ 技能后,我们发现了这些触目惊心的数据:9% 的技能存在安全隐患,包括硬编码的 API Token、未声明的网络请求、以及直接操作 ~/.ssh 的行为。更糟的是,46% 的技能是重复的,这给恶意技能提供了完美的伪装——把恶意代码塞进一个"热门技能"的克隆版里。

本文将给你一个开发者友好的 5 步检查清单,安装任何技能前花 5 分钟走一遍流程,能避开绝大多数安全问题。

第 1 步:看源码,别看描述

技能市场的描述是营销文案,源码才是真相。安装前必须做到:

打开技能目录,逐文件检查:

``bash

先拉到本地,不要直接安装

git clone https://github.com/author/skill-name.git

cd skill-name

搜索敏感操作

grep -rn "curl\|wget\|fetch" . # 网络请求

grep -rn "~/.ssh\|/etc/passwd\|.env" . # 敏感文件读取

grep -rn "rm -rf\|sudo\|chmod 777" . # 破坏性命令

grep -rn "eval\|exec\|spawn\|subprocess" . # 代码执行

` 红色警报:如果技能文件经过混淆或压缩(一行几千字符的 JS/Python),直接跳过。正常技能不会混淆代码。

第 2 步:检查网络请求

技能如果发网络请求,它必须告诉你往哪发、发什么。

三个关键问题

1. 它连到哪些域名?是不是官方 API 地址?

2. 它发了什么数据?有没有把你的代码或环境变量打包上传?

3. 网络请求是否必要?一个代码格式化技能不需要联网。

实际案例:我们上个月审查到一个"代码格式化"技能,表面上调用 Prettier,实际上在执行前把你所有带
API_KEY 的环境变量 POST 到了某个 collect-stats.com 的匿名服务器。 自检命令`bash

在技能目录里搜所有 URL

grep -rn "https\?://" . | grep -v "node_modules\|\.git"

`

如果你看到不认识或者看起来像随机生成的域名,警惕。

第 3 步:核查权限声明

Claude Code Skills 使用 SKILL.md 声明权限。但问题是——声明的权限和实际使用的权限可能不一致

对比法:打开
SKILL.md 中声明的权限列表,然后对实际代码做一次权限审计:

| 声明权限 | 应该出现的代码模式 | 如果出现以下模式则有超出风险 |

|---------|------------------|--------------------------|

| read 只读 | readFile, fs.read | writeFile, fs.write, rm |

| shell 命令执行 | 简单的 CLI 调用 | curl \| bash, 动态拼接命令 |

| network 网络 | 指定 API 域名 | 任意 URL、WebSocket 外连 |

核心原则:如果一个技能声明 read 权限但实际写了文件,不管功能多好用都别装。这说明作者至少不诚实,最多是恶意的。

第 4 步:检查依赖链

很多技能会带 package.jsonrequirements.txt。攻击者最爱的攻击面是依赖混淆——用一个叫 prettier-helper 的恶意 npm 包冒充工具库。

检查清单`bash

npm 依赖

cat package.json | jq '.dependencies, .devDependencies' 2>/dev/null

Python 依赖

cat requirements.txt 2>/dev/null

` 三个标准

1. 依赖数量越少越好。一个"代码格式化"技能不需要 20 个依赖。

2. 依赖名是否知名。如果你不认识这个包名,去 npmjs.com 搜一下看下载量和更新时间。

3. 有没有依赖用到了 postinstall 脚本——这是恶意代码执行的常见入口。

第 5 步:先试后装(沙箱测试)

最后一条也是最实用的:永远不要在你主力开发机上直接安装未经审查的技能

推荐的沙箱方案

- Docker 容器测试docker run -it --rm node:20 bash,在干净容器里跑一遍

- Git worktreegit worktree add /tmp/skill-test,在隔离目录里试

- 虚拟机 / OrbStack:macOS 用户直接用 OrbStack 开一个干净 VM

测试脚本模板
`bash

#!/bin/bash

在隔离环境中跑技能,监控所有外连和文件操作

日志记录

LOGFILE="/tmp/skill-audit-$(date +%s).log"

用 fs_usage (macOS) 或 strace (Linux) 监控文件操作

sudo fs_usage -w -f filesys | grep -v "Safari\|Spotlight" > "$LOGFILE" &

MONITOR_PID=$!

安装并运行技能

... 你的技能测试流程 ...

结束后检查日志

kill $MONITOR_PID

echo "检查文件操作日志: $LOGFILE"

grep -i "\.ssh\|\.aws\|\.env\|\.gitconfig" "$LOGFILE" && echo "⚠️ 发现敏感文件访问!"

``

总结:5 分钟安全检查流程

| 步骤 | 检查项 | 时间 |

|------|--------|------|

| 1 | 读源码,搜敏感操作 | 2 分钟 |

| 2 | 搜 URL,确认网络请求目标 | 1 分钟 |

| 3 | 对比权限声明 vs 实际代码 | 1 分钟 |

| 4 | 审查依赖链 | 30 秒 |

| 5 | 沙箱测试或跳过 | 30 秒 |

花 5 分钟走完这个流程,你能避开 99% 的恶意技能。在 AGI Store,我们人工审查每个上架技能的安全性——这就是"精选"和"全量"的区别。


相关阅读

- AI Agent Skills 生态报告:46% 重复率的行业真相

- 10 个真正提升开发效率的 Claude Code 技能

免责声明:本文提供的安全检查方法仅供参考。在安装任何第三方技能前,请自行承担风险评估责任。建议企业用户建立内部技能审查流程。

Want to discover more production-ready AI agent skills?

Browse AGI Store Skills