Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
deptrust — CLI и MCP-сервер, который проверяет версии пакетов на наличие известных уязвимостей в 14+ экосистемах, включая npm, PyPI, crates.io, Go modules и GitHub Actions. Интегрируется с AI-агентами через хуки и скиллы. | Kitploit
Инструменты/GitHubGitHub/clidey/deptrust
Сканеры уязвимостейСкриптинг и автоматизацияБезопасность облачных средDevSecOpsОбнаружение СекретовБезопасность Цепочки ПоставокБезопасность API
GitHubclidey/deptrust

deptrust

CLI и MCP-сервер, который проверяет версии пакетов на наличие известных уязвимостей в 14+ экосистемах, включая npm, PyPI, crates.io, Go modules и GitHub Actions. Интегрируется с AI-агентами через хуки и скиллы.

Репозиторий
6031 день назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

deptrust

root@kitploit:~
     __           __                  __
 ___/ /___  ___  / /________  _______/ /_
/ _  / __ \/ _ \/ __/ ___/ / / / ___/ __/
/  __/ /_/ /  __/ /_/ /  / /_/ (__  ) /_
\__,_/\____/ .___/\__/_/   \__,_/____/\__/
           /_/

deptrust — это CLI, который проверяет версии пакетов на известные уязвимости в npm, PyPI, crates.io, Go-модулях, RubyGems, NuGet, Maven, Packagist, pub.dev, CocoaPods, Hex.pm, Hackage, GitHub Actions и других экосистемах.

Он работает локально как CLI и как MCP-сервер. Он напрямую обращается к API публичных реестров пакетов и OSV; не существует размещённого сервиса deptrust, которому нужно доверять или который нужно настраивать.

Этот инструмент родился из разочарования тем, что AI-агенты постоянно используют старые версии.

Содержание

  • Область применения
  • Использование CLI
  • Установка
  • Настройка агента
  • Ручная настройка MCP
  • MCP-инструменты
  • Использование только со скиллом
  • Устранение неполадок

Область применения

Поддерживаемые экосистемы:

  • npm, включая scoped-пакеты, такие как @clidey/ux
  • PyPI
  • Cargo / crates.io
  • Go-модули
  • RubyGems
  • NuGet
  • Maven, с использованием имён пакетов groupId:artifactId
  • Packagist / Composer, с использованием имён пакетов vendor/package
  • pub.dev
  • CocoaPods
  • Hex.pm
  • Hackage
  • GitHub Actions, с использованием имён пакетов owner/repo, а также тегов, ссылок на ветки или SHA коммитов в качестве версий

deptrust в настоящее время сообщает об известных уязвимостях и даёт простую рекомендацию:

Наивысшая известная серьёзностьРекомендация
criticalblock
highblock
medium / unknownreview
lowallow

allow означает, что в публичных источниках данных не найдено ни одной блокирующей известной уязвимости. Это не доказывает, что пакет безопасен.

deptrust также выдаёт сигналы риска, которые не являются CVE. Например, версия, опубликованная за последние 72 часа, помечается для review, чтобы агент не устанавливал вслепую только что вышедший релиз.

Поставщики advisory опрашиваются параллельно:

  • OSV
  • GitHub Advisory Database, включая проверенные advisory и advisory о вредоносном ПО

Охват поставщиков зависит от экосистемы. Если deptrust может получить метаданные реестра, но ни один настроенный поставщик уязвимостей не поддерживает эту экосистему, он возвращает unknown вместо того, чтобы считать пакет безопасным.

Охват поставщиков:

JSON-вывод содержит поля покрытия advisory:

  • checked_providers: поставщики уязвимостей, к которым deptrust фактически обращался
  • skipped_providers: настроенные поставщики, пропущенные из-за неподдерживаемой экосистемы
  • advisory_coverage: full, partial, none или error
  • advisory_coverage_reason: краткое объяснение значения покрытия
  • registry_verification: verified, когда метаданные реестра подтвердили версию, или unverified, когда проверка точной версии продолжилась после временного сбоя реестра
  • registry_verification_reason: ошибка реестра, когда проверка была недоступна

Проверка точной версии по-прежнему опрашивает поставщиков advisory, когда проверка реестра временно недоступна. Такой результат всегда непригоден к установке и никогда не получает рекомендацию allow. Проверки latest, неизвестных пакетов и заведомо несуществующих версий по-прежнему требуют успешного разрешения в реестре.

HTTP-запросы повторяются при ответах 429, 502, 503 и 504 до трёх попыток суммарно. Повторы используют короткие экспоненциальные задержки и учитывают значения Retry-After до двух секунд; более длительные ожидания, запрошенные сервером, быстро прерываются, чтобы CLI не зависал. Когда повторы advisory исчерпаны, результат становится неполным, и рекомендация allow не выдаётся.

Аутентификация GitHub API

Запросы к GitHub Advisory Database и GitHub Actions API могут использовать кратковременный токен GitHub App с минимальными привилегиями. В CI передавайте его через DEPTRUST_GITHUB_TOKEN:

root@kitploit:~
DEPTRUST_GITHUB_TOKEN="$GITHUB_APP_TOKEN" deptrust check npm lodash 4.17.20

Приоритет учётных данных: DEPTRUST_GITHUB_TOKEN, затем GITHUB_TOKEN, затем GH_TOKEN. Для локального использования резервный вариант через GitHub CLI включается явно с помощью DEPTRUST_GITHUB_AUTH=gh deptrust check ...; он выполняет gh auth token без запросов. Если учётные данные недоступны, DepTrust продолжает работу без аутентификации. Ошибка ограничения скорости GitHub API или прав доступа даёт результат unknown с диагностикой и никогда не расценивается как успех только по OSV.

DepTrust никогда не хранит, не встраивает, не кэширует, не регистрирует в журналах, не телеметрирует и не выводит токены GitHub. Заголовки аутентификации отправляются только на https://api.github.com.

Использование CLI

Проверьте точную версию:

root@kitploit:~
deptrust check npm lodash 4.17.20

Пример обычного ответа:

root@kitploit:~
npm [email protected]: 2 known vulnerabilities found
recommendation: block
risk_score: 80

Проверьте последнюю версию:

root@kitploit:~
deptrust check pypi requests latest

Выведите JSON:

root@kitploit:~
deptrust check --json cargo serde latest

Проверьте Go-модуль:

root@kitploit:~
deptrust check go golang.org/x/crypto latest

Проверьте RubyGems, NuGet или Maven:

root@kitploit:~
deptrust check rubygems rails latest
deptrust check nuget Newtonsoft.Json latest
deptrust check maven org.apache.logging.log4j:log4j-core latest

Проверьте Packagist, pub.dev, CocoaPods, Hex.pm, Hackage или GitHub Actions:

root@kitploit:~
deptrust check packagist monolog/monolog latest
deptrust check pub http latest
deptrust check cocoapods AFNetworking latest
deptrust check hex plug latest
deptrust check hackage aeson latest
deptrust check github-actions actions/checkout v7.0.0
deptrust check github-actions actions/checkout main

Для GitHub Actions полные SHA коммитов считаются зафиксированными (pinned). Полные semver-теги, такие как v4.2.2, принимаются без дополнительного сигнала фиксации. Теги только с мажорной версией, такие как v4, и ссылки на ветки, такие как main, являются допустимыми ссылками, но deptrust добавляет сигнал review, поскольку они могут перемещаться.

Пример JSON-ответа:

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash",
  "version": "4.17.20",
  "latest_version": "4.17.21",
  "known_vulnerabilities_found": true,
  "safe_to_use": false,
  "should_install": false,
  "risk_score": 80,
  "recommendation": "block",
  "classification": "vulnerable",
  "reason": "Found 2 known vulnerability records.",
  "next_action": "do_not_install; use suggest_safe_version or compare_versions to choose a safer version",
  "summary": "lodash 4.17.20 has 2 known vulnerabilities, including high severity. Block this exact version and prefer a fixed release.",
  "signals": [],
  "checked_providers": [
    "OSV",
    "GitHub Advisory DB"
  ],
  "skipped_providers": [],
  "advisory_coverage": "full",
  "advisory_coverage_reason": "all configured vulnerability providers were checked",
  "registry_verification": "verified",
  "vulnerabilities": [
    {
      "id": "GHSA-35jh-r3h4-6jhm",
      "aliases": [
        "CVE-2021-23337"
      ],
      "cve_ids": [
        "CVE-2021-23337"
      ],
      "ghsa_ids": [
        "GHSA-35jh-r3h4-6jhm"
      ],
      "summary": "Command Injection in lodash",
      "severity": "high",
      "source": "OSV",
      "advisory_url": "https://github.com/advisories/GHSA-35jh-r3h4-6jhm",
      "affected_ranges": [
        "SEMVER: introduced 0, fixed 4.17.21"
      ],
      "fixed_versions": [
        "4.17.21"
      ],
      "references": [
        {
          "type": "ADVISORY",
          "url": "https://github.com/advisories/GHSA-35jh-r3h4-6jhm"
        }
      ]
    }
  ],
  "provider_errors": []
}

Предлагайте последнюю версию только тогда, когда известных уязвимостей не найдено:

root@kitploit:~
deptrust suggest npm lodash

Если последняя версия не разрешена, suggest проверяет более старые известные версии и возвращает самую новую версию с рекомендацией allow.

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

Сравните две версии:

root@kitploit:~
deptrust compare npm lodash 4.17.20 4.17.21

Пример ответа на сравнение:

root@kitploit:~
lodash 4.17.20 -> 4.17.21 improves risk: score 80 to 0.
recommendation: allow
next_action: upgrade_to_target

Покажите установленную версию:

root@kitploit:~
deptrust version

Установка

Проще всего установить через npx или pnpx:

root@kitploit:~
npx @clidey/deptrust install
pnpx @clidey/deptrust@latest install

Установщик по умолчанию работает в интерактивном режиме с подсказками. Он устанавливает бинарный файл, спрашивает, какие интеграции агентов настроить, выводит пути назначения на уровне пользователя перед любыми изменениями и запрашивает подтверждение. Интерактивный установщик по умолчанию включает MCP, резервный скилл и хуки безопасности зависимостей для Codex и Claude Code. Добавьте --yes для неинтерактивной установки только бинарного файла или передайте явные флаги интеграций.

Повторный запуск установщика безопасен. Он молча оставляет без изменений конфигурации MCP, скилла и хуков. Если интеграция указывает на старый бинарный файл deptrust или его управляемая конфигурация изменилась, установщик обновляет её автоматически; пользователям не нужно вручную удалять и заново добавлять MCP-серверы. Кастомизированные скиллы сохраняются в резервную копию перед заменой.

Чтобы удалить бинарный файл, скилл и записи MCP на уровне пользователя:

root@kitploit:~
npx @clidey/deptrust uninstall
pnpx @clidey/deptrust@latest uninstall

Пользователи Homebrew могут установить из Clidey tap:

root@kitploit:~
brew install clidey/tap/deptrust

Или сначала добавьте tap, затем устанавливайте и обновляйте как обычно:

root@kitploit:~
brew tap clidey/tap
brew install deptrust
brew upgrade deptrust

Homebrew выводит напоминание после установки. Чтобы запустить интерактивную настройку Codex и Claude Code с использованием самого Homebrew-бинарного файла (регистрации MCP и хуки безопасности зависимостей):

root@kitploit:~
deptrust setup

Интерактивная настройка запрашивает разрешение перед включением MCP и хуков безопасности зависимостей. Она не трогает регистрации, которые уже используют текущий бинарный файл, и приводит в соответствие существующие регистрации DepTrust, указывающие на более старый путь установки через npm, Homebrew или из исходников.

Пользователи Go могут установить напрямую:

root@kitploit:~
go install github.com/clidey/deptrust/cmd/deptrust@latest

Nix

Проект предоставляет опциональные выводы Nix flake для пользователей, которые уже используют Nix. Flake оборачивает предварительно собранный релизный бинарный файл.

root@kitploit:~
# Run without installing
nix run github:clidey/deptrust

# Install into your profile
nix profile install github:clidey/deptrust

Обычный рабочий процесс релиза генерирует Nix-хеши из тех же архивов, которые публикует, оценивает flake перед публикацией, затем собирает и запускает его против опубликованных артефактов перед обновлением ветки по умолчанию. github:clidey/deptrust может кратковременно отставать, пока выполняется этот рабочий процесс. Теги релизов указывают на коммит исходников до сгенерированного обновления flake и могут по-прежнему ссылаться на предыдущий бинарный файл; когда воспроизводимость важна, фиксируйте коммит, чей flake.nix содержит нужную вам версию.

Devbox

Для воспроизводимых сред разработки используйте Devbox:

root@kitploit:~
# Install Devbox first (if not already installed)
curl -fsSL https://get.jetify.dev/devbox | bash

# Initialize the environment
devbox shell

# Build the project
devbox run build

devbox.json ограничивает версию инструментария, а зафиксированный в репозитории devbox.lock закрепляет точные версии пакетов и ревизии nixpkgs. Выполняйте devbox update, когда намеренно хотите обновить эти закреплённые версии.

Или установите Devbox через Homebrew:

root@kitploit:~
brew install jetify-com/devbox/devbox

Настройка агента

Чтобы установить deptrust и зарегистрировать всё, что установщик может настроить, без интерактивных подсказок:

root@kitploit:~
npx @clidey/deptrust install --all
pnpx @clidey/deptrust@latest install --all

--all устанавливает бинарный файл, регистрирует Codex MCP, когда доступен CLI codex, устанавливает резервный скилл Codex, регистрирует Claude Code MCP, когда доступен CLI claude, и устанавливает хуки безопасности зависимостей для Codex и Claude Code.

Эти хуки — хуки PreToolUse. Они проверяют команды установки пакетов до их выполнения, а также проверяют GitHub Actions, добавленные в файлы рабочих процессов через инструменты редактирования файлов агента. Хук блокирует вызов инструмента, когда deptrust возвращает review, block или unknown. Установщик записывает только конфигурацию хуков на уровне пользователя: ~/.codex/hooks.json для Codex и ~/.claude/settings.json для Claude Code.

Когда доступен CLI gh, интерактивная настройка также предлагает использовать его существующий локальный вход для проверок хуков. При этом записывается только DEPTRUST_GITHUB_AUTH=gh, никогда не токен GitHub, чтобы подпроцессы хуков могли избежать ограничений скорости неаутентифицированного GitHub API.

При желании используйте более точечные установки:

root@kitploit:~
npx @clidey/deptrust install --codex-mcp
npx @clidey/deptrust install --claude-code-mcp
npx @clidey/deptrust skills install
pnpx @clidey/deptrust@latest install --codex-mcp
pnpx @clidey/deptrust@latest install --claude-code-mcp
pnpx @clidey/deptrust@latest skills install

После настройки MCP агенты будут автоматически проверять пакеты перед тем, как рекомендовать обновления или изменения. MCP-сервер отправляет инструкции проверять все версии зависимостей — в том числе при ответах на вопросы вроде «что я могу обновить» или «какие зависимости безопасно обновлять» — перед выдачей рекомендаций.

Если вы используете deptrust вне контекста MCP, напомните своему агенту:

root@kitploit:~
Before listing, comparing, or recommending specific package versions, check them with deptrust. This includes answering "what can I update" — do not provide version recommendations until after checking for known vulnerabilities.

Для CI настройте кратковременный токен GitHub App с минимальными привилегиями как DEPTRUST_GITHUB_TOKEN для процесса, выполняющего DepTrust. Для локальной аутентификации через GitHub CLI используйте DEPTRUST_GITHUB_AUTH=gh deptrust check .... DepTrust никогда не хранит токены.

Ручная настройка MCP

Если ваш клиент поддерживает stdio MCP-серверы, настройте его на запуск:

root@kitploit:~
/absolute/path/to/deptrust mcp

Многие клиенты используют такую JSON-структуру:

root@kitploit:~
{
  "mcpServers": {
    "deptrust": {
      "command": "/absolute/path/to/deptrust",
      "args": ["mcp"]
    }
  }
}

Для Codex вы также можете добавить его с помощью:

root@kitploit:~
codex mcp add deptrust -- /absolute/path/to/deptrust mcp

Для Claude Code:

root@kitploit:~
claude mcp add --transport stdio deptrust -- /absolute/path/to/deptrust mcp

При initialize сервер возвращает MCP instructions, сообщающие агенту, когда обращаться к этим инструментам (перед добавлением, обновлением или рекомендацией зависимости, или когда спрашивают, безопасно ли обновлять версию). Клиенты, отображающие серверные инструкции, применяют это автоматически, поэтому ручное напоминание выше является опциональным, а не обязательным.

MCP-инструменты

check_package

Проверяет версию пакета и возвращает известные уязвимости, а также рекомендацию.

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash",
  "version": "4.17.20"
}

version может быть опущено или установлено в latest. Если точной версии не существует, deptrust возвращает ошибку и предлагает последнюю явно указанную версию.

Вывод MCP намеренно компактен, чтобы агенты могли решить, устанавливать ли зависимость, не подтягивая полные тексты advisory в контекст. Если пользователь просит показать полные сведения, агент может выполнить full_response_command.

Пример компактного структурированного вывода MCP:

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "vite",
  "version": "7.0.0",
  "latest_version": "8.0.16",
  "known_vulnerabilities_found": true,
  "safe_to_use": false,
  "should_install": false,
  "risk_score": 80,
  "classification": "vulnerable",
  "recommendation": "block",
  "reason": "Found 7 known vulnerability records.",
  "next_action": "do_not_install; use suggest_safe_version or compare_versions to choose a safer version",
  "summary": "vite 7.0.0 has 7 known vulnerabilities, including high severity. Block this exact version and prefer a fixed release.",
  "vulnerability_count": 7,
  "vulnerability_counts": {
    "critical": 0,
    "high": 2,
    "medium": 3,
    "low": 2,
    "unknown": 0
  },
  "highest_severity": "high",
  "checked_providers": [
    "OSV",
    "GitHub Advisory DB"
  ],
  "skipped_providers": [],
  "advisory_coverage": "full",
  "advisory_coverage_reason": "all configured vulnerability providers were checked",
  "registry_verification": "verified",
  "full_response_command": "deptrust check --json npm vite 7.0.0"
}

Компактный ответ MCP опускает массив уязвимостей, details advisory и повторяющиеся references. По умолчанию агенты должны использовать счётчики, наивысшую серьёзность, охват поставщиков, рекомендацию и следующее действие. Если пользователь запрашивает полные сведения advisory, выполните full_response_command.

Когда доступ к GitHub advisory ограничен по скорости или недоступен, MCP возвращает unknown. Агент должен активно предложить настроить токен и повторить попытку, пропустить или отложить версию либо продолжить только после того, как пользователь явно примет неразрешённый риск покрытия GitHub для этой точной версии. Это исключение должно оставаться чётко помеченным как принятая пользователем неопределённость; его нельзя сообщать как allow или как доказательство безопасности версии.

suggest_safe_version

Сначала проверяет последнюю версию. Если последняя не разрешена, сначала проверяет указанные поставщиком исправленные версии, затем более старые известные версии и предлагает самую новую версию с рекомендацией allow.

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash"
}

compare_versions

Сравнивает текущую версию с целевой, включая устранённые и добавленные уязвимости.

root@kitploit:~
{
  "ecosystem": "npm",
  "package": "lodash",
  "from_version": "4.17.20",
  "to_version": "4.17.21"
}

Использование только со скиллом

Если вы не хотите использовать MCP, установите встроенный скилл Codex:

root@kitploit:~
npx @clidey/deptrust skills install

Скилл указывает Codex вызывать CLI deptrust перед установкой, обновлением или рекомендацией пакетов из npm, PyPI, Cargo, Go-модулей, RubyGems, NuGet, Maven, Packagist, pub.dev, CocoaPods, Hex.pm, Hackage и GitHub Actions.

Устранение неполадок

Если deptrust не найден:

root@kitploit:~
export PATH="$HOME/.local/bin:$PATH"

Если MCP-клиент не может запустить сервер, найдите полный путь:

root@kitploit:~
which deptrust

Затем укажите этот абсолютный путь в конфигурации MCP.

Если проверка пакета возвращает unknown, не считайте пакет безопасным. Это означает, что deptrust не смог получить полный ответ от поставщика advisory или не смог проверить точную версию в его реестре.

Скачать инструмент
none foundallow
ЭкосистемаМетаданные реестраOSVGitHub Advisory DB
npmдадада
PyPIдадада
Cargo / crates.ioдадада
Go-модулидадада
RubyGemsдадада
NuGetдадада
Mavenдадада
Packagist / Composerдадада
pub.devдадада
CocoaPodsданетда
Hex.pmдадада
Hackageдаданет
GitHub Actionsдадада