AC hunt-spa-api
Обнаружение скрытого бэкенд API одностраничного приложения из его общедоступного JS-бандла, затем тестирование этого API на предмет нарушений контроля доступа / отсутствия аутентификации. Одна из самых результативных веб-техник в современной разведке — SPA доставляют всю карту бэкенд-маршрутов в браузер, а API за ними часто не имеет промежуточного ПО аутентификации, которое подразумевает страница входа. Создано на основе авторизованного взаимодействия, где эта техника нашла неаутентифицированный финансовый API, который полностью пропустил ASM-скан, сообщивший о сотнях «критических» проблем. Использовать всякий раз, когда цель обслуживает SPA с большим количеством JS (React/Vue/Angular/Next), субдомен «app»/«console»/«dashboard»/«portal» или любой хост `*api*` появляется в разведке. Утечки артефактов сборки (source maps / .env / .git / asset-manifest) принадлежат hunt-source-leak; инвентаризация версий API и поведенческое сравнение — hunt-shadow-api; этот навык отвечает за сопоставление маршрутов бэкенда живого SPA из его JS-бандла и их тестирование на предмет нарушений контроля доступа / отсутствия аутентификации.
машинный переводПоказать оригиналСкрыть оригинал«Discover a single-page-app's hidden backend API from its public JS bun…»
Discover a single-page-app's hidden backend API from its public JS bundle, then test that API for broken access control / missing authentication. One of the highest-yield web plays in modern recon — SPAs ship their entire backend route map to the browser, and the API behind them is frequently missing the auth middleware the login page implies. Built from an authorized engagement where this play found an unauthenticated financial API that an ASM scan reporting hundreds of "Criticals" completely missed. Use whenever a target serves a JS-heavy SPA (React/Vue/Angular/Next), an "app"/"console"/"dashboard"/"portal" subdomain, or any `*api*` host shows up in recon. Leaked build artifacts (source maps / .env / .git / asset-manifest) are owned by hunt-source-leak; API version-inventory and behavioral diffing by hunt-shadow-api; this skill owns mapping a live SPA's backend routes from its JS bundle and testing them for broken access control / missing auth.
Обнаружение скрытого бэкенд API одностраничного приложения из его общедоступного JS-бандла, затем тестирование этого API на предмет нарушений контроля доступа…
Как процесс C 55/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, повторный запуск
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- заметка
frontmatter-keyнеизвестное поле фронтматтера "sources" - заметка
frontmatter-keyнеизвестное поле фронтматтера "report_count"
Процессный рейтинг: все десять параметров 55/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 3, без проверки текущего состояния
- 55Ошибки и развилки. Развилок: 1
- 60Инструменты и файлы. Используются инструменты (bash), но во frontmatter они не объявлены
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 100Шаги. Шагов: 27
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1971 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 960: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +5В description 4 примера фраз-триггеров в кавычках
- +4Структура: 10 заголовков
- +3Пошаговые инструкции: 27 пунктов
- +4Есть примеры (6 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 84.