FD skill-analysis
Проведите проверку безопасности перед установкой любого Skill — полностью локально, без сетевых запросов и сторонних зависимостей; ваш код никогда не покинет ваш компьютер. (1) Однократное решение: BLOCK / NEED_REVIEW / PASS с оценкой риска от 0 до 100, категорией от A до F и рекомендациями по публикации. (2) Постоянная защита: автоматическое сканирование при запуске сеанса, бесшумная проверка состояния для недавно установленных Skills. (3) Глубокое обнаружение угроз: многоуровневое декодирование обфускации, отслеживание потоков данных, декодирование инструкций, передаваемых через Unicode, RCE при десериализации, динамический анализ в песочнице. (4) Правила на основе данных: программы-вымогатели, внедрение подсказок, отравление инструментов MCP, отравление цепочки поставок, мошенничество с финансовыми стимулами, самоизменение идентификационных данных для сохранения. (5) Инженерные решения: кроссплатформенное пакетное сканирование, проверка в CI, экспорт в SARIF/SBOM/JSON. (6) Самопроверяемое доверие: без автоматических обновлений, привязка к подписи издателя + SHA-256 + проверка подписи одной командой + независимая повторная проверка.
машинный переводПоказать оригиналСкрыть оригинал«装 Skill 前,先过一遍安检 —— 纯本地 · 零外联 · 零第三方依赖,代码不出你的机器。①【一句话结论】BLOCK / NEED_R…»
装 Skill 前,先过一遍安检 —— 纯本地 · 零外联 · 零第三方依赖,代码不出你的机器。①【一句话结论】BLOCK / NEED_REVIEW / PASS 准入判定 + 0-100 风险评分 + A-F 等级与发布建议。②【全自动守护】会话启动自动扫描、新装 Skill 静默体检。③【深度对抗】多层混淆解码、污点数据流、Unicode 走私指令解码、反序列化 RCE、沙箱动态取证。④【情报驱动】勒索病毒、提示注入、MCP 工具投毒、供应链投毒、金融欺诈诱导、身份自改写持久化。⑤【工程化】跨平台批量扫描、CI 门禁、SARIF/SBOM/JSON 导出。⑥【可自证可信】无自动更新、发布者签名锚 + SHA-256 + 一键签名核验 + 独立复验。\n\nEN: Run a security check before installing any Skill -- 100% local, zero network calls, zero third-party dependencies; your code never leaves your machine. (1) One-shot verdict: BLOCK / NEED_REVIEW / PASS with a 0-100 risk score, A-F grading and publishing advice. (2) Always-on guard: auto-scan at session start, silent health checks for newly installed Skills. (3) Deep adversarial detection: multi-layer de-obfuscation, taint data-flow, Unicode smuggled-instruction decoding, deserialization RCE, sandboxed dynamic forensics. (4) Intelligence-driven rules: ransomware, prompt injection, MCP tool poisoning, supply-chain poisoning, financial-fraud inducement, identity self-rewrite persistence. (5) Engineering: cross-platform batch scanning, CI gate, SARIF/SBOM/JSON export. (6) Self-verifiable trust: no auto-update, publisher signature anchor + SHA-256 + one-command signature verification + independent re-validation.
Проведите проверку безопасности перед установкой любого Skill — полностью локально, без сетевых запросов и сторонних зависимостей; ваш код никогда не покинет…
Как процесс D 41/100 · Процесс не доведён — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Чем это грозит
Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте код правила в guard.allow в spec.yaml.
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Сократите description до 1024 символов.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 33
-
высокая Опасные команды
cmd-encoded-execCHANGELOG.md:233Выполнение закодированного (base64) кода (документация security-скилла)- 修复:分两级检测 —— ① 高危组合(curl|sh / base64 -d / powershell -enc / 破坏性命令 / 执行原语直连外部)新增行独立命中即报;② 通用执行原语(`eval`/`exec`/`os.system`/`subprocess`)须与网络/解码/外传信号**同行**才报。仅扫描新增行(`+` 前缀),排除已删除行的历史修复代码。
security-скилл
Средние и низкие: 32
-
средняя Опасные команды
cmd-pipe-to-shellCHANGELOG.md:37Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (документация security-скилла)- 实测确认已覆盖无需新增:.claude/settings.json hooks(HookPry)、Prerequisites curl|bash(v3.3.5 降级)、
security-скилл -
средняя Опасные команды
cmd-pipe-to-shellCHANGELOG.md:233Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (документация security-скилла)- 修复:分两级检测 —— ① 高危组合(curl|sh / base64 -d / powershell -enc / 破坏性命令 / 执行原语直连外部)新增行独立命中即报;② 通用执行原语(`eval`/`exec`/`os.system`/`subprocess`)须与网络/解码/外传信号**同行**才报。仅扫描新增行(`+` 前缀),排除已删除行的历史修复代码。
security-скилл -
средняя Опасные команды
cmd-pipe-to-shellCHANGELOG.md:254Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (документация security-скилла)- `scan_git_history(root, files_text)`:`.git` 走 `git log -p` 或 `*.patch/*.diff` 块扫描危险原语(eval/exec/os.system/subprocess/curl|sh/wget|sh/base64 -d/powershell -enc/rm -rf /)→ P1;仅纯本地、无外联。
security-скилл -
средняя Опасные команды
cmd-pipe-to-shellCHANGELOG.md:319Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (документация security-скилла)- `IMPERATIVE_EXEC_RE`:命令式动作(执行/运行/发送/上传/删除/curl|sh/os.system…);
security-скилл -
средняя Опасные команды
cmd-pipe-to-shellreferences/troubleshooting.md:179Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (документация security-скилла)场景:SKILL.md 中嵌入了长 base64 块,解码后是 curl | bash 命令。
security-скилл -
средняя Опасные команды
cmd-pipe-to-shellrules/mcp-dangers.json:15Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется)"label": "MCP server 启动命令含 curl|bash 远程执行",
строка в коде -
средняя Утечка данных
intent-browser-credential-storerules/secret-read.json:61Доступ к хранилищу паролей / cookies браузера (определение детектора / чёрного списка)"re": "Login Data(?:\\s+For\\s+Profile)?|Local State|\\bCookies\\b|Web Data|History\\.db|~\\.mozilla/firefox|key4\\.db|logins\\.json|AppData[^\\n]{0,60}(?:Chrome|Edge|Chromium)[^\\n]{0,60}(?:User Dataдетектор -
средняя Опасные команды
cmd-pipe-to-shellrules/shell-danger.json:8Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется)"label": "SKILL.md 内含 curl|bash 远程执行",
строка в коде -
средняя Опасные команды
cmd-pipe-to-shellrules/shell-danger.json:16Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется)"label": "SKILL.md 内含 wget|sh 远程执行",
строка в коде -
средняя Опасные команды
cmd-pipe-to-shellrules/supply-chain-2026.json:198Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется)"why": "下载二进制→chmod +x→直接执行是无沙箱执行的典型链(excel-automation/AMOS 样本形态),与纯 curl|bash 管道同样危险。",
строка в коде -
низкая Рискованное назначение
intent-offensive-securityCHANGELOG.md:386Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- **BUG-2(严重功能失效)**:`FS_SERVER_ABUSE_PATTERNS` 编译时漏加 `re.M`,而 git 配置规则全部以 `^` 行首锚定;无 `re.M` 时 `^` 仅匹配整串开头,多行 `.git/config` 中 `fsmonitor=` 等永远无法命中——v3.2.7 主打的 Git 配置执行检测形同虚设(仅不依赖 `^` 的通用穿越规则侥幸命中)。同类缺陷同
-
низкая Рискованное назначение
intent-offensive-securityCHANGELOG.md:430Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)新增勒索病毒(Ransomware)专项检测:**① 新建 `rules/ransomware.json`(15 条规则)**——覆盖勒索攻击链各阶段静态特征:勒索要求与联系话术、文件加密算法(对称与非对称加密)、删除卷影副本与破坏系统恢复、终止安全/备份/数据库服务、已知勒索家族名与加密文件后缀、SSH 端口横向扫描、进程伪装、ESXi 虚拟机加密、窃取加加密双阶段勒索(数据窃取工具外传)。依据
-
низкая Рискованное назначение
intent-offensive-securityREADME.md:8Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)description: '装 Skill 前,先过一遍安检 —— 纯本地 · 零外联 · 零第三方依赖,代码不出你的机器。①【一句话结论】BLOCK / NEED_REVIEW / PASS 准入判定 + 0-100 风险评分 + A-F 等级与发布建议。②【全自动守护】会话启动自动扫描、新装 Skill 静默体检。③【深度对抗】多层混淆解码、污点数据流、Unicode 走私指令解码、反序列化
детектор -
низкая Рискованное назначение
intent-offensive-securityREADME.md:9Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)keywords: [security, audit, scan, skill, safety, vulnerability, agent, prompt-injection, malware, mcp, supply-chain, ransomware]
детектор -
низкая Опасные команды
cmd-pipe-to-shellrules/agent-config-poison.json:41Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)"re": "\"(?:command|cmd|run|args|preLaunchTask|postDebugTask|options|hooks)\"\\s*:\\s*(\"|\\[)[^\\n]{0,200}?(?:curl|wget|bash|sh\\s+-c|powershell|pwsh|cmd\\.exe|node\\s+-e|python\\s+-c|\\|\\s*sh|\\|\\детекторстрока в коде -
низкая Опасные команды
cmd-persistencerules/capability.json:50Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)"re": "@reboot|crontab|launchctl|schtasks|systemctl\\s+enable|Startup",
детекторстрока в коде -
низкая Опасные команды
cmd-pipe-to-shellrules/install-hooks.json:42Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)"re": "\"hooks?\"\\s*:\\s*[\\[\\{]?[^\\n]{0,160}?\"(?:command|cmd|run|exec|shellCommand)\"\\s*:\\s*\"(?!(?:\\s*(?:npx|pnpm|bunx|uvx|pipx|npm|yarn|bun)\\s+)*(?:--yes\\s+)?(?:prettier|eslint|stylelint|bдетекторстрока в коде -
низкая Опасные команды
cmd-cryptominerrules/malware.json:23Установка или запуск майнера криптовалюты на машине пользователя (строковый литерал в коде, не выполняется; документация security-скилла)"re": "stratum\\+tcp|xmrig|minerd|cpuminer|cryptonight",
строка в кодеsecurity-скилл -
низкая Опасные команды
cmd-disable-securityrules/ransomware.json:120Отключение средства защиты (Defender, Gatekeeper, SIP, firewall, execution policy) (демонстрация атаки / пример; в кавычках — упоминание, а не команда)"why": "检出通过 PowerShell 禁用 Windows Defender 实时防护(Set-MpPreference -DisableRealtimeMonitoring)。Akira 等勒索家族加密前会禁用端侧防护,是高置信的勒索/恶意前置动作。",
демонстрацияв кавычках -
низкая Опасные команды
cmd-privilegerules/risk-rules.json:85Повышение привилегий / права на запись для всех (строковый литерал в коде, не выполняется)"label": "开放全局可写权限 (chmod 777)",
строка в коде -
низкая Опасные команды
cmd-persistencerules/shell-danger.json:87Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (определение детектора / чёрного списка; строковый литерал в коде, не выполняется)"re": "@reboot|crontab\\s+-|launchctl\\s+load|schtasks\\b|systemctl\\s+enable|CurrentVersion\\\\Run",
детекторстрока в коде -
низкая Секреты в коде
secret-high-entropy-tokenrules/supply-chain-2026.json:36Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"AI_S…6H2(2026-09-29 编制,情报窗口 2026-03~09,40+ 来源;R01-R17 风险映射)",
в кавычках -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:8Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)description: '装 Skill 前,先过一遍安检 —— 纯本地 · 零外联 · 零第三方依赖,代码不出你的机器。①【一句话结论】BLOCK / NEED_REVIEW / PASS 准入判定 + 0-100 风险评分 + A-F 等级与发布建议。②【全自动守护】会话启动自动扫描、新装 Skill 静默体检。③【深度对抗】多层混淆解码、污点数据流、Unicode 走私指令解码、反序列化
детектор -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:9Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)keywords: [security, audit, scan, skill, safety, vulnerability, agent, prompt-injection, malware, mcp, supply-chain, ransomware]
детектор
Ещё 8 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 57. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
description-longdescription 1258 символов, лимит 1024 - предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - заметка
frontmatter-keyнеизвестное поле фронтматтера "slug" - заметка
frontmatter-keyнеизвестное поле фронтматтера "displayName" - заметка
frontmatter-keyнеизвестное поле фронтматтера "keywords" - заметка
frontmatter-keyнеизвестное поле фронтматтера "triggers"
Процессный рейтинг: все десять параметров 41/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 2, без проверки текущего состояния
- 60Инструменты и файлы. Используются инструменты (bash, python), но во frontmatter они не объявлены
- 85Шаги. Шагов: 30, расплывчатых формулировок: 1
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1837 токенов
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 1258: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- -214 эмодзи в инструкциях: шум для модели
- -34 из 8 скриптов не упомянуты в SKILL.md
- +2Инструкции на одном языке
- +4Структура: 13 заголовков
- +3Пошаговые инструкции: 30 пунктов
- +4Есть примеры (1 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (3 из 7)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 41.