BC hunt-ssrf
Навык поиска уязвимостей SSRF. Основан на 15 публичных отчетах bug bounty, включая AWS metadata SSRF (HackerOne $25k Analytics PDF, Shopify Exchange $25k, Capital One 106M-record breach, Dropbox/HelloSign $4,913), GCP metadata SSRF (Snapchat $4k), Azure IMDS SSRF (Azure DevOps $15k chain, ChatGPT Custom Actions MSRC), DNS rebinding SSRF (Concrete CMS, GitLab UrlBlocker), gopher-protocol-to-Redis-RCE (Yahoo Mail $15k), link-preview SSRF (Reddit Matrix $6k) и цепочки SSRF в генераторах PDF на основе headless-браузера. Используйте при поиске SSRF на любом таргете — обязательное подтверждение OOB Collaborator для слепых случаев.
машинный переводПоказать оригиналСкрыть оригинал«Hunting skill for ssrf vulnerabilities. Built from 15 public bug bount…»
Hunting skill for ssrf vulnerabilities. Built from 15 public bug bounty reports including AWS metadata SSRF (HackerOne $25k Analytics PDF, Shopify Exchange $25k, Capital One 106M-record breach, Dropbox/HelloSign $4,913), GCP metadata SSRF (Snapchat $4k), Azure IMDS SSRF (Azure DevOps $15k chain, ChatGPT Custom Actions MSRC), DNS rebinding SSRF (Concrete CMS, GitLab UrlBlocker), gopher-protocol-to-Redis-RCE (Yahoo Mail $15k), link-preview SSRF (Reddit Matrix $6k), and headless-browser PDF-generator SSRF chains. Use when hunting SSRF on any target — OOB Collaborator confirmation mandatory for blind cases.
Навык поиска уязвимостей SSRF.
Как процесс C 51/100 · Есть пробелы — слабые места: когда включается, входы и предусловия, ошибки и развилки
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 5
✓ Критических и высоких находок нет
Средние и низкие: 5
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:3Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)description: Hunting skill for ssrf vulnerabilities. Built from 15 public bug bounty reports including AWS metadata SSRF (HackerOne $25k Analytics PDF, Shopify Exchange $25k, Capital One 106M-record b
-
низкая Утечка данных
exfil-webhook-urlSKILL.md:226URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)curl -s "https://target.com/api/preview?url=…"
заглушка -
низкая Утечка данных
exfil-webhook-urlSKILL.md:231URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)-d '{"url":"https://YOUR_ID.oast.pro"}'заглушка -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:461Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)An attacker who could register a Kubernetes API extension server (metrics-server equivalent) returned `302 Location: http://127.0.0.1:6443/api/v1/secrets` responses to the aggregation layer. Because t
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:509Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- **`cloud-iam-deep`** — SSRF is the canonical entry to cloud metadata service. Chain primitive: SSRF → IMDSv1 token theft → `cloud-iam-deep` privilege escalation reaches `iam:CreateUser` / `sts:Assum
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
body-longтело SKILL.md ≈ 6633 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "sources" - заметка
frontmatter-keyнеизвестное поле фронтматтера "report_count"
Процессный рейтинг: все десять параметров 51/100
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (web), но во frontmatter они не объявлены
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Стоимость исполнения. Тело инструкции 6633 токенов
- 85Шаги. Шагов: 85, расплывчатых формулировок: 1
- 100Согласованность. Имя и обязательные поля на месте
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- low Разделов верхнего уровня: 11. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (3 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- -2Ссылки на localhost: у другого пользователя не заработает
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 610 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 35 заголовков
- +3Пошаговые инструкции: 85 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (18 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 73.