safedep/pmg

GitHub: safedep/pmg

在包安装前拦截并检测恶意开源包的命令行安全工具,为 AI 编程代理和日常开发提供软件供应链防护。

Stars: 160 | Forks: 14

PMG GitHub Banner

Package Manager Guard (PMG)

[![Docs](https://img.shields.io/badge/Docs-docs.safedep.io-2b9246?style=flat-square)](https://docs.safedep.io/pmg/quickstart) [![Website](https://img.shields.io/badge/Website-safedep.io-3b82f6?style=flat-square)](https://safedep.io) [![Discord](https://img.shields.io/discord/1090352019379851304?style=flat-square)](https://discord.gg/kAGEj25dCn) [![Go Report Card](https://goreportcard.com/badge/github.com/safedep/pmg)](https://goreportcard.com/report/github.com/safedep/pmg) ![License](https://img.shields.io/github/license/safedep/pmg)
PMG GitHub Banner

Package Manager Guard (PMG)

[![Docs](https://img.shields.io/badge/Docs-docs.safedep.io-2b9246?style=flat-square)](https://docs.safedp.io/pmg/quickstart) [![Website](https://img.shields.io/badge/Website-safedep.io-3b82f6?style=flat-square)](https://safedep.io) [![Discord](https://img.shields.io/discord/1090352019379851304?style=flat-square)](https://discord.gg/kAGEj25dCn) [![Go Report Card](https://goreportcard.com/badge/github.com/safedep/pmg)](https://goreportcard.com/report/github.com/safed
PMG GitHub Banner

Package Manager Guard (PMG)

[![文档](https://img.shields.io/badge/Docs-docs.safedep.io-2b9246?style=flat-square)](https://docs.safedep.io/pmg/quickstart) [![网站](https://img.shields.io/badge/Website-safedep.io-3b82f6?style=flat-square)](https://safedep.io) [![Discord](https://img.shields.io/discord/1090352019379851304?style=flat-square)](https://discord.gg/kAGEj25dCn) [![Go Report Card](https://goreportcard.com/badge/github.com/safedep/pmg)](https://goreportcard.com/report/github.com/safedep/pmg) ![License](https://img.shields.io/github/license/safedep/pmg) ![Release](https://img.shields.io/github/v/release/safedep/pmg) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/safedep/pmg/badge)](https://api.securityscorecards.dev/projects/github.com/safedep/pmg) [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/69709fb8ae103134.svg)](https://github.com/safedep/pmg/actions/workflows/codeql.yml)

pmg in action
## 为什么选择 PMG? AI 编程代理会安装你并未选择的包。Claude Code、Cursor、Copilot、Windsurf 都会自主运行 `npm install` 和 `pip install`,而你却不知道它们在你的机器上装了什么。 PMG 确保每个包在执行前都会经过恶意软件检查,无论这是你手动选择的还是 AI 代理操作的。 1. 在安装包之前**分析**是否存在恶意软件。 2. **沙盒化**安装过程,防止系统被修改。 3. **审计**每一个包的安装事件。 只需安装一次 PMG,随后的每一次 `npm install`、`pip install` 和 `poetry add` 都会自动受到保护。 ## PMG 有何不同 大多数安全工具都是在安装后进行扫描并报告漏洞。而此时,恶意代码早已经在你的机器上执行了。 PMG 会在代码执行**之前**拦截包管理器,在安装时拦截恶意包,而不是在造成损失后才进行标记。检测功能由 [SafeDep 的恶意包分析引擎](https://safedep.io) 提供支持。为了实现深度防御,PMG 使用操作系统原生的隔离机制将安装过程沙盒化,这样即使是逃避了检测的零日恶意软件也无法修改你的系统。 ## 快速入门 几秒钟内即可获得保护。 ### 1. 安装 **MacOS / Linux (Homebrew)** ``` brew install safedep/tap/pmg ``` **NPM** ``` npm install -g @safedep/pmg ``` ### 2. 设置 配置你的 shell 以自动使用 PMG。 ``` pmg setup install # 重启终端以应用更改 ``` ### 3. 使用 像往常一样使用你的包管理器——或者让你的 AI 编程代理来使用它们。PMG 会在后台静默运行。 ``` npm install express # 或 pip install requests ``` 通过安装一个测试包来验证 PMG 是否正在工作。这是一个无害的包,在 SafeDep 数据库中被标记为恶意包,专门用于测试: ``` npm i safedep-test-pkg@0.1.3 ```
预期输出 ``` ✗ Malicious package blocked - safedep-test-pkg@0.1.3 Reference: https://app.safedep.io/community/malysis/01KF5JYDND9XR94WNEJ2G74KY2 ✗ PMG: 1 packages analyzed, 1 blocked ```
## 功能特性 | 功能特性 | 描述 | | -------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | **AI 代理安全网** | 防止 AI 编程代理(Claude Code、Cursor、Copilot、Windsurf)安装恶意包。 | | **恶意包防护** | 使用 [SafeDep](https://docs.safedep.io/cloud/malware-analysis) 提供针对恶意包的实时防护。 | | **沙盒化** | 使用操作系统原生沙盒强制执行最小权限原则,以限制安装脚本。 | | **依赖分析** | 在依赖项写入磁盘之前,对其进行直接和传递依赖的深度扫描。 | | **事件日志** | 保留所有已安装包的可验证审计记录。 | | **零配置** | 开箱即用,具备合理的默认安全设置。 | | **跨 Shell 支持** | 与 Zsh、Bash、Fish 等无缝集成。 | ## 支持的包管理器 PMG 支持你已经在使用的工具: | 生态系统 | 工具 | 状态 | 命令示例 | | ----------- | -------- | ------ | ------------------- | | **Node.js** | `npm` | 支持 | `npm install ` | | | `pnpm` | 支持 | `pnpm add ` | | | `yarn` | 支持 | `yarn add ` | | | `bun` | 支持 | `bun add ` | | | `npx` | 支持 | `npx ` | | | `pnpx` | 支持 | `pnpx ` | | **Python** | `pip` | 支持 | `pip install ` | | | `poetry` | 支持 | `poetry add ` | | | `uv` | 支持 | `uv add ` | ## 安装
Homebrew (MacOS/Linux) ``` brew tap safedep/tap brew install safedep/tap/pmg ```
NPM (跨平台) ``` npm install -g @safedep/pmg ```
Go (从源码构建) ``` # 确保 $(go env GOPATH)/bin 在你的 $PATH 中 go install github.com/safedep/pmg@latest ```
二进制文件下载 从 [Releases 页面](https://github.com/safedep/pmg/releases) 下载适用于你平台的最新二进制文件。
## 信任与安全 安全是我们的首要需求。PMG 的构建是可重现且经过签名的。 * **证明**:使用 GitHub 和 npm 证明来保证制品的完整性。 * **验证**:用户可以通过加密方式证明二进制文件与源代码匹配。 * 有关验证步骤,请参阅[信任 PMG](docs/trust.md)。 ## 用户指南 * [受信任的包配置](docs/trusted-packages.md) * [代理模式架构](docs/proxy-mode.md) * [沙盒化详情](docs/sandbox.md) ## 支持 如果 PMG 帮你拦截了一个恶意包,请[为本仓库点星](https://github.com/safedep/pmg)——这能帮助其他人发现它。 ## 贡献 欢迎贡献!有关如何在本地构建和测试 PMG 的指南,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 遥测 PMG 收集匿名使用数据以提升项目的稳定性和可靠性。 若要禁用:`export PMG_DISABLE_TELEMETRY=true`。
标签:AI 编程安全, DevSecOps, EVTX分析, Go 语言, IP 地址批量处理, npm 安全, pip 安全, Poetry, SafeDep, 上游代理, 代理网关, 依赖包分析, 包管理器, 威胁情报, 威胁情报, 开发者工具, 开发者工具, 文档安全, 日志审计, 暗色界面, 沙箱隔离, 漏洞审计, 统一API, 网络信息收集, 自动化防护