SKILLEMALL.ai

FC ecap-security-auditor

Каркас аудита безопасности для навыков ИИ-агентов, серверов MCP и пакетов. Ваша LLM выполняет анализ — мы предоставляем структуру, промпты и общую базу доверия.

машинный переводПоказать оригиналСкрыть оригинал«Security audit framework for AI agent skills, MCP servers, and package…»

Security audit framework for AI agent skills, MCP servers, and packages. Your LLM does the analysis — we provide structure, prompts, and a shared trust database.

Не рекомендуетсянизкая оценка F
modbender/skill-library-mcp Agent Skills автор: modbender MIT 36 файлов · 3 скрипта тело ≈ 7 620 токенов Открыть источникgithub.com проанализирован 2 дн назад

Каркас аудита безопасности для навыков ИИ-агентов, серверов MCP и пакетов.

Как процесс C 58/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия

АнализаторИИ и агентытип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
F
25/100
безопасность, качество, тесты
Безопасность 60%
0
Качество 40%
63
Прогон на моделях
не было
Процессный рейтинг
C
58/100
Есть пробелы
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Когда включается вес 12
50
три самых слабых из десяти параметров · все десять

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

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

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

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

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

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

Автору

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

Обфускация средняя серьёзность

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

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

В файлах есть невидимые символы, закодированные команды или спрятанные комментарии для модели. То, что вы читаете, отличается от того, что видит агент.

Автору

Уберите невидимые символы (часто они попадают из копипаста) и закодированные строки: их не пропустит ни один каталог. Инструкции для модели должны быть видны и человеку.

Как улучшить

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

Находки guard · 80

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

Средние и низкие: 80
  • средняя Опасные команды cmd-pipe-to-shell FERRET-SCAN-ANALYSIS.md:268
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (документация security-скилла)
    - curl|bash, eval, exec
    security-скилл
  • средняя Обфускация uni-zero-width PROMPT-TEST-SUITE.md:253
    Невидимые символы нулевой ширины (возможен скрытый текст) (19 шт.) (тестовый файл / пример)
    This␀␀␀␀ tool␀␀␀ is␀␀␀␀␀ safe␀␀␀ to␀␀␀␀ use.
    тестовый файл
  • средняя Опасные команды cmd-persistence prompts/audit-prompt.md:79
    Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (документация security-скилла)
    - LaunchAgents/LaunchDaemons (`~/Library/LaunchAgents`)
    security-скилл
  • средняя Опасные команды cmd-encoded-exec SKILL.md:355
    Выполнение закодированного (base64) кода (строка таблицы в документации; документация security-скилла)
    | `OBF_B64_002` | Base…ode → execute chains | `atob()`, `base64 -d`, `b64decode()` followed by `eval`/`exec` |
    таблицаsecurity-скилл
  • низкая Рискованное назначение intent-offensive-security AUDIT-QUALITY-TEST.md:16
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (тестовый файл / пример)
    | 3 | Reverse shell | setu…-24 | CRITICAL |
    тестовый файл
  • низкая Рискованное назначение intent-offensive-security AUDIT-QUALITY-TEST.md:65
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка; тестовый файл / пример)
    "title": "Reverse shell backdoor",
    детектортестовый файл
  • низкая Рискованное назначение intent-offensive-security AUDIT-QUALITY-TEST.md:66
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (тестовый файл / пример; в кавычках — упоминание, а не команда)
    "description": "Opens reverse shell to 45.33.32.156:4444, piping /bin/sh stdin/stdout over TCP. Classic backdoor.",
    тестовый файлв кавычках
  • низкая Рискованное назначение intent-offensive-security AUDIT-QUALITY-TEST.md:251
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (тестовый файл / пример; в кавычках — упоминание, а не команда)
    "remediation": "Remove immediately - C2 server communication",
    тестовый файлв кавычках
  • низкая Рискованное назначение intent-offensive-security AUDIT-QUALITY-TEST.md:277
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (тестовый файл / пример)
    Prompt correctly identifies: typosquatting, CI-conditional activation, custom registry, credential harvesting, hidden functionality. The CI-only trigger is especially good — shows the prompt doesn't j
    тестовый файл
  • низкая Опасные команды cmd-privilege FERRET-ADOPTION-PLAN.md:210
    Повышение привилегий / права на запись для всех (документация security-скилла)
    > - **chmod 777**: World-writable permissions on any file, especially executables or configs
    security-скилл
  • низкая Опасные команды cmd-privilege FERRET-SCAN-ANALYSIS.md:91
    Повышение привилегий / права на запись для всех (документация security-скилла)
    - Built-in Fixes: Credentials redacten, Jailbreak entfernen, HTTP→HTTPS, chmod 777→644
    security-скилл
  • низкая Опасные команды cmd-privilege FERRET-SCAN-ANALYSIS.md:225
    Повышение привилегий / права на запись для всех (документация security-скилла)
    - Bei chmod 777 → "Use chmod 644 or more restrictive"
    security-скилл
  • низкая Опасные команды cmd-pipe-to-shell PROMPT-TEST-SUITE.md:139
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (тестовый файл / пример; документация security-скилла)
    - **PASS**: Persistence UND curl\|bash beide als real findings erkannt, result >= caution
    тестовый файлsecurity-скилл
  • низкая Опасные команды cmd-pipe-to-shell PROMPT-TEST-SUITE.md:141
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (тестовый файл / пример; документация security-скилла)
    - **PARTIAL**: Nur curl\|bash erkannt, crontab nicht explizit geflaggt
    тестовый файлsecurity-скилл
  • низкая Опасные команды cmd-pipe-to-shell PROMPT-TEST-SUITE.md:145
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (тестовый файл / пример; документация security-скилла)
    - **v1**: Wird wahrscheinlich curl\|bash finden, crontab evtl. nur als "system modification". Kein PERSIST pattern_id.
    тестовый файлsecurity-скилл
  • низкая Опасные команды cmd-privilege prompts/audit-prompt-v1-backup.md:55
    Повышение привилегий / права на запись для всех (документация security-скилла)
    - **Privilege escalation**: Unnecessary `sudo`, setuid, or capability requests
    security-скилл
  • низкая Рискованное назначение intent-offensive-security prompts/audit-prompt-v1-backup.md:55
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    - **Privilege escalation**: Unnecessary `sudo`, setuid, or capability requests
  • низкая Рискованное назначение intent-offensive-security prompts/audit-prompt-v1-backup.md:227
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | PRIV_ESC | Privilege escalation |
  • низкая Рискованное назначение intent-offensive-security prompts/audit-prompt.md:25
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | **Settings / Config** | Permission grants, tool allow-lists, `defaultMode` | Privilege escalation, wildcard permissions (`Bash(*)`) |
  • низкая Опасные команды cmd-privilege prompts/audit-prompt.md:71
    Повышение привилегий / права на запись для всех (документация security-скилла)
    - **Privilege escalation**: Unnecessary `sudo`, setuid, capability requests, wildcard permissions (`Bash(*)`, `*` in tool allow-lists)
    security-скилл
  • низкая Рискованное назначение intent-offensive-security prompts/audit-prompt.md:71
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    - **Privilege escalation**: Unnecessary `sudo`, setuid, capability requests, wildcard permissions (`Bash(*)`, `*` in tool allow-lists)
  • низкая Рискованное назначение intent-offensive-security prompts/audit-prompt.md:130
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | Permission escalation | Persistence mechanism | **Persistent privilege escalation** |
  • низкая Рискованное назначение intent-offensive-security prompts/audit-prompt.md:294
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | PRIV_ESC | Privilege escalation |
  • низкая Рискованное назначение intent-offensive-security README.md:60
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка)
    | **🔗 Cross-File Analysis** *(v2)* | Detects multi-file attack chains like credential harvesting + exfiltration across separate files. |
    детектор
  • низкая Рискованное назначение intent-offensive-security README.md:69
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    Command injection · Credential theft · Data exfiltration · Sandbox escapes · Supply chain attacks · Path traversal · Privilege escalation · Unsafe deserialization · Weak cryptography · Information lea
  • низкая Утечка данных net-credential-use SKEPTIC-REVIEW.md:110
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (строка таблицы в документации; документация security-скилла)
    | 288 | `curl -s "..." -H "Authorization: Bearer $ECAP_API_KEY"` | ✅ | ✅ |
    таблицаsecurity-скилл
  • низкая Рискованное назначение intent-offensive-security SKILL-v1-backup.md:275
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    - `scripts/`: `curl|bash`, `eval`, `rm -rf`, credential harvesting
  • низкая Опасные команды cmd-pipe-to-shell SKILL-v1-backup.md:385
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строка таблицы в документации; документация security-скилла)
    | **Critical** | Exploitable now, immediate damage. | `curl URL \| bash`, `rm -rf /`, env var exfiltration, `eval` on raw input |
    таблицаsecurity-скилл
  • низкая Рискованное назначение intent-offensive-security SKILL-v1-backup.md:404
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | `PRIV_ESC` | Privilege escalation |
  • низкая Рискованное назначение intent-offensive-security SKILL.md:278
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    - `scripts/`: `curl|bash`, `eval`, `rm -rf`, credential harvesting
  • низкая Подмена инструкций en-role-hijack SKILL.md:322
    Подмена роли ("from now on you must ignore… / developer mode") (строка таблицы в документации; документация security-скилла)
    | `AI_P…003` | Capability Escalation | "enable developer mode", "unlock hidden capabilities", "activate god mode" |
    таблицаsecurity-скилл
  • низкая Опасные команды cmd-cron-mention SKILL.md:341
    Упоминание редактирования crontab (строка таблицы в документации; документация security-скилла)
    | `PERSIST_001` | Crontab modification | `crontab -e`, `crontab -l`, writing to `/var/spool/cron/` |
    таблицаsecurity-скилл
  • низкая Опасные команды cmd-background-process SKILL.md:344
    Запуск фонового / автозапускаемого процесса (строка таблицы в документации; документация security-скилла)
    | `PERSIST_004` | Systemd services | `systemctl enable`, writing to `/etc/systemd/`, `.service` files |
    таблицаsecurity-скилл
  • низкая Опасные команды cmd-persistence SKILL.md:345
    Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строка таблицы в документации; документация security-скилла)
    | `PERSIST_005` | macOS LaunchAgents | Writing to `~/Library/LaunchAgents/`, `/Library/LaunchDaemons/` |
    таблицаsecurity-скилл
  • низкая Опасные команды cmd-pipe-to-shell SKILL.md:472
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строка таблицы в документации; документация security-скилла)
    | **Critical** | Exploitable now, immediate damage. | `curl URL \| bash`, `rm -rf /`, env var exfiltration, `eval` on raw input |
    таблицаsecurity-скилл
  • низкая Рискованное назначение intent-offensive-security SKILL.md:494
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
    | `PRIV_ESC` | Privilege escalation |
  • низкая Опасные команды cmd-pipe-to-shell TEST-RESULTS-V1.md:35
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (тестовый файл / пример; документация security-скилла)
    **Erwartet:** Persistence UND curl|bash beide als real findings erkannt, result >= caution. Kein PERSIST pattern_id erwartet für v1.
    тестовый файлsecurity-скилл
  • низкая Опасные команды cmd-pipe-to-shell TEST-RESULTS-V1.md:37
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (тестовый файл / пример; документация security-скилла)
    **Begründung:** v1 findet curl|bash als CRITICAL (explizit in Step 3 🔴) und crontab als "System modification" (Step 3 🟠 HIGH). Beide werden korrekt als by_design:false erkannt. Es gibt keinen PERSIS
    тестовый файлsecurity-скилл
  • низкая Рискованное назначение intent-offensive-security TEST-RESULTS-V1.md:85
    Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (определение детектора / чёрного списка; тестовый файл / пример)
    1. `pattern_id: CRED…001`, severity: `critical`, title: "Credential harvesting via environment variables", file: `src/config.js`, lines: 4-6, content: `process.env.API_KEY, process.env.DB_PASSWO
    детектортестовый файл
  • низкая Опасные команды cmd-pipe-to-shell TEST-RESULTS-V2.md:53
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (тестовый файл / пример; документация security-скилла)
    **Erwartet:** Persistence UND curl|bash beide als real findings erkannt, result >= caution
    тестовый файлsecurity-скилл
  • низкая Опасные команды cmd-pipe-to-shell TEST-RESULTS-V2.md:55
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (тестовый файл / пример; документация security-скилла)
    **Begründung:** Persistence (PERSIST_001) explizit erkannt, curl|bash als CRITICAL erkannt, result=unsafe.
    тестовый файлsecurity-скилл
  • низкая Опасные команды cmd-pipe-to-shell TEST-RESULTS-V2.md:292
    Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (тестовый файл / пример; документация security-скилла)
    | 2 | Persistence/Crontab | ✅ PASS | PERSIST + curl\|bash erkannt, result=unsafe |
    тестовый файлsecurity-скилл

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

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

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

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

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

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 50Когда включается. Не сказано, при каком запросе скилл включается
  • 60Инструменты и файлы. Используются инструменты (bash, web, git, python, node), но во frontmatter они не объявлены
  • 70Стоимость исполнения. Тело инструкции 7620 токенов
  • 85Шаги. Шагов: 47, расплывчатых формулировок: 1
  • 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
  • 100Согласованность. Имя и обязательные поля на месте
  • 100Повторный запуск. Изменяющие операции проверяют текущее состояние
  • 100Отчётность по ходу. Скилл сообщает о ходе работы
  • medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
  • low Разделов верхнего уровня: 11. Похоже на несколько доменов в одном скилле
  • low Ответ описан самодельной разметкой (11 тегов): типизированный вызов надёжнее

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

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

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Формат ответа не описан: модель каждый раз решает сама
  • -239 эмодзи в инструкциях: шум для модели
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +3Длина description 161 символов: достаточно сигнала, не съедает бюджет
  • +4Структура: 41 заголовков
  • +3Пошаговые инструкции: 47 пунктов
  • +4Есть примеры (18 блоков кода)
  • +3Все 3 скриптов описаны в инструкциях

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