Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/brennhill/sloppy-joe
静态分析漏洞扫描器代码分析DevSecOps秘密检测威胁情报供应链安全学习与教育
GitHubbrennhill/sloppy-joe

sloppy-joe

防范来自依赖和代码的supply-chain、slopsquatting和typosquatting攻击。

查看仓库
321195个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

sloppy-joe

捕获幻觉依赖、拼写钓鱼依赖和非规范依赖
在它们进入生产环境之前。

cargo install sloppy-joe


2026年3月的LiteLLM供应链攻击攻陷了一个月下载量达9700万的包。攻击者窃取了发布凭证,推送了恶意版本,这些版本窃取SSH密钥、云凭证和K8s密钥。sloppy-joe默认的72小时版本发布时间门控本可以阻止这两个被投毒的版本——它们在被发现后几小时内就被分析,远在门控开启之前。如果你在CI中运行sloppy-joe check,这次攻击就会失败。 完整分析

AI代码生成器产生的包名有大约20%的概率是幻觉。攻击者注册这些名称并等待。sloppy-joe在npm install或pip install运行之前就在CI中捕获它们。

如何使用```bash

Install (single static binary, no runtime dependencies)

cargo install sloppy-joe

Or download an auditable 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```bash
nix profile install github:brennhill/sloppy-joe

扫描模式:

  • sloppy-joe check 运行快速的本地防护栏。它始终强制进行清单解析、锁定文件/同步、来源证明及不支持来源策略。如果依赖项或策略状态发生变化,或者上一次成功的完整扫描距今超过 24 小时,它会建议执行 sloppy-joe check --full。
  • sloppy-joe check --full 运行严格的在线扫描并刷新记录的成功完整扫描状态。
  • sloppy-joe check --ci 运行与 --full 相同的严格覆盖范围,以 CI 为导向。
  • 对于 Python,sloppy-joe check 默认评估 runtime 配置文件。如果存在作用域依赖,它会发出警告并提示你传递显式的 --python-groups、--python-extras、--python-platform 和/或 --python-version 标志以实现 CI/构建对等。
  • 人类可读的纯文本 sloppy-joe check 输出总会提醒你在 CI 和生产门控中使用 --ci 或 --full。

退出代码: 0 = 在所选模式下未发现阻塞问题,1 = 发现阻塞问题,2 = 运行时错误。

支持: JavaScript(npm、pnpm、Yarn、Bun)、Python、Rust、Go、Ruby、PHP、JVM(Gradle/Maven)和 .NET — 从清单文件自动检测。

生态系统指南: 请参阅 docs/ecosystems/README.md 了解每个生态系统当前的信任模型、支持的功能以及失败关闭限制。

  • JavaScript
  • Python
  • Rust
  • Go
  • Ruby
  • PHP / Composer
  • JVM
  • .NET / NuGet
生态系统必需的清单受信任的锁定文件/项目状态
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,完全哈希锁定的 pip-tools 仅在提交的 requirements 图将 --index-url 和任何 --extra-index-url 值精确绑定时才受信任;可通过 trusted_indexes.pypi 将仓库可见的 Python 索引加入白名单;受信任的 Python 模式一次评估一个选定的安装配置文件(默认为 runtime,通过 CLI 显式指定 groups/extras/platform/arch/version);默认情况下允许旧清单并给出警告
RustCargo.tomlCargo.lock
Gogo.mod外部依赖需要 go.sum
RubyGemfileGemfile.lock
PHP / Composercomposer.jsoncomposer.lock
JVM / Gradlebuild.gradle 或 build.gradle.ktsgradle.lockfile
JVM / Mavenpom.xml仅警告:尚无可信任的项目本地锁文件路径
.NET / NuGet.csprojpackages.lock.json

配置来源: 本地文件路径、HTTPS URL 或 SLOPPY_JOE_CONFIG 环境变量。配置不会从项目目录中读取(原因见 CONFIG.md)。

入门引导: 使用与仓库匹配的引导模式:

  • sloppy-joe init --greenfield --ecosystem <eco> 为新项目打印特定于生态系统的启动策略。目前,npm、pypi 和 cargo 实现了 greenfield 预设;其他生态系统会失败并显示“暂不支持”错误。添加 --register 将其写入仓库之外并安全注册。
  • sloppy-joe init --from-current 检查当前仓库并打印仅限审查的引导建议。目前,--from-current 仅对第一方代码为 npm 和/或 cargo 的仓库实现;其他生态系统会失败关闭并显示“未实现”错误。添加 --register 写入并注册生成的配置。
  • 不带模式的 sloppy-joe init 打印一个中立的模板。

为什么选择 sloppy-joe?

单个二进制文件。8 个生态系统。16 种攻击类型。生成式检查零误报。AI 代理无法篡改的配置。

大多数依赖安全工具只检查一两项——存在性或编辑距离。sloppy-joe 在单次扫描中检查 16 个攻击向量:幻觉包、10 种类型的域名抢注(同形字、作用域抢注、重复字符、分隔符混淆、单词重排序、相邻交换、省略字符、混淆形式、大小写变体、版本后缀)、规范执行、版本年龄门槛、安装脚本放大、依赖爆炸、维护者更改以及通过 OSV.dev 的已知漏洞。

它作为一个单独的 Rust 二进制文件运行,没有运行时依赖。它支持所有 8 个主要的包生态系统。其配置专为安全性而设计:绝不从项目目录读取,可从 URL 加载用于 CI,并在出现问题时提供清晰的错误消息。

sloppy-joeSocket.devGuardDogPhantom Guardantislopsquat
存在性检查✅✅❌✅✅
相似性/域名抢注✅✅✅✅❌
同形字检测✅❌❌❌❌
作用域抢注✅❌❌❌❌
规范执行✅❌❌❌❌
版本年龄门槛✅❌❌❌❌
安装脚本放大器✅✅❌❌❌
依赖爆炸✅❌❌❌❌
维护者更改✅✅❌❌❌
OSV 漏洞检查✅✅❌❌❌
配置安全性(仓库外)✅不适用❌❌❌
内部 + 允许列表✅❌❌❌❌
npm✅✅✅✅❌
PyPI✅✅✅✅✅
Cargo✅✅❌✅❌
Go✅✅✅❌❌
Ruby✅✅✅❌❌
PHP✅🔶❌❌❌
JVM (Gradle/Maven)✅✅❌❌❌
.NET (NuGet)✅✅❌❌❌
单个二进制文件✅❌❌❌❌
开源Apache 2.0商业Apache 2.0MIT开源
语言RustSaaSPythonPythonPython

🔶 = 测试版/实验性


每种攻击的工作原理(以及 sloppy-joe 如何阻止它)

1. 幻觉包

下载工具