BC hunting-saas-sso-token-abuse
Охотится за украденными сессиями и повторным использованием токенов OAuth/PRT (T1550.001) путем сопоставления полей SessionId/UniqueTokenIdentifier из Microsoft Entra ID SigninLogs и событий sso/session из Okta System Log для обнаружения невозможных путешествий, повторного использования токенов обновления и использования токенов из аномальных ASN. Используйте при поиске обхода MFA через украденные куки/токены, при расследовании оповещений о невозможных путешествиях или при оценке горизонтального перемещения в SaaS после фишинга.
машинный переводПоказать оригиналСкрыть оригинал«Hunts for stolen-session and OAuth/PRT token replay (T1550.001) by cor…»
Hunts for stolen-session and OAuth/PRT token replay (T1550.001) by correlating Microsoft Entra ID SigninLogs SessionId/UniqueTokenIdentifier fields and Okta System Log sso/session events to spot impossible travel, refresh-token reuse, and token use from anomalous ASNs. Use when hunting MFA-bypass via stolen cookies/tokens, investigating impossible-travel alerts, or scoping SaaS lateral movement after phishing.
Охотится за украденными сессиями и повторным использованием токенов OAuth/PRT (T1550.001) путем сопоставления полей SessionId/UniqueTokenIdentifier из…
Как процесс C 56/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, ошибки и развилки
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 4
✓ Критических и высоких находок нет
Средние и низкие: 4
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:3Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)description: Hunts for stolen-session and OAuth/PRT token replay (T1550.001) by correlating Microsoft Entra ID SigninLogs SessionId/UniqueTokenIdentifier fields and Okta System Log sso/session events
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:39Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- Post-incident hunting to scope SaaS lateral movement from a compromised identity
-
низкая Утечка данных
net-credential-useSKILL.md:51Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (документация security-скилла)curl -s -H "Authorization: SSWS $OKTA_API_TOKEN" \
security-скилл -
низкая Утечка данных
net-credential-useSKILL.md:141Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (документация security-скилла)curl -s -H "Authorization: SSWS $OKTA_API_TOKEN" \
security-скилл
Просканировано файлов: 5. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- заметка
frontmatter-keyнеизвестное поле фронтматтера "domain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "subdomain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "nist_csf" - заметка
frontmatter-keyнеизвестное поле фронтматтера "mitre_attack"
Процессный рейтинг: все десять параметров 56/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (web, python), но во frontmatter они не объявлены
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Шаги. Шагов: 32
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 2707 токенов
- 100Повторный запуск. Изменяющих операций нет
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- low Разделов верхнего уровня: 11. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -42 справочных файлов, но SKILL.md на них не ссылается: модель их не откроет
- +2Инструкции на одном языке
- +3Длина description 413 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 20 заголовков
- +3Пошаговые инструкции: 32 пунктов
- +4Есть примеры (10 блоков кода)
- +3Все 1 скриптов описаны в инструкциях
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 81.