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

pmg v0.26.0

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

공유

Package Manager Guard (PMG)

악성 npm 및 pip 패키지가 설치되기 전에 차단합니다.
이미 사용 중인 패키지 관리자를 위한 심층 방어.

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를 통해 알려진 악성코드인지 검사합니다. 한 번 설치하면 이후의 모든 npm install, pip install, poetry add를 보호합니다.

PMG 작동 방식

PMG는 심층 방어 접근 방식을 취합니다. 설정이 필요 없고 Zsh, Bash, Fish에서 작동하며, 각 설치 작업은 코드가 실행되기 전에 활성화된 보호 계층을 통과하고, 이후 감사 추적이 남습니다.

PMG defense in depth: install command intercepted by PMG, passed through Layer 1 Threat Intel, Layer 2 Cooldown, Layer 3 Sandbox, then run with an audit log entry
계층 세부 정보
  • 투명한 가로채기 - PMG는 npm, pip 및 기타 패키지 관리자를 감쌉니다. 개발자와 AI 에이전트는 동일한 명령을 사용합니다. 워크플로 변경이 없습니다.
  • 계층 1: 위협 인텔리전스 - PMG는 설치 전에 모든 패키지를 SafeDep의 실시간 위협 인텔리전스와 대조합니다. 알려진 악성 패키지는 차단됩니다. 키나 로그인이 필요하지 않습니다.
  • 계층 2: 정책 (의존성 쿨다운) - PMG는 설정 가능한 쿨다운 기간 내에 게시된 패키지 버전을 차단하여, 최근에 침해된 버전이 해당 기간 동안 건너뛰어지도록 합니다.
  • 계층 3: 선택적 샌드박스 - 샌드박싱이 활성화되고 구성되면, PMG는 OS 네이티브 샌드박스(macOS Seatbelt, 기본적으로 Linux Landlock, 또는 Bubblewrap 폴백) 내에서 설치를 실행하여, 위협이 처음 두 계층을 통과하더라도 설치 스크립트가 제한된 시스템 접근 권한만 갖도록 합니다.
  • 감사 로깅 - PMG는 모든 설치(무엇을, 언제, 어디서)를 기록하여 검증 가능한 감사 추적을 남깁니다.

PMG 비교

PMG는 개발자와 AI 에이전트 모두를 보호하고 샌드박싱과 쿨다운을 기본 제공하는 유일한 무료 오픈 소스 설치 시점 패키지 방화벽입니다.

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

빠른 시작

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          # user scope, no sudo
pmg setup cert status           # check trust state and expiry

범위, 교체 및 제거에 대해서는 인증 기관을 참조하세요.

3. 사용

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

npm install --no-cache --prefer-online [email protected]

참고: safedep-test-pkg는 테스트 및 검증 목적으로 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>

설치

설치 스크립트 (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
NPM (크로스 플랫폼)
npm install -g @safedep/pmg

참고: NPM 기반 설치는 Node.js가 mise 또는 asdf와 같은 버전 관리자에 의해 관리될 때 취약할 수 있습니다. 전역 npm bin 경로는 활성 Node 버전에 따라 변경되므로, 버전을 전환하면 pmg가 PATH에서 사용할 수 없게 되거나(또는 이전 설치를 가리킬 수 있습니다). 이러한 설정에서는 설치 스크립트나 Homebrew를 사용하는 것이 좋습니다.

Go (소스에서 빌드)
# Ensure $(go env GOPATH)/bin is in your $PATH
go install github.com/safedep/pmg@latest
바이너리 다운로드

카테고리