Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
sloppy-joe — Защищает от атак на цепочку поставок, слопсквоттинга и тайпсквоттинга со стороны зависимостей и кода. | Kitploit
Инструменты/GitHubGitHub/brennhill/sloppy-joe
Статический анализСканеры уязвимостейАнализ КодаDevSecOpsОбнаружение СекретовРазведка угрозБезопасность Цепочки ПоставокОбучение и Образование
GitHubbrennhill/sloppy-joe

sloppy-joe

Защищает от атак на цепочку поставок, слопсквоттинга и тайпсквоттинга со стороны зависимостей и кода.

Репозиторий
3213216 ч 3 мин назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

sloppy-joe

Перехватывайте галлюцинированные, тайпсквоттинговые и неканонические зависимости
до того, как они попадут в продакшен.

cargo install sloppy-joe


Скомпрометированные релизы могут использовать легитимное имя пакета. Отчёт мейнтейнера LiteLLM указывает на вредоносные версии 1.82.7 и 1.82.8 в марте 2026 года. Порог по возрасту публикации по умолчанию в 72 часа в sloppy-joe может отклонить недавно опубликованные версии, когда вы сканируете разрешённый граф зависимостей с помощью --ci или --full до установки. Это временная политика, а не инспекция вредоносной полезной нагрузки.

Исследования документируют галлюцинации пакетов в сгенерированном коде. sloppy-joe проверяет имена и метаданные зависимостей до установки; само по себе существование не может подтвердить, что зарегистрированный пакет безопасен.

Имена пакетов ограничены 214 байтами для npm и 1 024 байтами для других экосистем, чтобы ограничить объём работы по анализу опечаток. Более длинные имена сообщают Scan not supported (код выхода 2).

Как использовать

# Install (single static binary, no runtime dependencies)
cargo install sloppy-joe

# Or download a prebuilt binary archive from GitHub Releases
# https://github.com/brennhill/sloppy-joe/releases

# Fast local guardrail — auto-detects ecosystem from manifest files
sloppy-joe check

# Strict online scan (recommended before push / release)
sloppy-joe check --full

# Strict CI-oriented scan
sloppy-joe check --ci

# Check a specific directory
sloppy-joe check --dir ./my-project

# Check only npm dependencies
sloppy-joe check --type npm

# Check the Python runtime plus selected groups/extras
sloppy-joe check --python-groups dev,test --python-version 3.12
sloppy-joe check --python-extras docs --python-platform linux --python-version 3.12

# Enforce canonical rules and org standards via config
sloppy-joe check --config /etc/sloppy-joe/config.json

# Config from a URL (useful in CI — no secrets to manage)
sloppy-joe check --config https://raw.githubusercontent.com/yourorg/security-configs/main/sloppy-joe.json

# JSON output for CI pipelines
sloppy-joe check --json

# Review exact maintainer-change exceptions with evidence
sloppy-joe check --review-exceptions

# Create and register a safe per-repo config outside the repo
sloppy-joe init --register

# Create an ecosystem-specific greenfield starter policy
sloppy-joe init --greenfield --ecosystem npm

# Print review-only bootstrap suggestions for an npm or Cargo repo
sloppy-joe init --from-current

# Or write/register those suggestions safely outside the repo
sloppy-joe init --from-current --register

# Or write a config manually to a secure path outside the repo
sloppy-joe init > /secure/location/sloppy-joe.json

Nix

nix profile install github:brennhill/sloppy-joe

Flake на main закрепляет опубликованный бинарный релиз и его контрольные суммы.

Режимы сканирования:

  • sloppy-joe check запускает быструю локальную проверку. Он всегда обеспечивает разбор манифеста, lockfile/синхронизацию, происхождение и политику неподдерживаемых источников. Если состояние зависимостей или политики изменилось, или последнее успешное полное сканирование старше 24 часов, он рекомендует sloppy-joe check --full.
  • sloppy-joe check --full запускает строгое онлайн-сканирование и обновляет записанное состояние успешного полного сканирования.
  • sloppy-joe check --ci запускает то же строгое покрытие, что и --full, с ориентацией на CI.
  • Для Python sloppy-joe check по умолчанию оценивает профиль runtime. Если существуют scoped-зависимости, он предупреждает и предлагает передать явные флаги --python-groups, --python-extras, --python-platform и/или --python-version для соответствия CI/сборке.
  • Человекочитаемый вывод обычного sloppy-joe check всегда напоминает использовать --ci или --full для CI и production-гейтинга.

Коды выхода: 0 = блокирующих проблем в выбранном режиме не найдено, 1 = блокирующие находки, 2 = неподдерживаемый вход сканирования или ошибка выполнения. Неподдерживаемый синтаксис/конфигурация не является находкой вредоносного ПО.

Поддерживается: JavaScript (npm, pnpm, Yarn, Bun), Python, Rust, Go, Ruby, PHP, JVM (Gradle/Maven) и .NET — автоматически определяется по файлам манифестов.

Руководства по экосистемам: см. docs/ecosystems/README.md для текущей модели доверия, поддерживаемых возможностей и fail-closed ограничений для каждой экосистемы.

  • JavaScript
  • Python
  • Rust
  • Go
  • Ruby
  • PHP / Composer
  • JVM
  • .NET / NuGet
ЭкосистемаОбязательный манифестДоверенный lockfile / состояние проекта
JavaScript / npmpackage.jsonpackage-lock.json или npm-shrinkwrap.json; устаревший npm v1 блокируется по умолчанию
JavaScript / pnpmpackage.jsonpnpm-lock.yaml
JavaScript / Yarnpackage.jsonyarn.lock
JavaScript / Bunpackage.jsonbun.lock
Pythonpyproject.toml, requirements*.txt, Pipfile, setup.cfg или setup.pyдоверенный путь Poetry использует poetry.lock, доверенный путь uv использует uv.lock, а полностью hash-locked pip-tools считается доверенным только когда зафиксированный граф requirements привязывает --index-url и любые значения --extra-index-url в точности; видимые в репозитории Python-индексы можно добавить в allowlist через trusted_indexes.pypi; доверенные режимы Python оценивают один выбранный профиль установки за раз (runtime по умолчанию, явные groups/extras/platform/arch/version через CLI); устаревшие манифесты разрешены с предупреждениями по умолчанию
RustCargo.tomlCargo.lock
Gogo.modgo.sum требуется для внешних зависимостей
RubyGemfileGemfile.lock
PHP / Composercomposer.jsoncomposer.lock
JVM / Gradlebuild.gradle или build.gradle.ktsgradle.lockfile
JVM / Mavenpom.xmlтолько предупреждение: пока нет доверенного пути к локальному lockfile проекта
.NET / NuGet.csprojpackages.lock.json

Область сканирования: рекурсивные сканирования по умолчанию игнорируют .planning. Настройте "ignore_dirs": [".planning", "experiments"] во внешней политике, чтобы исключить другие имена каталогов, или используйте "ignore_dirs": [], чтобы отключить настраиваемые исключения. См. исключения каталогов.

Скачать инструмент