업데이트로 돌아가기
New releaseAug 30, 2026

pmg v0.27.0

PMG는 프록시, 샌드박스 및 SafeDep의 위협 인텔리전스 피드를 사용하여 악성 오픈 소스 패키지로부터 개발자와 AI 에이전트를 보호합니다.

공유

Package Manager Guard (PMG)

악성 패키지가 설치되기 전에 차단합니다.

safedep%2Fpmg | Trendshift

pmg in action

Docs Website Discord Featured in tl;dr sec

Go Report Card License Release OpenSSF Scorecard CodeQL

PMG가 필요한 이유

개발자와 AI 코딩 에이전트는 매일 패키지를 설치합니다. 각각의 npm install 또는 pip install은 아무도 검토하지 않는 수천 줄의 코드를 실행합니다.

최근 인기 생태계에서 발생한 침해 사례:

  • Mini Shai-Hulud - 300개 이상의 인기 패키지가 침해됨
  • litellm 1.82.8 - 인기 있는 AI 프록시 라이브러리가 자격 증명 유출을 위해 침해됨
  • telnyx 4.87.2 - 정당한 통신 SDK가 PyPI에서 탈취됨
  • pino-sdk-v2 - 인기 있는 pino 로거로 위장한 타이포스쿼팅 패키지

PMG는 무료이며 오픈 소스(Apache 2.0)이고, 계정이나 API 키가 필요하지 않습니다. 모든 패키지 설치를 가로채서 코드가 실행되기 전에 SafeDep의 무료 커뮤니티 API를 통해 알려진 악성코드와 대조합니다. 알려지지 않은 악성코드의 경우, 의존성 쿨다운과 선택적 샌드박스를 사용하여 사전 예방적 보안 방어를 제공합니다.

PMG 작동 방식

PMG는 심층 방어(defense in depth) 접근 방식을 취합니다. 구성이 필요 없으며 Windows의 Zsh, Bash, Fish, PowerShell 전반에서 작동합니다. 가로챈 각 설치 작업은 코드가 실행되기 전에 해당 설치에 적용되는 보호 계층을 통과하며, 감사 추적도 함께 남깁니다.

PMG 심층 방어: PMG가 설치 명령을 가로채고, 계층 1 위협 인텔리전스, 계층 2 쿨다운, 계층 3 샌드박스를 통과한 후 감사 로그 항목과 함께 실행됨
계층 세부 정보
  • 투명한 가로채기 - PMG는 npm, pip 및 기타 패키지 관리자를 감쌉니다. 개발자와 AI 에이전트는 동일한 명령을 사용합니다. 워크플로 변경이 없습니다.
  • 계층 1: 위협 인텔리전스 - PMG는 설치 전에 모든 패키지를 SafeDep의 실시간 위협 인텔리전스와 대조하여 검사합니다. 알려진 악성 패키지는 차단됩니다. 키나 로그인이 필요하지 않습니다.
  • 계층 2: 정책 (의존성 쿨다운) - PMG는 구성 가능한 쿨다운 기간 내에 게시된 패키지 버전을 차단하므로, 최근에 침해된 버전은 해당 기간 동안 건너뜁니다.
  • 계층 3: 선택적 샌드박스 - 샌드박스가 활성화되고 구성된 경우, PMG는 OS 네이티브 샌드박스(macOS Seatbelt, 기본적으로 Linux Landlock, 또는 Bubblewrap 대체) 내에서 설치를 실행하므로, 위협이 처음 두 계층을 통과하더라도 설치 스크립트는 제한된 시스템 접근 권한만 갖습니다.
  • 감사 로깅 - PMG는 모든 설치(무엇을, 언제, 어디서)를 기록하여 검증 가능한 감사 추적을 제공합니다.

PMG 비교

PMG는 설치 시점의 악성코드 차단, 의존성 쿨다운, OS 네이티브 샌드박스를 하나의 무료 오픈소스 도구로 결합하여 개발자와 AI 코딩 에이전트 모두에게 제공합니다.

기능PMGSocketsafe-chainSnykDependabot
OSS / 공개적으로 개발됨✓✗✓✗✗
계정 또는 API 키 불필요✓✓✓✗✗
설치 시점 악성 패키지 차단✓✓✓✗✗
의존성 쿨다운 정책✓✗✓✗✗
런타임 샌드박싱✓✗✗✗✗
AI 코딩 에이전트를 투명하게 보호✓✗✗✗✗
로컬 감사 로그✓✗✗✗✗
알려진 CVE 해결 PR✗✗✗✓✓

참고: 이 비교는 2026년 10월 기준으로 정확합니다.

빠른 시작

1. 설치

curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh

Homebrew, npm 및 기타 설치 방법은 설치를 참조하세요.

2. 설정

패키지 관리자를 가로챌 수 있도록 PMG를 셸에 연결합니다.

pmg setup install
# Restart your terminal to apply changes

팁: PMG를 업그레이드한 후 새로운 구성 옵션을 적용하려면 pmg setup install을 다시 실행하세요.

전체 사용자 / 골든 이미지: Linux에서는 sudo pmg setup install --system, Windows에서는 관리자 권한으로 pmg setup install --system을 실행하세요 — docs/system-install.md를 참조하세요.

설치를 검증하고 보호 기능이 제대로 작동하는지 확인하세요:

pmg setup doctor

선택 사항: PMG는 실행 시마다 패키지 관리자에 주입하는 즉석 CA를 사용하여 HTTPS 트래픽을 검사합니다. 실행 간에 단일 CA를 유지하고 OS 신뢰 저장소에서 신뢰하려면(예: macOS 및 Windows의 Go처럼 CA 환경 변수를 무시하는 도구에 필요), 한 번만 설치하세요:

pmg setup cert install          # 사용자 범위, sudo 불필요
pmg setup cert status           # 신뢰 상태 및 만료 확인

범위, 교체 및 제거에 대해서는 Certificate Authority를 참조하세요.

3. 사용

PMG가 위협을 차단하는 모습을 확인하세요.

npm install --no-cache --prefer-online [email protected]
# or
pip install --no-cache-dir safedep-test-pkg==0.0.4

참고: safedep-test-pkg(npm 및 PyPI)는 테스트 및 검증 목적으로 SafeDep 데이터베이스에서 악성으로 표시된 무해한 테스트 패키지입니다.

평소처럼 패키지 관리자를 계속 사용하거나, AI 코딩 에이전트가 실행하도록 두십시오. PMG는 경로 상에 위치하여 악성 패키지를 차단합니다.

npm install express
# or
pip install requests

지원되는 패키지 관리자

PMG는 이미 사용 중인 도구를 지원합니다:

생태계도구명령 예시
Node.jsnpmnpm install <pkg>
pnpmpnpm add <pkg>
yarnyarn add <pkg>
bunbun add <pkg>
aubeaube add <pkg>
npxnpx <pkg>
pnpxpnpx <pkg>
aubxaubx <pkg>
aubraubr <script>
Pythonpippip install <pkg>
pipxpipx run <pkg>
poetrypoetry add <pkg>
uvuv add <pkg>
uvxuvx <pkg>

실험적

이 생태계에 대한 지원은 실험적입니다. 동작과 출력은 릴리스마다 변경될 수 있습니다. pmg setup install은 이러한 도구를 래핑하지 않습니다. pmg를 통해 실행하세요.

생태계도구명령 예시
Gogopmg go get <module>
Rust (crates)cargopmg cargo add <crate>

참고: macOS와 Windows에서는 pmg go가 OS 신뢰 저장소에 PMG CA를 필요로 합니다. 먼저 pmg setup cert install을 실행하세요. 인증 기관을 참조하세요.

설치

설치 스크립트 (macOS/Linux)

GitHub에서 최신 릴리스를 다운로드하고, SHA-256 체크섬을 검증한 후, $HOME/.local/bin(PATH에 있는 경우) 또는 /usr/local/bin에 설치합니다.

curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
Homebrew (macOS/Linux)
brew tap safedep/tap
brew install safedep/tap/pmg

카테고리