
pmg v0.27.0
PMG защищает разработчиков и AI-агентов от вредоносных пакетов с открытым исходным кодом, используя прокси, песочницу и канал угроз SafeDep.
Package Manager Guard (PMG)
Блокируйте вредоносные пакеты до их установки.
Зачем нужен PMG?
Разработчики и ИИ-агенты для программирования устанавливают пакеты каждый день. Каждый npm install или pip install выполняет тысячи строк кода, которые никто не проверяет.
Недавние компрометации в популярных экосистемах:
- Mini Shai-Hulud — скомпрометировано более 300 популярных пакетов
- litellm 1.82.8 — популярная библиотека-прокси для ИИ скомпрометирована для похищения учётных данных
- telnyx 4.87.2 — легитимный телекоммуникационный SDK перехвачен на PyPI
- pino-sdk-v2 — тайпсквоттинг-пакет, замаскированный под популярный логгер pino
PMG бесплатен, имеет открытый исходный код (Apache 2.0) и не требует учётной записи или API-ключа. Он перехватывает каждую установку пакета и проверяет её по бесплатному общественному API SafeDep на наличие известного вредоносного ПО до выполнения кода. Для неизвестного вредоносного ПО он использует выдержку зависимостей (dependency cooldown) и опциональную песочницу для проактивной защиты.
Как работает PMG
PMG применяет подход эшелонированной защиты. Работает без конфигурации в Zsh, Bash, Fish и PowerShell на Windows. Каждая перехваченная установка проходит через применимые к ней уровни защиты до выполнения кода, с ведением журнала аудита.
Подробности об уровнях
- Прозрачное перехватывание — PMG оборачивает
npm,pipи другие менеджеры пакетов. Разработчики и ИИ-агенты используют те же команды. Никаких изменений в рабочем процессе. - Уровень 1: Threat Intelligence — PMG проверяет каждый пакет по данным SafeDep в реальном времени об угрозах перед установкой. Известные вредоносные пакеты блокируются. Ключ и вход не требуются.
- Уровень 2: Политика (Dependency Cooldown) — PMG блокирует версии пакетов, опубликованные в пределах настраиваемого окна ожидания, поэтому недавно скомпрометированные версии пропускаются в течение этого окна.
- Уровень 3: Опциональная песочница — когда песочница включена и настроена, PMG выполняет установку внутри нативных песочниц ОС (macOS Seatbelt, Linux Landlock по умолчанию или резервный Bubblewrap), поэтому установочные скрипты имеют ограниченный доступ к системе, даже если угроза проскочит первые два уровня.
- Журналирование аудита — PMG регистрирует каждую установку (что, когда, откуда) для проверяемого аудиторского следа.
Как PMG сравнивается с другими
PMG объединяет блокировку вредоносных пакетов во время установки, dependency cooldown и нативную песочницу ОС в одном бесплатном инструменте с открытым исходным кодом — как для разработчиков, так и для ИИ-агентов программирования.
| Возможность | PMG | Socket | safe-chain | Snyk | Dependabot |
|---|---|---|---|---|---|
| OSS / разрабатывается публично | ✓ | ✗ | ✓ | ✗ | ✗ |
| Без аккаунта и API-ключа | ✓ | ✓ | ✓ | ✗ | ✗ |
| Блокировка вредоносных пакетов при установке | ✓ | ✓ | ✓ | ✗ | ✗ |
| Политика dependency cooldown | ✓ | ✗ | ✓ | ✗ | ✗ |
| Изоляция во время выполнения | ✓ | ✗ | ✗ | ✗ | ✗ |
| Прозрачная защита ИИ-агентов программирования | ✓ | ✗ | ✗ | ✗ | ✗ |
| Локальные журналы аудита | ✓ | ✗ | ✗ | ✗ | ✗ |
| PR с исправлениями известных CVE | ✗ | ✗ | ✗ | ✓ | ✓ |
Примечание: Это сравнение актуально по состоянию на октябрь 2026 года.
Быстрый старт
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 setup installпосле обновления PMG, чтобы применить новые параметры конфигурации.Для всех пользователей / эталонных образов:
sudo pmg setup install --systemв Linux илиpmg setup install --systemот имени администратора в Windows — см. docs/system-install.md.
Проверьте установку и убедитесь, что защита работает:
pmg setup doctor
Необязательно: PMG инспектирует HTTPS-трафик с помощью CA, создаваемого на лету, который он внедряет в менеджеры пакетов при каждом запуске. Чтобы сохранить единый CA между запусками и доверять ему в хранилище доверенных сертификатов вашей ОС (это необходимо для инструментов, игнорирующих переменные окружения CA, таких как Go на macOS и Windows), установите его один раз:
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