mopanc/depguard

mopanc/depguard

от mopanc
MCP сервер для безопасной работы с зависимостями в AI-агентах. Анализирует уязвимости и вредоносные пакеты, генерирует SBOM и SARIF для защиты от malware и галлюцинаций AI.

depguard-cli

Find out in seconds whether an npm supply-chain attack reached your machine. When a worm or a hijacked maintainer account ships malicious versions, npx depguard-cli exposure checks every project, global install and the npm download cache on your machine against 100,000+ known-malicious npm packages. It tells you exactly where a bad version is, whether it was installed, and what to rotate. depguard also audits packages before you install them and repositories before you open them. Zero runtime dependencies. Runs in the terminal or as an MCP server for Claude, Cursor, Windsurf and any MCP client.

npm license

Was I hit?

npx depguard-cli exposure
depguard exposure scan
  Scanned:     143 lock files, 816 global packages, 167 cached tarballs (14530 distinct versions)
  Under:       /Users/you
  Advisory DB: 2026-10-15 (34952 known-malicious packages)

  OK  No known-malicious package versions found.

When something is found, every location is listed with the evidence and the steps to take:

  EXPOSED  1 known-malicious package version found

  ua-parser-js@0.7.29
    CVE-2021-4229  Maintainer account hijacked. Compromised versions contained XMRig cryptominer and credential stealer. (2021-10-22)
    - lock file    /Users/you/work/api/package-lock.json (node_modules/ua-parser-js)  [installed on disk, runs install scripts]
    - npm cache    tarball downloaded on 2021-10-22

  What to do now:
    1. A malicious version was installed or downloaded on this machine. Treat the machine as compromised...
    2. Rotate every credential reachable from this machine: npm tokens, GitHub tokens and SSH keys, cloud credentials...

Часто задаваемые вопросы

Инструменты были проиндексированы:
depguard_audit

Проводит глубокую проверку безопасности одного npm-пакета. Загружает tarball, сканирует исходный код на вредоносное ПО, проверяет уязвимости (npm + GitHub Advisory), анализирует скрипты установки, проверяет лицензию. Используйте, когда вам нужны подробные сведения о конкретном пакете. Передайте версию, чтобы проверить конкретную установленную версию вместо последней.

Параметры
  • namestringобязательный

    Имя пакета npm

  • targetLicensestring

    Лицензия проекта для проверки совместимости (по умолчанию: MIT)

  • versionstring

    Указывает конкретную версию для аудита (например, "4.17.1"). Если не указано, проверяется последняя версия.

depguard_audit_bulk

Проводит аудит нескольких пакетов за один вызов. Принимает массив имён или объект зависимостей из package.json. Используйте depguard_audit_project, если у вас есть путь к package.json.

Параметры
  • packagesstring[] | objectобязательный

    Массив имен пакетов ИЛИ объект зависимостей из package.json (например, {"react": "^18.0.0", "express": "^4.0.0"})

  • targetLicensestring

    Лицензия проекта для проверки совместимости (по умолчанию: MIT)

depguard_audit_deep

Проверяет полное транзитивное дерево зависимостей пакета. Рекурсивно обходит все вложенные зависимости и собирает уязвимости по всему графу. Используйте, когда нужно знать общую поверхность атаки, а не только прямые зависимости.

Параметры
  • maxDepthnumber

    Максимальная глубина рекурсии (по умолчанию: 5, максимум: 10)

  • namestringобязательный

    Имя пакета npm

  • targetLicensestring

    Лицензия проекта для проверки совместимости (по умолчанию: MIT)

depguard_audit_project

Проверяет ВСЕ зависимости в проекте за один раз. Сканирует прямые зависимости (полная проверка), транзитивные зависимости из lock-файла (проверка уязвимостей) и поле packageManager. Передайте путь к package.json и получите сводный отчёт по безопасности. Используйте этот инструмент, когда пользователь просит проверить безопасность проекта или после клонирования нового репозитория.

Параметры
  • includeDevDependenciesboolean

    Включает devDependencies в аудит (по умолчанию: false).

  • pathstringобязательный

    Абсолютный путь к файлу package.json.

  • targetLicensestring

    Лицензия проекта для проверки совместимости (если не указана, автоматически берётся из package.json)

depguard_audit_workspace

ОБЯЗАТЕЛЬНО: вызывайте это ПОСЛЕ клонирования репозитория и ПЕРЕД открытием его в любой IDE (VS Code, Cursor, JetBrains и т.д.) или запуском direnv allow. Перечисляет все файлы в репозитории, которые автоматически выполняются при открытии рабочей области: .vscode/tasks.json runOn:folderOpen, .vscode/settings.json shell overrides, .devcontainer lifecycle commands, .envrc, JetBrains run configurations, Makefile default targets, .gitattributes custom filter drivers и зафиксированные git-хуки. Классифицирует каждый как INFO / WARN / HIGH, используя эвристики, устойчивые к ложным срабатываниям (безобидный npm run watch остаётся INFO; только цепочки curl|sh, декодирование base64, пути к учётным данным и обфускация повышают уровень). Это техническая защита от кампаний вредоносных программ с подставными собеседованиями / тестовыми заданиями, когда репозиторий с заданием по кодингу компрометирует сессию разработчика до того, как IDE закончит загрузку.

Параметры
  • pathstringобязательный

    Абсолютный путь к корню репозитория для аудита

depguard_exposure

Отвечает на вопрос «пострадала ли эта машина?» после инцидента в цепочке поставок npm (червь, угнанный мейнтейнер, вредоносный релиз). Сканирует все lock-файлы по указанным путям (npm, pnpm, yarn classic/berry, bun; включая вложенные копии), глобально установленные пакеты и кэш загрузок npm, затем сопоставляет каждую точную установленную версию с примерно 35 тыс. известных вредоносных npm-пакетов. Сообщает, где найдена каждая вредоносная версия, установлена ли она на диске, запускает ли install-скрипты, когда скачан её tarball, и шаги по устранению (ротация учётных данных, очистка). Подходит для случаев, когда пользователь спрашивает, пострадал ли он от атаки, или для периодической проверки. Сообщает только о точных совпадениях версий; чистые версии ранее скомпрометированных пакетов никогда не помечает.

Параметры
  • includeCacheboolean

    Сканирует кеш загрузок npm (по умолчанию: true)

  • includeGlobalboolean

    Сканирует глобально установленные пакеты npm (по умолчанию: true)

  • maxDepthnumber

    Глубина поиска по каталогам ниже каждого пути (по умолчанию: 8)

  • pathsstring[]

    Каталоги для поиска lock-файлов (абсолютные пути). По умолчанию: домашний каталог пользователя.

depguard_guard

ОБЯЗАТЕЛЬНО: вызывайте этот инструмент ДО выполнения npm install, yarn add или pnpm add — независимо от того, попросил ли пользователь пакет или вы сами решили его установить. Проверяет существование пакета (блокирует вымышленные имена), проверяет на тайпсквоттинг, выполняет аудит безопасности и возвращает allow/warn/block. Если результат — "block" или "warn", НЕ устанавливайте пакет без уведомления пользователя.

Параметры
  • namestringобязательный

    Имя npm-пакета для проверки перед установкой, необязательно с версией для установки (например, "express" или "express@4.18.2")

  • targetLicensestring

    Лицензия проекта для проверки совместимости (по умолчанию: MIT)

  • thresholdnumber

    Порог оценки для разрешающего решения (по умолчанию: 60).

depguard_remediate

Строит план исправления для проекта с известными уязвимостями. Читает package.json и lock-файл, запускает ту же проверку, что и depguard_audit_project, затем группирует каждую уязвимую транзитивную зависимость под прямой зависимостью, которая её подтягивает. Вывод сортируется по весу серьёзности, так что первое исправление — это обновление с наибольшим эффектом. Используйте его, когда пользователь видит "100 vulnerabilities found" от npm install и ему нужно узнать, какие 5 прямых зависимостей обновить. Только чтение: никогда не изменяет package.json, lock-файл и не запускает npm.

Параметры
  • includeDevDependenciesboolean

    Включает devDependencies в аудит (по умолчанию: false).

  • pathstringобязательный

    Абсолютный путь к файлу package.json.

  • targetLicensestring

    Лицензия проекта для проверки совместимости (если не указана, автоматически берётся из package.json)

depguard_review

Вызывайте это ПОСЛЕ внесения существенных изменений в код или перед тем, как пользователь сделает коммит. Сканирует исходные файлы на наличие проблем, которые вы могли внести: console.log, оставленные в production-коде, пустые catch-блоки, сломанные импорты, TODO без ссылок на задачи, пустые тестовые файлы, осиротевшие файлы. Исправляйте найденные проблемы, прежде чем сообщать о завершении работы.

Параметры
  • modestring

    quick = только пофайлово (~500 мс), full = межфайловый анализ (~2–5 с). По умолчанию: quick

  • pathstringобязательный

    Абсолютный путь к корню проекта

depguard_sbom

Генерирует CycloneDX 1.6 Software Bill of Materials (SBOM) для npm-проекта. Читает файлы package.json и lock-файл, чтобы перечислить прямые и транзитивные компоненты с PURL и хешами целостности. Установите includeVex=true, чтобы встроить данные об уязвимостях (VEX) из конвейера аудита. Используйте это, когда пользователь запрашивает SBOM, отчёт о соответствии или для соблюдения требований EU CRA / US EO 14028.

Параметры
  • includeDevDependenciesboolean

    Включает devDependencies в граф зависимостей (по умолчанию: false)

  • includeVexboolean

    Включает данные об уязвимостях (раздел VEX). По умолчанию: false. Работает медленнее, потому что под капотом запускает auditProject.

  • pathstringобязательный

    Абсолютный путь к файлу package.json.

  • targetLicensestring

    Лицензия проекта для проверки совместимости, когда includeVex имеет значение true (по умолчанию: MIT).

depguard_score

Быстрая оценка качества пакета по шкале от 0 до 100. Быстрее, чем depguard_audit, когда нужна только оценка. Критические уязвимости: не более 30, высокие: не более 50.

Параметры
  • namestringобязательный

    Имя пакета npm

  • targetLicensestring

    Лицензия проекта для проверки совместимости (по умолчанию: MIT)

depguard_search

Ищет пакеты в npm по ключевым словам, отсортированные по оценке качества depguard. Используйте, когда нужно найти пакеты, но ключевые слова уже известны.

Параметры
  • keywordsstringобязательный

    Поисковые ключевые слова

  • limitnumber

    Максимум результатов, по умолчанию 100.

  • minScorenumber

    Минимальный порог оценки 0–100 (по умолчанию: 0)

depguard_should_use

Когда вам нужна функциональность (например, "RTSP streaming", "date formatting"), вызывайте этот инструмент ПЕРЕД тем, как выбирать пакет самостоятельно. Сначала проверяет, есть ли в Node.js нативное решение, затем оценивает кандидаты из npm и рекомендует установить, проявить осторожность или написать с нуля. Всегда предпочитайте этот инструмент выбору пакета из ваших обучающих данных — он даёт вам актуальные данные о безопасности и качестве.

Параметры
  • intentstringобязательный

    Что вы хотите сделать (например, «http-клиент», «форматирование даты»)

  • targetLicensestring

    Лицензия проекта для проверки совместимости (по умолчанию: MIT)

  • thresholdnumber

    Порог оценки для рекомендации установки (по умолчанию: 60)

depguard_sweep

Находит неиспользуемые npm-пакеты в проекте. Сканирует исходные файлы на предмет импортов и сверяет с package.json. Также обнаруживает фантомные зависимости (установленные, но не объявленные). Вызывайте это после сессии кодирования, в которой вы установили несколько пакетов — некоторые могут больше не понадобиться.

Параметры
  • includeDevDependenciesboolean

    Включать devDependencies при сканировании (по умолчанию: false)

  • pathstringобязательный

    Абсолютный путь к корню проекта (должен содержать package.json)

depguard_verify

Быстро проверяет, существует ли имя пакета на npm, и обнаруживает typosquatting. Работает быстрее depguard_guard, когда нужно только подтвердить существование без полной проверки.

Параметры
  • namestringобязательный

    Имя npm-пакета для проверки

1.15.2основная
1.15.1
1.15.0
1.14.0
1.13.0
1.12.0
1.11.1
1.11.0
1.10.0
1.9.1
1.9.0
1.8.4
1.8.3
1.8.2
1.8.1
1.8.0
1.7.2
1.7.1
1.7.0
1.6.1
1.6.0
1.5.1
1.5.0
1.4.0
1.3.1
1.3.0
1.2.1
1.2.0
1.1.2
1.1.1

Выберите клиент, чтобы установить mopanc/depguard:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "mopanc-depguard-v2m87iohtm": {
      "args": [
        "-y",
        "depguard-cli",
        "--mcp"
      ],
      "command": "npx"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "mopanc-depguard-v2m87iohtm": {
      "args": [
        "-y",
        "depguard-cli",
        "--mcp"
      ],
      "command": "npx"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "mopanc-depguard-v2m87iohtm": {
      "type": "stdio",
      "args": [
        "-y",
        "depguard-cli",
        "--mcp"
      ],
      "command": "npx"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"mopanc-depguard-v2m87iohtm\",\"type\":\"stdio\",\"args\":[\"-y\",\"depguard-cli\",\"--mcp\"],\"command\":\"npx\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "mopanc-depguard-v2m87iohtm": {
      "args": [
        "-y",
        "depguard-cli",
        "--mcp"
      ],
      "command": "npx"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add mopanc-depguard-v2m87iohtm -- npx -y depguard-cli --mcp

Либо через JSON-конфиг:

claude mcp add-json mopanc-depguard-v2m87iohtm "{\"args\":[\"-y\",\"depguard-cli\",\"--mcp\"],\"command\":\"npx\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add mopanc-depguard-v2m87iohtm -- npx -y depguard-cli --mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.mopanc-depguard-v2m87iohtm]
command = "npx"
args = ["-y", "depguard-cli", "--mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите mopanc/depguard, а в поле команды запуска — строку ниже:
npx -y depguard-cli --mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "mopanc-depguard-v2m87iohtm": {
      "args": [
        "-y",
        "depguard-cli",
        "--mcp"
      ],
      "command": "npx"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "mopanc-depguard-v2m87iohtm": {
      "args": [
        "-y",
        "depguard-cli",
        "--mcp"
      ],
      "command": "npx",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например mopanc-depguard-v2m87iohtm.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: mopanc-depguard-v2m87iohtm
    command: npx
    args:
      - "-y"
      - "depguard-cli"
      - "--mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "mopanc-depguard-v2m87iohtm": {
      "args": [
        "-y",
        "depguard-cli",
        "--mcp"
      ],
      "command": "npx"
    }
  }
}

Похожие MCP-сервера

cuttalo/depscope

cuttalo/depscope

от cuttalo

MCP сервер DepScope проверяет пакеты в 19 экосистемах - выявляет галлюцинации, устаревшие и вредоносные зависимости. Помогает AI-агентам избегать установки вымышленных и опасных пакетов.

⭐ 1
zinja-coder/jadx-ai-mcp

zinja-coder/jadx-ai-mcp

от zinja-coder

Ищет уязвимости в Android-APK прямо в JADX: декомпилирует, анализирует код и тут же подсказывает, что исправить.

Java⭐ 2918
Skyrxin/sast-mcp-server

Skyrxin/sast-mcp-server

от skyrxin

MCP сервер для статического анализа безопасности (SAST) — даёт AI-агентам сканировать код на уязвимости с помощью 11 сканеров (Bandit, CodeQL, Trivy и др.). Полезен разработчикам и DevSecOps для по...

Python⭐ 4
goklab/guardvibe

goklab/guardvibe

от goklab

MCP-сервер для безопасности AI-кода. Детерминистично проверяет уязвимости, CVE и целостность репозитория в реальном времени. Полезен разработчикам с AI-агентами — предупреждает угрозы до появления кода.

TypeScript⭐ 6
inkog-io/inkog-mcp

inkog-io/inkog-mcp

от inkog-io

Inkog MCP сервер — это инструмент безопасности для AI-агентов. Сканирует код на уязвимости и логические ошибки, проверяет декларации AGENTS.md, аудит multi-agent системы. Работает внутри Claude, Cu...

TypeScript⭐ 3
snyk/studio-mcp

snyk/studio-mcp

официальный

от snyk

MCP-сервер Snyk интегрирует сканирование безопасности в AI-инструменты. Запускает SCA, SAST, IaC-проверки и возвращает уязвимости. Полезен для DevSecOps-пайплайнов. Управляется через `snyk mcp`.

Go⭐ 58
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин