BD supply-chain-attack-recon
Внешняя разведка поверхности атаки цепочки поставок программного обеспечения — кандидаты на захват пространства имен пакетов, уязвимости спуфинга зависимостей, возможности инъекций в GitHub Actions, раскрытие реестра образов контейнеров, анализ SBOM, утечка внутренних имен пакетов и раскрытие конфигурации CI/CD. ТОЛЬКО разведка и идентификация — фактическая публикация пакетов / атаки тайпоскваттинга являются ВНЕШНЕ-НАСТУПАТЕЛЬНЫМИ и требуют явного письменного разрешения, поскольку они могут повлиять на всю экосистему npm/PyPI. Используйте, когда у цели есть публичная организация GitHub, когда ее артефакты сборки/SBOM доступны, когда ее образы Docker находятся на Docker Hub/GHCR, или когда вы находите внутренние имена пакетов в ее JS-бандлах.
машинный переводПоказать оригиналСкрыть оригинал«External recon for software supply-chain attack surface — package-name…»
External recon for software supply-chain attack surface — package-namespace squatting candidates, dependency-confusion vulnerabilities, GitHub Actions injection openings, container image registry exposure, SBOM mining, internal-package-name leakage, and CI/CD configuration exposure. Reconnaissance and identification ONLY — actual package publishing / typosquat attacks are EXTERNAL-OFFENSIVE and require explicit written sign-off because they can affect the entire npm/PyPI ecosystem. Use when the target has a public GitHub org, when their build artifacts/SBOMs are reachable, when their docker images are on Docker Hub/GHCR, or when you find internal package names in their JS bundles.
Внешняя разведка поверхности атаки цепочки поставок программного обеспечения — кандидаты на захват пространства имен пакетов, уязвимости спуфинга…
Как процесс D 46/100 · Процесс не доведён — слабые места: результат и критерий готовности, входы и предусловия, ошибки и развилки
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 6
✓ Критических и высоких находок нет
Средние и низкие: 6
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:498Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- **Flow:** Cl0p ransomware affiliate (FIN11 / Lace Tempest) discovered an unauthenticated SQLi in Progress MOVEit Transfer, deployed the LEMURLOOT webshell, and exfiltrated files from every internet-
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:559Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- **Impact:** "Most critical vulnerability in a decade" per CISA Director Jen Easterly. Affected every major cloud, every Apache product, every Java enterprise stack. Ongoing mass exploitation by Cont
Ещё 4 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
body-longтело SKILL.md ≈ 10304 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "sources" - заметка
frontmatter-keyнеизвестное поле фронтматтера "report_count"
Процессный рейтинг: все десять параметров 46/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 40Стоимость исполнения. Тело инструкции 10304 токенов: вытесняет саму задачу из окна
- 60Инструменты и файлы. Используются инструменты (bash, web, python, node), но во frontmatter они не объявлены
- 60Шаги. Шагов: 152, расплывчатых формулировок: 5
- 100Когда включается. Сказано, когда применять и когда не применять
- 100Согласованность. Имя и обязательные поля на месте
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 22. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (6 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Описание говорит, когда скилл НЕ применять
- +3Длина description 689 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 44 заголовков
- +3Пошаговые инструкции: 152 пунктов
- +4Есть примеры (17 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 76.