
PMG защищает разработчиков и AI-агентов от вредоносных пакетов с открытым исходным кодом, используя прокси, песочницу и канал угроз SafeDep.
Блокируйте вредоносные npm и pip пакеты до их установки.
Эшелонированная защита для уже используемых менеджеров пакетов.
Разработчики и ИИ-агенты кода устанавливают пакеты каждый день. Каждая команда npm install или pip install выполняет тысячи строк кода, которые никто не проверяет.
Недавние компрометации в популярных экосистемах:
PMG — это бесплатный, открытый (Apache 2.0) инструмент, не требующий регистрации или API-ключа. Он перехватывает каждую установку пакета и проверяет его через бесплатное сообщественное API SafeDep на наличие известных вредоносных программ до выполнения кода. Установите один раз, и он будет действовать для всех последующих npm install, pip install и poetry add.
PMG использует подход эшелонированной защиты. Нулевая конфигурация, работает в Zsh, Bash и Fish. Каждая установка проходит через включенные уровни защиты до выполнения кода, плюс остаётся журнал аудита.
npm, pip и другие менеджеры пакетов. Разработчики и ИИ-агенты используют те же команды. Изменений в workflow нет.PMG — единственный бесплатный, открытый, устанавливаемый во время установки пакетный файервол, охватывающий как разработчиков, так и ИИ-агентов, и поставляющийся с готовыми песочницей и «охлаждением».
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
См. Установка для вариантов через Homebrew, npm и другие.
Интегрируйте PMG в вашу оболочку, чтобы он перехватывал менеджеры пакетов.
pmg setup install
# Перезапустите терминал для применения изменений
Совет: Запустите
pmg setup installповторно после обновления PMG, чтобы получить новые параметры конфигурации.Для всех пользователей Linux / golden images:
sudo pmg setup install --system— см. 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 о областях действия, ротации и удалении.
Посмотрите, как PMG блокирует угрозы.
npm install --no-cache --prefer-online [email protected]
Примечание:
safedep-test-pkg— это безвредный тестовый пакет, помеченный как вредоносный в базе данных SafeDep для целей тестирования и проверки.
Продолжайте использовать менеджеры пакетов как обычно или позвольте вашему ИИ-агенту кода запускать их. PMG находится на пути, блокируя вредоносные пакеты.
npm install express
# или
pip install requests
PMG поддерживает инструменты, которые вы уже используете:
Скачивает последний релиз с GitHub, проверяет его SHA-256 контрольную сумму и устанавливает в $HOME/.local/bin (если в PATH) или в /usr/local/bin.
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
brew tap safedep/tap
brew install safedep/tap/pmg
npm install -g @safedep/pmg
Примечание: Установка через npm может быть нестабильной, если Node.js управляется менеджерами версий, такими как
miseилиasdf. Путь к глобальномуnpmbin меняется при смене активной версии Node, поэтому переключение версий может оставитьpmgнедоступным вPATH(или указать на старую установку). В таких случаях предпочтительнее использовать скрипт установки или Homebrew.
# Убедитесь, что $(go env GOPATH)/bin находится в $PATH
go install github.com/safedep/pmg@latest
Загрузите последний бинарный файл для вашей платформы со страницы релизов.
Готовые мультиархитектурные образы (linux/amd64, linux/arm64) публикуются в GitHub Container Registry при каждом релизе. Точка входа образа — pmg.
# Pull последнего образа (или укажите тег версии, например :v1.2.3)
docker pull ghcr.io/safedep/pmg:latest
# Запустите любую команду pmg
docker run --rm ghcr.io/safedep/pmg:latest version
Защитите CI рабочие процессы одним шагом. PMG анализирует каждый npm install,
pip install и т.д. в задании.
- uses: safedep/pmg@v1
with:
server-mode: true
# перехватывается автоматически через HTTP_PROXY
- run: npm ci
- name: Применить политику PMG
if: always()
run: pmg proxy stop --fail-on-violation # останавливает демон, отмечает задание как неудачное при блокировке
По умолчанию вы получаете блокировку вредоносных программ и «охлаждение» зависимостей. Изоляция в песочнице включается опционально через параметр sandbox. Настройте поведение через параметры (paranoid, sandbox, cooldown-days, ...) или укажите config-file с YAML-файлом в репозитории. Полную справку см. в docs/github-action.md.
Удалите интеграцию с оболочкой:
pmg setup remove
Чтобы также удалить файл конфигурации PMG:
pmg setup remove --config-file
Затем удалите сам PMG:
# Homebrew
brew uninstall safedep/tap/pmg
# NPM
npm uninstall -g @safedep/pmg
Сборки PMG воспроизводимы и подписаны.
Если PMG спас вас от плохого пакета, поставьте звезду этому репозиторию. Это помогает другим найти его.
Приветствуются вклады. См. CONTRIBUTING.md для инструкций по сборке и тестированию.
Спасибо всем участникам ❤️
PMG собирает анонимные данные об использовании. Чтобы отключить:
disable_telemetry: true в конфигурационном файле PMG, илиPMG_DISABLE_TELEMETRY=true.| Возможность | PMG | Socket | safe-chain | Snyk | Dependabot |
|---|
| Открытый исходный код / публичная разработка | ✓ | ✗ | ✓ | ✗ | ✗ |
| Без регистрации и API-ключа | ✓ | ✓ | ✓ | ✗ | ✗ |
| Блокировка вредоносных пакетов при установке | ✓ | ✓ | ✓ | ✗ | ✗ |
| Политика «охлаждения» зависимостей | ✓ | ✗ | ✓ | ✗ | ✗ |
| Песочница во время выполнения | ✓ | ✗ | ✗ | ✗ | ✗ |
| Прозрачная защита ИИ-агентов | ✓ | ✗ | ✗ | ✗ | ✗ |
| Локальные журналы аудита | ✓ | ✗ | ✗ | ✗ | ✗ |
| PR для исправления известных CVE | ✗ | ✗ | ✗ | ✓ | ✓ |
| Экосистема | Инструменты | Пример команды |
|---|
| Node.js | npm | npm install <pkg> |
pnpm | pnpm add <pkg> | |
yarn | yarn add <pkg> | |
bun | bun add <pkg> | |
npx | npx <pkg> | |
pnpx | pnpx <pkg> | |
| Python | pip | pip install <pkg> |
pipx | pipx run <pkg> | |
poetry | poetry add <pkg> | |
uv | uv add <pkg> | |
uvx | uvx <pkg> |