
pmg v0.26.0
PMG защищает разработчиков и AI-агентов от вредоносных пакетов с открытым исходным кодом, используя прокси, песочницу и канал угроз SafeDep.
Package Manager Guard (PMG)
Блокируйте вредоносные пакеты npm и pip до их установки.
Эшелонированная защита для менеджеров пакетов, которые вы уже используете.
Зачем нужен PMG?
Разработчики и ИИ-агенты для программирования устанавливают пакеты каждый день. Каждый 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-ключа. Он перехватывает каждую установку пакета и проверяет её по бесплатному community API SafeDep на наличие известного вредоносного ПО до выполнения кода. Установите его один раз — и он будет охватывать каждый npm install, pip install и poetry add после этого.
Как работает PMG
PMG применяет эшелонированный подход к защите. Нулевая конфигурация, работает в Zsh, Bash и Fish, и каждая установка проходит через включённые уровни защиты до выполнения кода, плюс журнал аудита после.
Подробности об уровнях
- Прозрачное перехватывание — PMG оборачивает
npm,pipи другие менеджеры пакетов. Разработчики и ИИ-агенты используют те же команды. Никаких изменений в рабочем процессе. - Уровень 1: Threat Intelligence — PMG проверяет каждый пакет по threat intelligence в реальном времени от SafeDep перед установкой. Известные вредоносные пакеты блокируются. Ключ и вход не требуются.
- Уровень 2: Политика (Dependency Cooldown) — PMG блокирует версии пакетов, опубликованные в течение настраиваемого окна ожидания, поэтому недавно скомпрометированные версии пропускаются в течение этого окна.
- Уровень 3: Опциональная песочница — когда песочница включена и настроена, PMG выполняет установки внутри нативных песочниц ОС (macOS Seatbelt, Linux Landlock по умолчанию или Bubblewrap как запасной вариант), поэтому установочные скрипты имеют ограниченный доступ к системе, даже если угроза проскользнёт мимо первых двух уровней.
- Журналирование аудита — PMG регистрирует каждую установку (что, когда, откуда) для проверяемого журнала аудита.
Сравнение PMG
PMG — единственный бесплатный межсетевой экран для пакетов с открытым исходным кодом, работающий на этапе установки, который охватывает как разработчиков, так и ИИ-агентов и поставляется с песочницей и cooldown из коробки.
| Возможность | PMG | Socket | safe-chain | Snyk | Dependabot |
|---|---|---|---|---|---|
| OSS / разрабатывается публично | ✓ | ✗ | ✓ | ✗ | ✗ |
| Без учётной записи или API-ключа | ✓ | ✓ | ✓ | ✗ | ✗ |
| Блокировка вредоносных пакетов при установке | ✓ | ✓ | ✓ | ✗ | ✗ |
| Политика dependency cooldown | ✓ | ✗ | ✓ | ✗ | ✗ |
| Runtime-песочница | ✓ | ✗ | ✗ | ✗ | ✗ |
| Прозрачная защита ИИ-агентов для программирования | ✓ | ✗ | ✗ | ✗ | ✗ |
| Локальные журналы аудита | ✓ | ✗ | ✗ | ✗ | ✗ |
| PR-ы для устранения известных CVE | ✗ | ✗ | ✗ | ✓ | ✓ |
Быстрый старт
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, чтобы применить новые параметры конфигурации.Для всех пользователей / golden images:
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 # user scope, no sudo pmg setup cert status # check trust state and expiryСм. Certificate Authority для областей действия, ротации и удаления.
3. Использование
Посмотрите, как PMG блокирует угрозы.
npm install --no-cache --prefer-online [email protected]
Примечание:
safedep-test-pkg— это безвредный тестовый пакет, помеченный как вредоносный в базе данных SafeDep для целей тестирования и проверки.