BC hunt-xss
Навык поиска XSS-уязвимостей. Основан на 174 общедоступных отчетах об ошибках. Используйте при поиске XSS на любом целевом объекте. Для внедрения разметки, которая отражает необработанный HTML, но НЕ выполняет JavaScript (без выполнения `<script>`/обработчика событий), см. hunt-html-injection — эскалируйте сюда, как только станет возможно выполнение скрипта.
машинный переводПоказать оригиналСкрыть оригинал«Hunting skill for xss vulnerabilities. Built from 174 public bug bount…»
Hunting skill for xss vulnerabilities. Built from 174 public bug bounty reports. Use when hunting xss on any target. For markup injection that reflects raw HTML but does NOT execute JavaScript (no `<script>`/event-handler execution), see hunt-html-injection — escalate here once script execution is possible.
Навык поиска XSS-уязвимостей.
Как процесс C 50/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 7
✓ Критических и высоких находок нет
Средние и низкие: 7
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:3Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)description: Hunting skill for xss vulnerabilities. Built from 174 public bug bounty reports. Use when hunting xss on any target. For markup injection that reflects raw HTML but does NOT execute JavaS
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:50Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- **Payment/financial flows** (`paypal.com`, checkout pages, currency converters) — XSS here enables credential harvesting and financial fraud at scale
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:151Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)2. **Classify by type** — Determine if each reflection is Reflected (URL param → response), Stored (database → later rendering), or DOM-based (JS reads URL/storage → DOM sink). Each requires different
-
низкая Опасные команды
cmd-eval-dynamicSKILL.md:322Динамическое выполнение кода из декодированного/недоверенного ввода (документация security-скилла)<svg onload=eval(atob('YWxlcnQoMSk='))>security-скилл -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:369Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (в кавычках — упоминание, а не команда)An attacker discovered that a major payment platform's sign-in page reflected user-controlled input and was cached by the CDN layer. By sending a crafted request that poisoned the cache, the attacker
в кавычках -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:428Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- **Impact:** Privilege escalation from low-priv user to admin via stored XSS — attacker promotes themselves on the privileged user's behalf.
Ещё 1 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
body-longтело SKILL.md ≈ 7257 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "sources" - заметка
frontmatter-keyнеизвестное поле фронтматтера "report_count" - заметка
edit-residueв тексте есть пометки об устаревшем (строки 303, 341): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия
Процессный рейтинг: все десять параметров 50/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 8, без проверки текущего состояния
- 60Инструменты и файлы. Используются инструменты (bash, web), но во frontmatter они не объявлены
- 60Ошибки и развилки. Развилок: 2
- 70Стоимость исполнения. Тело инструкции 7257 токенов
- 100Шаги. Шагов: 113
- 100Согласованность. Имя и обязательные поля на месте
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (33 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 308 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 22 заголовков
- +3Пошаговые инструкции: 113 пунктов
- +4Есть примеры (23 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 72.