Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
sloppy-joe — Protège contre les attaques de supply-chain, de slopsquatting et de typosquatting provenant des dépendances et du code. | Kitploit
Outils/GitHubGitHub/brennhill/sloppy-joe
Analyse StatiqueScanners de VulnérabilitésAnalyse de CodeDevSecOpsDétection de SecretsRenseignement sur les MenacesSécurité de la Chaîne LogistiqueApprentissage et Éducation
GitHubbrennhill/sloppy-joe

sloppy-joe

Protège contre les attaques de supply-chain, de slopsquatting et de typosquatting provenant des dépendances et du code.

Voir le dépôt
32132il y a 13h 18mVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

sloppy-joe

Détectez les dépendances hallucinées, typosquattées et non canoniques
avant qu'elles n'atteignent la production.

cargo install sloppy-joe


Des versions compromises peuvent utiliser un nom de paquet légitime. Le rapport des mainteneurs de LiteLLM identifie les versions malveillantes 1.82.7 et 1.82.8 en mars 2026. Le seuil par défaut de 72 heures d'âge de publication de sloppy-joe peut rejeter les versions nouvellement publiées lorsque vous analysez le graphe de dépendances résolu avec --ci ou --full avant l'installation. Il s'agit d'une politique temporelle, et non d'une inspection de la charge utile malveillante.

Des travaux de recherche documentent les hallucinations de paquets dans le code généré. sloppy-joe vérifie les noms et les métadonnées des dépendances avant l'installation ; la seule existence ne permet pas d'établir qu'un paquet enregistré est sûr.

Les noms de paquets sont limités à 214 octets pour npm et à 1 024 octets pour les autres écosystèmes afin de borner le travail d'analyse des fautes de frappe. Les noms plus longs signalent Scan not supported (code de sortie 2).

Comment l'utiliser

# 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

Le flake sur main épingle la version binaire publiée et ses sommes de contrôle.

Modes de scan :

  • sloppy-joe check exécute le garde-fou local rapide. Il applique toujours l'analyse du manifeste, la synchronisation lockfile/sync, la provenance et la politique des sources non prises en charge. Si l'état des dépendances ou de la politique a changé, ou si le dernier scan complet réussi date de plus de 24 heures, il recommande sloppy-joe check --full.
  • sloppy-joe check --full exécute le scan en ligne strict et actualise l'état enregistré du dernier scan complet réussi.
  • sloppy-joe check --ci exécute la même couverture stricte que --full, avec une intention orientée CI.
  • Pour Python, sloppy-joe check évalue le profil runtime par défaut. Si des dépendances scoped existent, il avertit et vous indique de passer explicitement les flags --python-groups, --python-extras, --python-platform et/ou --python-version pour la parité CI/build.
  • La sortie lisible en clair de sloppy-joe check vous rappelle toujours d'utiliser --ci ou --full pour le gating CI et production.

Codes de sortie : 0 = aucun problème bloquant détecté dans le mode sélectionné, 1 = constats bloquants, 2 = entrée de scan non prise en charge ou erreur d'exécution. Une syntaxe/configuration non prise en charge n'est pas un constat de malware.

Pris en charge : JavaScript (npm, pnpm, Yarn, Bun), Python, Rust, Go, Ruby, PHP, JVM (Gradle/Maven) et .NET — auto-détectés à partir des fichiers manifestes.

Guides par écosystème : voir docs/ecosystems/README.md pour le modèle de confiance actuel, les fonctionnalités prises en charge et les limites fail-closed de chaque écosystème.

  • JavaScript
  • Python
  • Rust
  • Go
  • Ruby
  • PHP / Composer
  • JVM
  • .NET / NuGet
ÉcosystèmeManifeste requisLockfile / état de projet de confiance
JavaScript / npmpackage.jsonpackage-lock.json ou npm-shrinkwrap.json ; npm v1 legacy bloqué par défaut
JavaScript / pnpmpackage.jsonpnpm-lock.yaml
JavaScript / Yarnpackage.jsonyarn.lock
JavaScript / Bunpackage.jsonbun.lock
Pythonpyproject.toml, requirements*.txt, Pipfile, setup.cfg ou setup.pyle chemin Poetry de confiance utilise poetry.lock, le chemin uv de confiance utilise uv.lock, et pip-tools entièrement verrouillé par hash n'est de confiance que lorsque le graphe de requirements commité lie exactement les valeurs --index-url et tout --extra-index-url ; les index Python visibles dans le dépôt peuvent être autorisés via trusted_indexes.pypi ; les modes Python de confiance évaluent un profil d'installation sélectionné à la fois (runtime par défaut, groupes/extras/platform/arch/version explicites via CLI) ; manifestes legacy autorisés avec avertissements par défaut
RustCargo.tomlCargo.lock
Gogo.modgo.sum requis pour les dépendances externes
RubyGemfileGemfile.lock
PHP / Composercomposer.jsoncomposer.lock
JVM / Gradlebuild.gradle ou build.gradle.ktsgradle.lockfile
JVM / Mavenpom.xmlavertissement uniquement : aucun chemin de lockfile local au projet de confiance pour l'instant
.NET / NuGet.csprojpackages.lock.json

Portée du scan : les scans récursifs ignorent .planning par défaut. Configurez "ignore_dirs": [".planning", "experiments"] dans la politique externe pour exclure d'autres noms de répertoires, ou utilisez "ignore_dirs": [] pour désactiver les exclusions configurables. Voir exclusions de répertoires.

Télécharger l’outil