
악성 패키지 및 공급망 인텔리전스
기능 • 설치 • 사용법 • depx 실행 • JSON • Discord 참여
depx는 빠르고 수동적인(passive) 공급망 인텔리전스 CLI입니다. OpenSSF Malicious Packages 데이터(MAL-*, OSV 형식)와 X (Grok API)에서 선별한 라이브 인텔리전스 피드를 매시간 갱신하여 대조함으로써 패키지가 알려진 악성(하이재킹된 게시물, 자격 증명 탈취기, 설치 스크립트 백도어)인지 여부를 알려줍니다.
몇 초 안에 네 가지 질문에 답합니다:
depx feed로 시간순 카드 제공(결과당 한 줄을 보려면 --list).--require-clean 게이트, SARIF 내보내기, 버전 관리되는 JSON 봉투(envelope).ecosystem:name 참조, 단순 이름 또는 파이프로 전달된 목록을 확인.--exclude-pkg 파일.curl -sfL https://raw.githubusercontent.com/projectdiscovery/depx/main/scripts/install.sh | sh
OS/아키텍처에 맞는 최신 릴리스를 다운로드합니다(대안으로 go install로 빌드). 스크립트는 바이너리를 검증하고 필요 시 셸 PATH를 업데이트합니다.
소스에서 빌드 (Go 1.25+ 필요):
git clone https://github.com/projectdiscovery/depx.git
cd depx
make build
./bin/depx --help
또는 Go로 직접 설치:
go install github.com/projectdiscovery/depx/cmd/depx@latest
사전 빌드된 바이너리는 GitHub releases 페이지에서도 받을 수 있습니다.
depx --help
핵심 명령 및 플래그:
Usage:
depx [flags]
depx [command]
Available Commands:
feed Show recently disclosed malicious packages (cards)
audit Audit dependencies for malicious packages (default: $HOME)
github Audit GitHub repositories via dependency-graph SBOM
search Search known malicious packages by name (local index)
id Lookup advisory by ID
version Show version and check for updates
update Update depx to the latest version
Global flags:
-j, --json Machine-readable JSON output
-V, --version Show version and exit
-e, --ecosystem string Restrict lookup to one ecosystem (npm, PyPI, Go, ...)
-v, --verbose Extra audit/github detail
--silent Suppress banner and version info
--no-color Disable ANSI colors
--config string Config file path
--update Update depx to the latest version
--disable-update-check Disable the update check
Default command (intelligence dashboard):
--since string Feed time window (default "3d")
-n, --limit int Dashboard/feed entry cap on default command
depx feed:
--since string Feed time window (default "3d")
-n, --limit int Result limit
--list One header line per result
depx search:
-n, --limit int Max results shown (default 25)
--list One header line per result
depx audit / depx github:
--require-clean Exit 1 if any malicious package is found
--exclude-pkg string File of ecosystem:package lines to exclude from findings
-o, --output string Write export file(s) to this path or basename
--output-format string Comma-separated export formats: json, csv, txt (default: json)
--sarif-export string Write SARIF 2.1.0 report to this path
--sbom-export string Write audited dependency SBOM (audit only)
--sbom-format string SBOM format: cyclonedx (default) or spdx
depx github:
-n, --limit int Max repos for org/user targets (default 100 with token, 10 without)
depx id:
--raw Raw OSV record only
depx # dashboard for last 3 days
depx --since 7d # widen the time window
depx -e npm # npm-only dashboard
depx feed # card feed (no dashboard)
depx feed --list # one line per advisory
depx -j # JSON for dashboards / pipelines
잠금 파일과 SBOM을 로컬 악성 패키지 인덱스와 대조하여 스캔하며, 첫 실행 후에는 즉시 결과를 얻습니다. 경로를 지정하지 않으면 depx가 $HOME에서 프로젝트와 전역 설치 항목을 검색합니다.
depx audit # sweep $HOME for projects + global installs
depx audit ./my-app # a single project tree
depx audit ./bom.cdx.json # a CycloneDX / SPDX file
npm, PyPI, Go, Cargo, RubyGems, Maven/Gradle 잠금 파일과 CycloneDX / SPDX SBOM을 지원합니다.
오탐 억제. 안전하다고 검증한 패키지가 플래그되면 audit 또는 github에서 --exclude-pkg에 줄바꿈으로 구분된 ecosystem:package 항목 파일을 전달하여 결과에서 제외할 수 있습니다:
depx audit ./my-app --exclude-pkg .depxignore
depx github google --exclude-pkg .depxignore
# .depxignore: packages to exclude from findings
npm:internal-tool
PyPI:requests
*:shared-lib # '*' matches any ecosystem
GitHub의 의존성 그래프 SBOM 내보내기를 사용합니다. 비공개 리포지토리와 조직 검색을 위해 GITHUB_TOKEN을 설정하세요.
depx github projectdiscovery/depx
depx github google
depx github
인증되지 않은 GitHub 액세스는 시간당 약 60회 요청으로 제한되므로 토큰 없이 조직/사용자 스캔을 실행하면 기본적으로 10개 리포지토리(토큰 사용 시 100개)로 제한됩니다. 더 많이 스캔하려면 GITHUB_TOKEN, GH_TOKEN 또는 DEPX_GITHUB_TOKEN을 설정하세요(또는 -n으로 명시적으로 늘리세요).
depx npm:lodash
depx id MAL-2026-4343
depx search redhat
--require-clean은 악성 패키지가 발견되는 즉시 0이 아닌 종료 코드를 반환합니다.
depx audit . --require-clean # fail the build if anything is malicious
depx github google --require-clean -j
| Exit code | Meaning |
|---|---|
0 | 정상 / 성공 |
1 | --require-clean 사용 및 악성 패키지 발견됨 |
모든 -j 응답은 안정적이고 버전 관리되는 봉투(envelope)를 사용하므로 그 위에 안전하게 구축할 수 있습니다.
{
"schema_version": "1",
"command": "check",
"depx_version": "v0.1.0",
"data": {
"total": 1,
"results": [
{
"ref": "npm:evil-pkg",
"purl": "pkg:npm/evil-pkg",
"verdict": "malicious",
"confidence": "high",
"ids": ["MAL-2026-4343"],
"package_ecosystem": "npm",
"package_name": "evil-pkg",
"registry_url": "https://www.npmjs.com/package/evil-pkg",
"advisories": [
{
"id": "MAL-2026-4343",
"url": "https://github.com/ossf/malicious-packages/blob/main/osv/npm/MAL-2026-4343.json",
"summary": "Malicious code in evil-pkg (npm)",
"modified_at": "2026-06-01T12:00:00Z",
"published_at": "2026-06-01T10:00:00Z"
}
]
}
]
}
}
정상 패키지는 "verdict": "clean"을 반환합니다. 이름만으로 확인할 때 모든 에코시스템을 검색하면 checked_ecosystems, matched_ecosystems, found_ecosystems가 포함될 수 있습니다.
스키마는 schema/v1/에 있습니다.
depx는 MIT License에 따라 배포됩니다.
Discord 참여 • ProjectDiscovery 팀이 ❤️로 제작
2 | 사용법 오류 |
3 | 업스트림 사용 불가 |