SKILLEMALL.ai

AD hunt-api-misconfig

Поиск уязвимостей в конфигурации безопасности API — массовое назначение, загрязнение прототипа, подмена HTTP-методов. Массовое назначение: отправка {is_admin:true, role:admin, verified:true} в конечные точки профиля/аккаунта/сброса — сервер слепо применяет. Подделка подписи/шифрования JWT (alg:none, путаница ключей, kid/jku) обрабатывается hunt-jwt-crypto; этот навык охватывает только некриптографическую обработку JWT. Загрязнение прототипа: внедрение __proto__ в JSON merge / Object.assign / lodash _.merge → загрязненный прототип достигает приемника (RCE в Node, XSS в браузере). HTTP-метод: GET-bypass-CSRF, X-HTTP-Method-Override, включен TRACE. Обнаружение: ответы API с дополнительными полями, JWT в заголовках (декодировать на jwt.io). Неправильная конфигурация CORS (reflect-any-origin, null origin, обход регулярных выражений поддоменов, postMessage) обрабатывается hunt-cors. Используйте при поиске неправильных конфигураций API, массового назначения, загрязнения прототипа (криптография JWT → hunt-jwt-crypto).

машинный переводПоказать оригиналСкрыть оригинал«Hunt API security misconfiguration — mass assignment, prototype pollut…»

Hunt API security misconfiguration — mass assignment, prototype pollution, HTTP verb tampering. Mass assignment: send {is_admin:true, role:admin, verified:true} on profile/account/reset endpoints — server blindly applies. JWT signature/crypto forging (alg:none, key confusion, kid/jku) is owned by hunt-jwt-crypto; this skill covers only non-crypto JWT handling. Prototype pollution: __proto__ injection in JSON merge / Object.assign / lodash _.merge → polluted prototype reaches sink (RCE in Node, XSS in browser). HTTP verb: GET-bypass-CSRF, X-HTTP-Method-Override, TRACE enabled. Detection: API responses with extra fields, JWTs in headers (decode at jwt.io). CORS misconfiguration (reflect-any-origin, null origin, subdomain-regex bypass, postMessage) is owned by hunt-cors. Use when hunting API misconfigs, mass-assignment, prototype pollution (JWT crypto → hunt-jwt-crypto).

elementalsouls/Claude-BugHunter Agent Skills автор: elementalsouls 1 файл тело ≈ 4 212 токенов Открыть источникgithub.com проанализирован 2 ч назад

Поиск уязвимостей в конфигурации безопасности API — массовое назначение, загрязнение прототипа, подмена HTTP-методов.

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

ИнтеграцияРазработкатип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
A
91/100
безопасность, качество, тесты
Безопасность 60%
99
Качество 40%
79
Прогон на моделях
не было
Процессный рейтинг
D
42/100
Процесс не доведён
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Ошибки и развилки вес 10
0
три самых слабых из десяти параметров · все десять

Как улучшить

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

    Находки guard · 1

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

    Средние и низкие: 1
    • низкая Рискованное назначение intent-offensive-security SKILL.md:12
      Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)
      User.update(req.body)  // body has {"role": "admin"} → privilege escalation

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

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

    • заметка frontmatter-key неизвестное поле фронтматтера "sources"
    • заметка frontmatter-key неизвестное поле фронтматтера "report_count"
    • заметка edit-residue в тексте есть пометки об устаревшем (строки 231): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия

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

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

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

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

    • +5В description нет примеров фраз, по которым скилл должен срабатывать
    • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
    • +3Длина description 880: рекомендуется 120–800 символов
    • +3Формат ответа не описан: модель каждый раз решает сама
    • +1Лицензия не указана
    • +2Инструкции на одном языке
    • +4Структура: 21 заголовков
    • +3Пошаговые инструкции: 32 пунктов
    • +4Есть примеры (16 блоков кода)

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