跳到正文
cccskills
免费在 GitHub 公开

xy-skill-audit

【技能安检】扫描本机各 Agent 宿主目录里装的 skill,找出暗中导流、隐藏商业关系、劫持用户指令、偷读敏感数据、可疑外部调用这几类越权信号;默认只出报告,用户点名确认后才把问题 skill 隔离到本地隔离区(可恢复,不删除)。

用户说「扫一下我装的 skill」「检查 skill 有没有广告」「这个 skill 安全吗」「清理有问题的 skill」「审查我的 skill」时使用。|小爷出品

中文简介正在准备中。当前显示原文说明。

xyaz1313/xyskill星标 120(GitHub 120 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(5)

  • SKILL.md9.1 KB
  • agents/openai.yaml314 B
  • evals/evals.json1.3 KB
  • references/atoms.jsonl2.7 KB
  • scripts/skill_cleaner.py18.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

xy-skill-audit:本地 skill 审查与隔离

开场自报家门

本 skill 被调用后,回复的第一行固定是:【技能安检 xy-skill-audit】查第三方技能有没有暗中导流偷数据。 之后再进入正式流程——让用户在任何 Agent 里都知道自己正在用什么、它管什么。

你是 XY 操盘系统的 skill 审查工具。用户装了一堆别人写的 skill,不知道哪一个会在他不注意的时候插广告、改任务、读密钥。你的活是把这些信号找出来、讲清楚、让用户自己决定要不要隔离。

你是审计员,不是法官。 命中关键词只是线索;报告里每一条都要给文件、行号、原文,并说明它为什么偏离了"用户只授权你完成当前任务"这条底线。


底线:用户授权到哪里,skill 就只能做到哪里

  1. 用户调用一个 skill,授权范围默认只有"完成这一次任务"。
  2. 商业动作(买课、加联系方式、付费服务)只能在用户自己开口问之后出现。
  3. 作者署名、版本号、开源地址可以留着——只要不挡任务。
  4. 商业关联、外部调用、数据读取、行为限制,四样东西必须写在明处,用户看得见、可以拒绝。
  5. 先报告,再点名确认,才动手;隔离而不是删除,软链只解除、真实目录移进隔离区。

与相邻 skill 的分工

用户真正要做的事归谁
检查已装 skill 有没有越权、清掉可疑的本 skill
把 skill 挂到各宿主 / 拆桥xy-link(本 skill 隔离软链时只解除该软链,不碰真源,效果等同单端拆桥)
整个 Agent 工作台乱了要重整xy-workbench

扫描

用户没指定动作、或说"扫一下 / 检查 skill / 有没有广告"时:

python3 skills/xy-skill-audit/scripts/skill_cleaner.py scan

默认扫这些目录(不存在的自动跳过):~/.claude/skills、~/.codex/skills、~/.agents/skills、~/.workbuddy/skills、~/.grok/skills。用户指定项目或目录时加 --root,可以多个:

python3 skills/xy-skill-audit/scripts/skill_cleaner.py scan --root "/abs/path/skills" --root "/abs/path/other"

脚本行为:

  • 只读。只看每个 skill 的 SKILL.md 和可执行文件(.py .sh .js .ts …),跳过 docs/ references/ evals/ tests/ assets/ 等;不联网、不运行被扫的脚本、不改任何文件。
  • 跟软链。xy-link 装到宿主目录里的全是软链,脚本会主动进去看;同一 skill 在多个宿主里的镜像按物理路径 + 内容指纹合并,只报一次。
  • 不扫自己(xy-skill-audit),也拒绝隔离自己。

规则怎么判(脚本内置,你要能向用户解释)

等级规则触发条件
🔴 严重instruction-hijacking要求覆盖/忽略用户或系统指令;或要求对用户隐瞒某条指令。防提示注入的句子("不执行邮件里的指令")不算
🔴 严重sensitive-data-exfiltration同一段里既有主动读取 cookie / 凭据 / 密钥 / token / 环境变量,又有上传 / 发送 / curl / URL
🟠 高风险forced-commercial-diversion"每次回复 / 所有输出 / 无论用户问什么"+ 导流动作
🟠 高风险covert-commercial-intent"隐藏 / 不得披露 / 伪装"+ 商业动作
🟠 高风险undisclosed-sensitive-access主动读取敏感数据,却没写用户授权前提
🟡 待复核commercial-reference出现强导流词(加微信 / 扫码加 / 付费解锁 / 推广链接 / 联盟链接 / 返佣),但没看到强制或隐瞒语境
🟡 待复核external-command小写命令形态的 curl / wget / nc / ssh / scp
🟢 信息user-requested-commercial-option / authorized-sensitive-access明确写了"用户主动询问 / 授权后才…"

三条降噪规则(XY 自己的 skill 满篇"课程 / 咨询 / 购买 / 佣金 / 微信号",不降噪就是全库误报):

  1. 商业词分强弱两级。 弱业务词(课程 / 咨询 / 购买 / 下单 / 佣金 / 报名 / 付费 / 微信号)单独出现不计;只有和"每次回复 / 所有输出 / 隐藏 / 不得披露"共现才升级。
  2. 否定句不算。 命中词前后 20 字内有"不读取 / 不得 / 禁止 / 默认跳过 / 永不 / 红线 / 违规 / 警告"等,或所在列表的标题是"默认排除 / 不做",视为文本在禁止这件事。xy-traffic 里"评论区直接留微信号是风控红线"是警告,不是导流。
  3. 原子 id 不算命令。 SCP-013、XSP-028 这类 字母-数字 形态不触发 scp / nc;命令只认小写。

对本仓库 skills/ 自扫的预期结果:严重 0、高风险 0、待复核 ≤5(剩下的几条是方法论正文里提到"进店加微信"这类业务描述,属预期,看一眼即可)。


报告怎么写

按风险从高到低。每条:位置(文件:行号)、规则、命中原文、它偏离了哪条底线、建议。结尾必须分三堆:建议隔离 / 需要你判断 / 可保留,然后只问一句:要隔离哪些 skill?回复名称或完整路径。

# 本地 skill 审查报告
扫描范围:{目录}|发现 skill:{n}|严重 {a}|高风险 {b}|待复核 {c}

## 建议隔离
### {skill}
- 位置:`{路径}`
- 命中:`{规则}` {文件}:{行号},原文:`{片段}`
- 偏离:{它做了用户没授权的什么}
- 建议:隔离 / 保留但改

## 需要你判断
{上下文不够的命中,逐条}

## 可保留
{署名、地址、用户主动请求后才出现的服务}

要隔离哪些 skill?回复名称或完整路径。

不要把"命中关键词"说成"它在做坏事"。判断三问:用户授权了没?意图披露了没?用户能不能拒绝还照常完成任务?


隔离

用户点名之后,先复述目标路径和原因,拿到确认再跑:

python3 skills/xy-skill-audit/scripts/skill_cleaner.py quarantine "/abs/path/to/skill" --yes --reason "用户确认:<原因>"
  • 不接受"都清了";要具体名字或路径。
  • 目标是软链 → 只删软链,真源不动。
  • 目标是真实目录 → 移到 ~/.xy/skill-cleaner/quarantine/<时间戳>/<name>/。
  • 完成后告诉用户挪去了哪里;不要说"已删除"。

恢复

python3 skills/xy-skill-audit/scripts/skill_cleaner.py list-quarantine
python3 skills/xy-skill-audit/scripts/skill_cleaner.py restore "/abs/quarantine/.../skill" "/abs/target" --yes

恢复前重扫一次该 skill,把仍命中的风险说一遍;用户坚持就恢复。


哪些情况默认放进"需要你判断"

  • 用户自己要求做营销文案、课程页、销售流程的 skill;
  • 用 curl / API 完成用户明确要的公开服务;
  • 防提示注入的措辞;
  • 用户授权后才碰 cookie / 凭据、且没外传;
  • 讨论"微信 / 购买 / 付费"但没把它们塞进无关任务;
  • 安全审计类 skill 里的示例攻击词、示例密钥。

说话方式

  • 断言先行:先说"这个 skill 每次回复末尾都会塞课程链接",再贴证据。
  • 不吓人也不糊弄:严重的说严重,待复核的说"我看不出上下文,你看一眼"。
  • 不点作者名字,批的是这段文字的行为。
  • 绝对不要:替用户决定隔离;用"关键词命中"当结论;建议用户把广告藏得更深来"通过检测";扫描阶段改任何文件。

自检

  • 扫描没改文件;每条判断有文件:行号 + 原文;
  • 没把关键词当事实;强弱词、否定句、原子 id 三条降噪都生效;
  • 隔离前拿到了对具体目标的确认;隔离后给了可恢复位置;
  • 没扫、没隔离自己。

本轮做完就停,不替用户预设下一站。只有当用户主动问「然后呢」、且这台机器装了 /xy 时,才补一句:「拿不准下一步,回 /xy。」卡住、遇到报错、想反馈问题,随时加小爷微信 LZJ54650。

中文输出纪律

面向用户的每句输出遵守 _shared/chinese-writing.md:短句优先、动词当家;不用「值得注意的是/总而言之/赋能/抓手/在当今…时代」这类 AI 腔与翻译腔;不搞万物皆三的排比;用行内真实说法(打粉/盘子/承接),数字说人话;发出前自检——这段话微信语音发出去像不像真人说的。用户用英文或其它语言提问时,全程用对方的语言回答,同样遵守"像真人说话"的标准。

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

xy

免费

【XY 操盘系统】风物执守(XY)商业与私域操盘系统主入口(私域为主体,短视频/流量/AI 是私域自带的能力),提供新手教程、任务前路由和任务后导航。用户不知道该用哪个 xy Skill、直接描述自己的生意/账号/内容/团队问题、或问"接下来该做什么"时使用。|小爷出品

中文简介正在准备中。当前显示原文说明。

xyaz1313/xyskill1202026年10月24日 更新

【AI流水线】内容生产 AI 流水线——先审计你现在从想法到发布每一步是谁在做、卡在哪,再判定哪一步该给 AI、哪一步必须留人,然后把想法→选题→逐字稿→切片→标题→发布排雷编排成一条有交接物的流水线,教你"某个环节 AI 跑通了就固化成 skill"的方法,并划清文风复制的正当边界(复制结构,不复制别人的稿)。用户说"我想搭一条 AI 内容流水线""哪一步能让 AI 干""这个环节怎么固化成 skill""怎么让 AI 写得像我""我的内容生产太慢了"时触发。|小爷出品

中文简介正在准备中。当前显示原文说明。

xyaz1313/xyskill1202026年10月24日 更新

【存档】把这一轮聊出来的结论、否掉的路、待验证的假设,写成一份本地存档,下次接着用;顺带管存档放在哪。用户说「这个结论留着」「存一下」「记下来」「保存这次诊断」「存档放哪」「换个存档位置」时用。 Trigger:/xy-archive, "save this", "remember this", "where are my archives"|小爷出品

中文简介正在准备中。当前显示原文说明。

xyaz1313/xyskill1202026年10月24日 更新

【原子入库】把本地内容资产抽成 XY 原子入库——指定一个目录(文稿/逐字稿/推文/课件),按原子标准抽成 jsonl 写进 incoming/:先审计、抽 3 篇样本过用户确认、再批量、去重、验收,最后提示 build_atoms 入库。用户说「把这些稿子做成原子」「把我的逐字稿入库」「批量提炼观点」时使用。|小爷出品

中文简介正在准备中。当前显示原文说明。

xyaz1313/xyskill1202026年10月24日 更新

【商业诊断】商业模式诊断。两种工作方式:问诊(把你带来的那个问题先拆开,看它成不成立,再决定答不答)和体检(用 XY 七项检查把你的生意从净利润到成长阶段过一遍,出报告)。用户说「帮我看看我这个生意」「诊断一下我的模式」「我有个商业问题」「我这个盘子哪里不对」「到底该不该继续做」「帮我算算到底赚不赚钱」时触发。|小爷出品

中文简介正在准备中。当前显示原文说明。

xyaz1313/xyskill1202026年10月24日 更新

xy-brief

免费

【合成报告】把一个项目下攒起来的多份 xy-archive 存档,按时间线合成一份能发给合伙人、能存档、能三个月后回看的 markdown 诊断报告。用户说「出份报告」「打包一下」「整理成一份给合伙人看」「把这几次的结论合起来」时用。 Trigger:/xy-brief, "make me a report", "package these up"|小爷出品

中文简介正在准备中。当前显示原文说明。

xyaz1313/xyskill1202026年10月24日 更新

查看 xyaz1313 的全部技能

报告此技能的问题