DF skill-security-checker
Сканер аудита безопасности. Проверь этот skill, помоги мне проверить его перед установкой. Безопасен ли этот skill? Быстрое сканирование в один клик за 30 секунд выдает три уровня оценки (✅ чистый/⚠️ подозрительный/🚫 вредоносный) + 3 основные риска + краткое обоснование; полный режим охватывает легковесный SAST-анализ потоков данных (Python AST + JS лексическая аппроксимация, цепочка доказательств source→sink для снижения ложных срабатываний), движок правил (горячая замена пакетов правил YAML для расширения), общедоступные правила (проверка схемы + запись источника + проверка подписи), ML-семантический анализ на предмет внедрения подсказок (ONNX + регулярные выражения для понижения уровня), захват системного поведения (eBPF Linux / ETW Windows), динамическое сканирование в песочнице, анализ рисков цепочки поставок, офлайн-пакет данных OSV.dev (полное покрытие CVE для всей экосистемы, без ключей) + глубокий анализ файлов блокировки (requirements.txt / package-lock.json / poetry.lock, точное сопоставление на уровне диапазонов версий), база данных отпечатков вредоносных skills, проверка работоспособности и соответствия требованиям (объединение качества + структуры + разрешений), глобальная конфигурация исключений, интеграция CI/CD, генерация отчетов в форматах JSON/HTML/SARIF.
машинный переводПоказать оригиналСкрыть оригинал«Skill Security — 安全审计扫描器,审一下这个 skill、装之前帮我查查、这个 skill 安全吗?一键快扫 30 秒出三档…»
Skill Security — 安全审计扫描器,审一下这个 skill、装之前帮我查查、这个 skill 安全吗?一键快扫 30 秒出三档裁定(✅干净/⚠️可疑/🚫恶意)+ Top3 风险 + 一句话理由;全量模式覆盖轻量 SAST 污点追踪(Python AST + JS 词法近似,source→sink 证据链降误报)、规则引擎(YAML 规则包热插拔扩展)、社区规则(schema 校验 + 来源记录 + 签名验证)、提示注入 ML 语义检测(ONNX + 正则降级)、系统级行为捕获(eBPF Linux / ETW Windows)、动态沙箱执行扫描、供应链风险分析、OSV.dev 离线数据包(全生态 CVE 覆盖,零密钥)+ 锁文件深度解析(requirements.txt / package-lock.json / poetry.lock,版本区间级精确匹配)、恶意 Skill 指纹库、健康度与合规检查(质量+结构+权限合并)、全局排除配置、CI/CD 集成、JSON/HTML/SARIF 报告生成。
Сканер аудита безопасности.
Как процесс F 33/100 · Процесс не описан — Скилл ссылается на файлы, которых нет в архиве: scripts/rules/*.yaml
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 10
✓ Критических и высоких находок нет
Средние и низкие: 10
-
низкая Опасные команды
cmd-pipe-to-shellscripts/audit.py:166Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется; документация security-скилла)'curl.*(sh|bash|cmd|powershell)',
строка в кодеsecurity-скилл -
низкая Опасные команды
cmd-pipe-to-shellscripts/audit.py:167Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется; документация security-скилла)'wget.*(sh|bash)',
строка в кодеsecurity-скилл -
низкая Опасные команды
cmd-pipe-to-shellscripts/rules/command_injection.yaml:8Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется; документация security-скилла)- 'curl.*(sh|bash|cmd|powershell)'
строка в кодеsecurity-скилл -
низкая Опасные команды
cmd-pipe-to-shellscripts/rules/command_injection.yaml:9Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строковый литерал в коде, не выполняется; документация security-скилла)- 'wget.*(sh|bash)'
строка в кодеsecurity-скилл
Ещё 6 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 33. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
body-longтело SKILL.md ≈ 5787 токенов (рекомендуется < 5000); вынесите детали в references/ - предупреждение
missing-refссылка на отсутствующий файл: scripts/rules/*.yaml
Процессный рейтинг: все десять параметров 33/100
- 0Инструменты и файлы. Не хватает 1 файла(ов): scripts/rules/*.yaml
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 2, без проверки текущего состояния
- 70Стоимость исполнения. Тело инструкции 5787 токенов
- 100Шаги. Шагов: 67
- 100Согласованность. Имя и обязательные поля на месте
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- low Разделов верхнего уровня: 11. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -253 эмодзи в инструкциях: шум для модели
- -41 справочных файлов, но SKILL.md на них не ссылается: модель их не откроет
- -32 из 8 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 464 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 42 заголовков
- +3Пошаговые инструкции: 67 пунктов
- +4Есть примеры (7 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 47.