SKILLEMALL.ai

CF Skill Security Reviewer v3.0.0

<!-- Обзор безопасности навыков | Версия 3.0.0 | Автор: chris@zast.ai -->

машинный переводПоказать оригиналСкрыть оригинал«<!-- Skill Security Reviewer | Version 3.0.0 | Author: chris@zast.ai -…»

<!-- Skill Security Reviewer | Version 3.0.0 | Author: chris@zast.ai -->

modbender/skill-library-mcp Agent Skills автор: modbender MIT 1 файл тело ≈ 10 462 токенов Открыть источникgithub.com проанализирован 2 дн назад

<!-- Обзор безопасности навыков | Версия 3.0.0 | Автор: chris@zast.ai -->

Как процесс F 33/100 · Не запустится — слабые места: результат и критерий готовности, когда включается, входы и предусловия

АнализаторРазработкаДанные и аналитикаБезопасностьтип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
72/100
безопасность, качество, тесты
Безопасность 60%
84
Качество 40%
54
Прогон на моделях
не было
Процессный рейтинг
F
33/100
Не запустится
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Ошибки и развилки вес 10
0
три самых слабых из десяти параметров · все десять

Чем это грозит

Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.

Опасные команды средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.

Автору

Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.

Как улучшить

  1. Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
  2. Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
Для прогона на моделях — необязательно
  • Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
  • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

Находки guard · 12

✓ Критических и высоких находок нет

Средние и низкие: 12
  • средняя Опасные команды cmd-pipe-to-shell SKILL.md:856
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (документация security-скилла)
    - **Threat Analysis**: Attacker uses Base64 encoding to hide a curl|bash remote code execution command. After decoding, the command downloads and executes a malicious script from the attacker's server
    security-скилл
  • низкая Опасные команды cmd-pipe-to-shell SKILL.md:565
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строка таблицы в документации; документация security-скилла)
    | EXEC-001 | Download and execute | `curl\|bash`, `wget\|sh`, remote script execution | Critical |
    таблицаsecurity-скилл
  • низкая Рискованное назначение intent-offensive-security SKILL.md:566
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | EXEC-002 | Reverse shell | `/dev/tcp`, `nc -e`, `bash -i` | Critical |
  • низкая Рискованное назначение intent-offensive-security SKILL.md:570
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | EXEC-006 | Privilege escalation attempt | `sudo`, `su`, `doas` | Critical |
  • низкая Рискованное назначение intent-offensive-security SKILL.md:595
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | EXFIL-007 | C2 communication | Command and control server connections | Critical |
  • низкая Подмена инструкций en-ignore-previous SKILL.md:601
    Фраза-перехват ("ignore previous instructions") (строка таблицы в документации; документация security-скилла)
    | INJ-001 | Instruction override | "ignore previous instructions" | Critical |
    таблицаsecurity-скилл
  • низкая Рискованное назначение intent-offensive-security SKILL.md:614
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | ABUSE-002 | MCP privilege escalation | playwright/serena abuse | Critical |

Ещё 5 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.

Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.

По спецификации Agent Skills

  • предупреждение name-format name должен быть в kebab-case (строчные буквы, цифры, дефисы)
  • предупреждение description-no-when description не говорит, КОГДА применять скилл (нет "use when / используй когда")
  • предупреждение body-long тело SKILL.md ≈ 10462 токенов (рекомендуется < 5000); вынесите детали в references/

Процессный рейтинг: все десять параметров 33/100

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 0Ошибки и развилки. Линейный процесс без обработки сбоев
  • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
  • 20Когда включается. Не сказано, при каком запросе скилл включается
  • 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
  • 40Согласованность. Имя во frontmatter (Skill Security Reviewer v3.0.0) не совпадает с папкой (skill-security-reviewer)
  • 40Стоимость исполнения. Тело инструкции 10462 токенов: вытесняет саму задачу из окна
  • 60Инструменты и файлы. Используются инструменты (bash, web, python), но во frontmatter они не объявлены
  • 85Шаги. Шагов: 63, расплывчатых формулировок: 1
  • low Разделов верхнего уровня: 11. Похоже на несколько доменов в одном скилле

Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.

Сигналы качества

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Длина description 72: рекомендуется 120–800 символов
  • +3Формат ответа не описан: модель каждый раз решает сама
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +4Структура: 36 заголовков
  • +3Пошаговые инструкции: 63 пунктов
  • +4Есть примеры (34 блоков кода)

База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 54.