SKILLEMALL.ai

CF ssrf

Ищите подделку запросов на стороне сервера (CWE-918) — любой исходящий запрос, URL, схема, хост или порт которого производятся из другого запроса. Активируется для аватара по URL, регистрации веб-хуков/обратных вызовов, предварительного просмотра/развертывания URL, рендеринга в PDF/снимка экрана/миниатюры, импорта из URL, приема фидов, обнаружения OAuth redirect_uri/jwks_uri, проб "проверить соединение", прокси и передачи медиа, а также для вспомогательных функций с именами download/fetch/get_image/get_base64_image_blob/load_url, тела которых вы не видите. Поставляется probe.sh, который сканирует приемники fetch в семи экосистемах, контракты URL-параметров, их сайты вызовов и политику белых списков за один проход. Ключевые слова SSRF, requests.get, urlopen, httpx, fetch, axios, OkHttp, curl_exec, 169.254.169.254, метаданные облака, gopher://, allow_redirects, DNS rebinding, blind SSRF, URLField.

машинный переводПоказать оригиналСкрыть оригинал«Hunt Server-Side Request Forgery (CWE-918) — any outbound fetch whose…»

Hunt Server-Side Request Forgery (CWE-918) — any outbound fetch whose URL, scheme, host or port derives from a request. Activate on avatar-by-URL, webhook/callback registration, URL preview/unfurl, render-to-PDF/screenshot/thumbnailer, import-from-URL, feed ingest, OAuth redirect_uri/jwks_uri discovery, "test connection" probes, proxy and media passthrough, and on helpers named download/fetch/get_image/get_base64_image_blob/load_url whose bodies you cannot see. Ships probe.sh, which greps fetch sinks across seven ecosystems, url-parameter contracts, their call sites and allow-list posture in one pass. Keywords SSRF, requests.get, urlopen, httpx, fetch, axios, OkHttp, curl_exec, 169.254.169.254, cloud metadata, gopher://, allow_redirects, DNS rebinding, blind SSRF, URLField.

Разбор skillemall

Скилл ловит SSRF-уязвимости — когда приложение делает запросы по URL из пользовательского ввода. Обещает найти fetch-вызовы во всех семи экосистемах и проверить, защищены ли они от внутренних адресов.

В папке два файла и скрипт probe.sh, который ищет по ключевым словам (requests.get, httpx, fetch, curl_exec и прочее). На моделях не запускался. Качество кода — 65 баллов, процесс — 28. Критических находок нет, но и валидации результатов не видно.

Скилл работает как grep по исходникам, а не как анализ потоков данных. Поймает очевидные случаи, но пропустит косвенные вызовы и сложные цепочки. Для быстрого скана годится, для полного аудита — нет.

visa/visa-vulnerability-agentic-harness Agent Skills автор: visa 2 файла · 1 скрипт тело ≈ 1 334 токенов Открыть источникgithub.com↗ проанализирован 5 дн назад

Ищите подделку запросов на стороне сервера (CWE-918) — любой исходящий запрос, URL, схема, хост или порт которого производятся из другого запроса.

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

ИнтеграцияМедиа и видеотип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
86/100
безопасность, качество, тесты
Безопасность 60%
100
Качество 40%
65
Прогон на моделях
не было
Процессный рейтинг
F
28/100
Процесс не описан
Шаги вес 15
0
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
три самых слабых из десяти параметров · все десять

Как улучшить

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

Находки guard · 0

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

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

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

  • предупреждение description-no-when description не говорит, КОГДА применять скилл (нет "use when / используй когда")

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

  • 0Шаги. Инструкция сплошным текстом, шаги не выделены
  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 0Ошибки и развилки. Линейный процесс без обработки сбоев
  • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
  • 20Когда включается. Не сказано, при каком запросе скилл включается
  • 30Повторный запуск. Изменяющих операций: 3, без проверки текущего состояния
  • 60Инструменты и файлы. Используются инструменты (web), но во frontmatter они не объявлены
  • 100Согласованность. Имя и обязательные поля на месте
  • 100Стоимость исполнения. Тело инструкции 1334 токенов

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

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

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

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