BB hunt-race-condition
Навык поиска уязвимостей состояния гонки. Создан на основе 12 публичных отчетов об ошибках, включая современные атаки на основе одного пакета HTTP/2 (James Kettle DEF CON 2023 "Smashing the State Machine"; RyotaK / Flatt Security 10 000-запросов, расширение первой последовательности синхронизации 2024). Охватывает двойное погашение купонов, двойное расходование подарочных карт, состояние гонки при проверке MFA-OTP, состояние гонки при создании учетной записи, двойное создание токенов faucet/криптовалюты, состояние гонки при активации по электронной почте, инфляцию голосов/лайков, состояние гонки при сбросе пароля, обход ограничения скорости через одновременные запросы. Используется при поиске состояний гонки, ошибок TOCTOU, обхода MFA по времени.
машинный переводПоказать оригиналСкрыть оригинал«Hunting skill for race condition vulnerabilities. Built from 12 public…»
Hunting skill for race condition vulnerabilities. Built from 12 public bug bounty reports including modern HTTP/2 single-packet attack cases (James Kettle DEF CON 2023 "Smashing the State Machine"; RyotaK / Flatt Security 10,000-request first-sequence-sync expansion 2024). Covers coupon double-redemption, gift-card double-spend, MFA-OTP-validate race, account-create race, faucet/crypto token double-mint, email-activation race, vote/upvote inflation, password-reset token race, rate-limit bypass via concurrent requests. Use when hunting race conditions, TOCTOU bugs, MFA-bypass-via-timing.
Навык поиска уязвимостей состояния гонки.
Как процесс B 67/100 · Почти готов — слабые места: входы и предусловия, стоимость исполнения
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 3
✓ Критических и высоких находок нет
Средние и низкие: 3
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:3Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)description: Hunting skill for race condition vulnerabilities. Built from 12 public bug bounty reports including modern HTTP/2 single-packet attack cases (James Kettle DEF CON 2023 "Smashing the State
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:38Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- **Privilege escalation** — racing role assignment or permission checks during user creation/upgrade flows
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:260Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)A bug bounty platform's "popular reports" feature allowed upvotes to improve report visibility and researcher reputation scores. By sending ~15 parallel upvote requests for the same report using a sin
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
body-longтело SKILL.md ≈ 8609 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "sources" - заметка
frontmatter-keyнеизвестное поле фронтматтера "report_count" - заметка
edit-residueв тексте есть пометки об устаревшем (строки 75): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия
Процессный рейтинг: все десять параметров 67/100
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 40Стоимость исполнения. Тело инструкции 8609 токенов: вытесняет саму задачу из окна
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (bash, web, python), но во frontmatter они не объявлены
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 100Шаги. Шагов: 104
- 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 593 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 36 заголовков
- +3Пошаговые инструкции: 104 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (10 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 75.