Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sloppy-joe — 공급망, slopsquatting, typosquatting 공격으로부터 의존성과 코드를 보호합니다. | Kitploit
도구/GitHubGitHub/brennhill/sloppy-joe
Static AnalysisVulnerability ScannersCode AnalysisDevSecOpsSecret DetectionThreat IntelligenceSupply Chain SecurityLearning & Education
GitHubbrennhill/sloppy-joe

sloppy-joe

공급망, slopsquatting, typosquatting 공격으로부터 의존성과 코드를 보호합니다.

저장소 보기
321195개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

sloppy-joe

환각(hallucination)된, 오타스쿼팅된, 비정규 의존성을
프로덕션에 도달하기 전에 잡아내세요.

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는 빠른 로컬 가드레일을 실행합니다. 항상 매니페스트 파싱, lockfile/동기화, 출처 증명, 지원되지 않는 소스 정책을 적용합니다. 종속성 또는 정책 상태가 변경되었거나 마지막 성공적인 전체 스캔이 24시간보다 오래된 경우 sloppy-joe check --full을 권장합니다.
  • sloppy-joe check --full은 엄격한 온라인 스캔을 실행하고 기록된 성공적인 전체 스캔 상태를 새로고침합니다.
  • sloppy-joe check --ci는 --full과 동일한 엄격한 적용 범위를 CI 지향 목적으로 실행합니다.
  • Python의 경우 sloppy-joe check는 기본적으로 runtime 프로필을 평가합니다. 범위가 지정된 종속성이 있으면 경고를 표시하고 CI/빌드 패리티를 위해 명시적 --python-groups, --python-extras, --python-platform 및/또는 --python-version 플래그를 전달하도록 안내합니다.
  • 사람이 읽을 수 있는 일반 sloppy-joe check 출력은 항상 CI 및 프로덕션 게이팅에 --ci 또는 --full을 사용하라고 알립니다.

종료 코드: 0 = 선택한 모드에서 차단 문제 없음, 1 = 차단 문제 발견, 2 = 런타임 오류.

지원 대상: JavaScript (npm, pnpm, Yarn, Bun), Python, Rust, Go, Ruby, PHP, JVM (Gradle/Maven), .NET — 매니페스트 파일에서 자동 감지.

에코시스템 가이드: 각 에코시스템의 현재 신뢰 모델, 지원 기능, fail-closed 제한에 대한 자세한 내용은 docs/ecosystems/README.md를 참조하세요.

  • 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 사용, 완전 해시 잠금된 pip-tools는 커밋된 요구사항 그래프가 --index-url과 모든 --extra-index-url 값을 정확히 바인딩할 때만 신뢰됨; 저장소에 표시되는 Python 인덱스는 trusted_indexes.pypi를 통해 허용 목록에 추가 가능; 신뢰하는 Python 모드는 한 번에 선택된 하나의 설치 프로필을 평가함(기본값 runtime, 명시적 groups/extras/platform/arch/version은 CLI를 통해 전달); 레거시 매니페스트는 기본적으로 경고와 함께 허용됨
RustCargo.tomlCargo.lock
Gogo.mod외부 종속성을 위해 go.sum 필요
RubyGemfileGemfile.lock
PHP / Composercomposer.jsoncomposer.lock
JVM / Gradlebuild.gradle 또는 build.gradle.ktsgradle.lockfile
JVM / Mavenpom.xml경고 전용: 아직 신뢰할 수 있는 프로젝트 로컬 lockfile 경로 없음
.NET / NuGet.csprojpackages.lock.json

설정 소스: 로컬 파일 경로, HTTPS URL 또는 SLOPPY_JOE_CONFIG 환경 변수. 설정은 프로젝트 디렉터리에서 읽지 않습니다(이유는 CONFIG.md 참조).

온보딩: 저장소와 일치하는 부트스트랩 모드를 사용하세요.

  • sloppy-joe init --greenfield --ecosystem <eco>는 새 프로젝트를 위한 에코시스템별 시작 정책을 출력합니다. 현재 npm, pypi, cargo에 대해 그린필드 프리셋이 구현되어 있습니다. 다른 에코시스템은 "아직 지원되지 않음" 오류와 함께 실패합니다. --register를 추가하면 저장소 외부에 쓰고 안전하게 등록합니다.
  • sloppy-joe init --from-current는 현재 저장소를 검사하고 검토 전용 부트스트랩 제안을 출력합니다. 현재 --from-current는 first-party 코드가 npm 및/또는 cargo인 저장소에서만 구현되어 있으며, 다른 에코시스템은 "아직 구현되지 않음" 오류와 함께 fail-closed됩니다. --register를 추가하면 생성된 설정을 쓰고 등록합니다.
  • 모드 없이 sloppy-joe init을 실행하면 중립적인 수동 템플릿이 출력됩니다.

sloppy-joe를 사용하는 이유?

단일 바이너리. 8개 에코시스템. 16가지 공격 유형. 생성적 검사에서 거짓 긍정 없음. AI 에이전트가 변조할 수 없는 설정.

대부분의 종속성 보안 도구는 한두 가지만 확인합니다. 존재 여부 또는 편집 거리입니다. sloppy-joe는 한 번의 패스로 16가지 공격 벡터를 확인합니다: 존재하지 않는 패키지, 10가지 유형의 타이포스쿼팅(호모글리프, 범위 스쿼팅, 문자 반복, 구분자 혼동, 단어 재배열, 인접 스왑, 문자 생략, 혼동된 형태, 대소문자 변형, 버전 접미사), 표준 적용, 버전 연령 게이트, 설치 스크립트 증폭, 종속성 폭발, 유지 관리자 변경, OSV.dev를 통한 알려진 취약점.

단일 Rust 바이너리로 실행되며 런타임 종속성이 없습니다. 모든 8개 주요 패키지 에코시스템을 지원합니다. 그리고 설정은 보안을 위해 설계되었습니다: 프로젝트 디렉터리에서 읽지 않으며, CI를 위해 URL에서 로드 가능하며, 문제가 있을 때 명확한 오류 메시지를 제공합니다.

도구 다운로드