BB detecting-typosquatting-packages-in-npm-pypi
Обнаруживает атаки typosquatting в реестрах пакетов npm и PyPI, анализируя схожесть имен пакетов с использованием расстояния Левенштейна и других метрик строк, изучая эвристику даты публикации для выявления недавно созданных пакетов, имитирующих устоявшиеся, и отмечая аномалии в количестве загрузок, когда подозрительные пакеты имеют непропорционально низкое использование по сравнению с их легитимными целями. Аналитик запрашивает PyPI JSON API и npm registry API для сбора метаданных пакетов для автоматического сравнения. Активируется для запросов, связанных с обнаружением typosquatting пакетов, анализом спутанности зависимостей, идентификацией вредоносных пакетов или охотой за угрозами в цепочке поставок программного обеспечения в реестрах пакетов.
машинный переводПоказать оригиналСкрыть оригинал«Detects typosquatting attacks in npm and PyPI package registries by an…»
Detects typosquatting attacks in npm and PyPI package registries by analyzing package name similarity using Levenshtein distance and other string metrics, examining publish date heuristics to identify recently created packages mimicking established ones, and flagging download count anomalies where suspicious packages have disproportionately low usage compared to their legitimate targets. The analyst queries the PyPI JSON API and npm registry API to gather package metadata for automated comparison. Activates for requests involving package typosquatting detection, dependency confusion analysis, malicious package identification, or software supply chain threat hunting in package registries.
Обнаруживает атаки typosquatting в реестрах пакетов npm и PyPI, анализируя схожесть имен пакетов с использованием расстояния Левенштейна и других метрик…
Как процесс B 66/100 · Почти готов — слабые места: ошибки и развилки, отчётность по ходу
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 4. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- заметка
frontmatter-keyнеизвестное поле фронтматтера "domain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "subdomain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "nist_csf" - заметка
frontmatter-keyнеизвестное поле фронтматтера "mitre_attack"
Процессный рейтинг: все десять параметров 66/100
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (python), но во frontmatter они не объявлены
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Шаги. Шагов: 51
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 3043 токенов
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- -41 справочных файлов, но SKILL.md на них не ссылается: модель их не откроет
- -31 из 1 скриптов не упомянуты в SKILL.md
- +2Инструкции на одном языке
- +4Описание говорит, когда скилл НЕ применять
- +3Длина description 696 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 14 заголовков
- +3Пошаговые инструкции: 51 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (1 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 82.