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

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

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

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

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

Категории

Все категории
Loading categories
DependencyCheck — OWASP dependency-check — это утилита анализа состава программного обеспечения, которая обнаруживает публично раскрытые уязвимости в зависимостях приложений. | Kitploit
Инструменты/GitHubGitHub/dependency-check/dependencycheck
Сканеры уязвимостейАнализ уязвимостейDevSecOpsБезопасность Цепочки Поставок
GitHubdependency-check/dependencycheck

DependencyCheck

OWASP dependency-check — это утилита анализа состава программного обеспечения, которая обнаруживает публично раскрытые уязвимости в зависимостях приложений.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Сайт
7.7k1.4k2 дней назадПроверено Kitploit

Maven Central Build and Deploy Snapshot CII Best Practices Apache 2.0 License

Black Hat Arsenal Black Hat Arsenal Black Hat Arsenal Black Hat Arsenal

Dependency-Check

Dependency-Check — это инструмент анализа состава программного обеспечения (Software Composition Analysis, SCA), который пытается обнаружить публично раскрытые уязвимости, содержащиеся в зависимостях проекта. Для этого он определяет, существует ли идентификатор Common Platform Enumeration (CPE) для конкретной зависимости. Если такой идентификатор найден, инструмент создаёт отчёт со ссылками на соответствующие записи CVE.

Документация и ссылки на производственные бинарные релизы доступны на github pages. Дополнительная информация об архитектуре и способах расширения dependency-check доступна в wiki.

Уведомление

Этот продукт использует NVD API, но не одобрен и не сертифицирован NVD.

Обязательное обновление до 12.1.0+

Из-за изменений совместимости с NVD API обновление обязательно. Дополнительную информацию см. в #7463.

Критические изменения в 11.0.0

  • Для запуска dependency-check 11.0.0 или более новых версий теперь требуется Java 11

  • Обновление базы данных H2

    11.0.0 содержит критические изменения при использовании локальной базы данных H2. Будет выполнена полная загрузка данных NVD. Обратите внимание: если вы используете общий каталог данных, файл базы данных H2 несовместим с более старыми версиями dependency-check. При возникновении проблем может потребоваться выполнить purge:

    • gradle: ./gradlew dependencyCheckPurge
    • maven: mvn org.owasp:dependency-check-maven:11.0.0:purge
    • cli: dependency-check.sh --purge

Другие уведомления

Ключ NVD API настоятельно рекомендуется

Начиная с 9.0.0+ (январь 2024 г.) dependency-check перешёл с использования NVD data-feed на NVD API. Пользователям dependency-check настоятельно рекомендуется получить ключ NVD API; см. https://nvd.nist.gov/developers/request-an-api-key. Без ключа NVD API обновления dependency-check будут чрезвычайно медленными. Информацию о том, как задать ключ NVD API для интеграций cli, maven, gradle или ant, см. в документации.

Ключ NVD API, CI и ограничение частоты запросов

NVD API применяет ограничения частоты запросов (rate limits). Если вы используете один ключ API, а сборки выполняются несколько раз, вы можете достичь ограничения частоты запросов и получить ошибки 403. В среде CI необходимо использовать стратегию кэширования.

Обязательная аутентификация Sonatype OSS Index и миграция на Sonatype Guide

В сентябре 2025 года Sonatype OSS Index начал требовать использование API-токенов для аутентификации. В апреле 2026 года началась последующая миграция на Sonatype Guide, положившая начало переходу на использование API-токенов Sonatype Guide, которые планируется заменить устаревшими ключами/токенами OSS Index API до конца 2026 года.

Без учётных данных Dependency Check автоматически отключит анализатор OSS Index. Информацию о том, как задать учётные данные анализатора для использования токена Sonatype Guide или устаревшего ключа OSS Index API, см. в документации для интеграций CLI, Maven, Gradle или Ant.

Если вы хотите использовать Sonatype OSS Index (через Guide), необходимо настроить Dependency-Check и учесть последствия миграции на Sonatype Guide, чья коммерческая модель/модель использования изменилась. Дополнительную информацию см. в документации анализатора.

Среда сборки Gradle

Начиная с 9.0.0+ пользователи могут столкнуться с исключениями NoSuchMethodError из-за разрешения зависимостей. Если вы столкнулись с этой проблемой, вам потребуется зафиксировать некоторые транзитивные зависимости dependency-check на конкретных версиях. Например:

/buildSrc/build.gradle

root@kitploit:~
dependencies {
    constraints {
        // org.owasp.dependencycheck needs at least this version of jackson. Other plugins pull in older versions..
        add("implementation", "com.fasterxml.jackson:jackson-bom:2.21.2")

        // org.owasp.dependencycheck needs these versions. Other plugins pull in older versions..
        add("implementation", "org.apache.commons:commons-lang3:3.20.0")
        add("implementation", "org.apache.commons:commons-text:1.15.0")
    }
}

Требования

Версия Java

Минимальная версия Java: Java 11

Доступ к Интернету

OWASP dependency-check требует доступа к нескольким внешним ресурсам. Дополнительную информацию см. в разделе Требуется доступ к Интернету.

Инструменты сборки

Для анализа некоторых технологических стеков dependency-check может потребоваться установка других инструментов разработки. Некоторые виды анализа, перечисленные ниже, могут быть экспериментальными и требовать включения экспериментальных анализаторов.

  1. Для анализа .NET-сборок необходимо установить среду выполнения dotnet 8 или SDK.
    • Сборки, предназначенные для других сред выполнения, анализировать можно - но для запуска анализа требуется версия 8.
  2. При анализе проектов GoLang должен быть установлен go.
  3. Для анализа проектов Elixir требуется mix_audit.
  4. Для анализа проектов npm, pnpm и yarn необходимо установить npm, pnpm или yarn.
    • Выполняемый анализ использует соответствующую функцию audit каждого из них.
  5. Анализ Ruby представляет собой обёртку вокруг bundle-audit, который должен быть установлен.

Текущие релизы

Плагин Jenkins

Инструкции по использованию плагина Jenkins см. на странице плагина OWASP Dependency-Check.

Командная строка

Более подробные инструкции можно найти на github pages dependency-check. Последнюю версию CLI можно загрузить с github в разделе релизов.

Загрузка последнего релиза:

root@kitploit:~
$ VERSION=$(curl -s https://dependency-check.github.io/DependencyCheck/current.txt)
$ curl -Ls "https://github.com/dependency-check/DependencyCheck/releases/download/v$VERSION/dependency-check-$VERSION-release.zip" --output dependency-check.zip

В системах *nix

root@kitploit:~
$ ./bin/dependency-check.sh -h
$ ./bin/dependency-check.sh --out . --scan [path to jar files to be scanned]

В Windows

root@kitploit:~
> .\bin\dependency-check.bat -h
> .\bin\dependency-check.bat --out . --scan [path to jar files to be scanned]

На Mac с Homebrew Примечание — пользователям homebrew, выполняющим обновление с 5.x до 6.0.0, потребуется запустить dependency-check.sh --purge.

root@kitploit:~
$ brew update && brew install dependency-check
$ dependency-check -h
$ dependency-check --out . --scan [path to jar files to be scanned]

Плагин Maven

Более подробные инструкции можно найти на github pages dependency-check-maven. По умолчанию плагин привязан к фазе verify (т.е. mvn verify). Кроме того, плагин можно вызвать напрямую через mvn org.owasp:dependency-check-maven:check.

Плагин dependency-check можно настроить следующим образом:

root@kitploit:~
<project>
    <build>
        <plugins>
            ...
            <plugin>
              <groupId>org.owasp</groupId>
              <artifactId>dependency-check-maven</artifactId>
              <executions>
                  <execution>
                      <goals>
                          <goal>check</goal>
                      </goals>
                  </execution>
              </executions>
            </plugin>
            ...
        </plugins>
        ...
    </build>
    ...
</project>

Плагин Gradle

Инструкции по использованию плагина Gradle см. на github page dependency-check-gradle.

Задача Ant

Инструкции по использованию задачи Ant см. на github page dependency-check-ant.

Предварительные требования для разработки

Чтобы установка прошла успешно, у вас должны быть установлены следующие компоненты:

  • Java: java -version 25.0
  • Maven: mvn -version 3.6.3 и выше

Для тестов требуется:

  • dotnet core версии 8.0
  • Go: go version 1.12 и выше
  • Ruby bundler-audit
  • Yarn
  • pnpm

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

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

В репозитории есть несколько больших файлов из-за тестовых ресурсов. Команда постаралась максимально очистить историю. Тем не менее рекомендуется выполнить shallow clone, чтобы сэкономить время:

root@kitploit:~
git clone --depth 1 https://github.com/dependency-check/DependencyCheck.git

В системах *nix

root@kitploit:~
$ mvn -s settings.xml install
$ ./cli/target/release/bin/dependency-check.sh -h
$ ./cli/target/release/bin/dependency-check.sh --out . --scan ./src/test/resources

В Windows

root@kitploit:~
> mvn -s settings.xml install
> .\cli\target\release\bin\dependency-check.bat -h
> .\cli\target\release\bin\dependency-check.bat --out . --scan ./src/test/resources

Затем откройте полученный файл 'dependency-check-report.html' в вашем любимом браузере.

Сборка без запуска тестов

Чтобы ускорить цикл разработки, вы также можете компилировать без запуска тестов каждый раз:
mvn -s settings.xml install -DskipTests=true

Пожалуйста, не забудьте запустить тесты хотя бы один раз перед открытием PR. :)

IntelliJ Idea

Чтобы иметь возможность отлаживать тесты в IntelliJ Idea, вы можете создать конфигурацию Maven, которая выполняет тест и включает отладку с точками останова и т.д.
По сути, вы делаете то, что описано в https://www.jetbrains.com/help/idea/work-with-tests-in-maven.html#run_single_test, и устанавливаете forkCount в 0, иначе отладка не будет работать.

Пошагово:

  • Run -> Edit Configurations
  • + (Добавить новую конфигурацию) -> Maven
  • Дайте конфигурации имя, например Run tests
  • Выберите рабочий каталог, например core
  • В поле command line введите -DforkCount=0 -f pom.xml -s ../settings.xml test
  • Нажмите OK
  • Run -> Debug, затем выберите только что созданную конфигурацию запуска

Теперь IntelliJ выполнит тестовый запуск для подпроекта core с включённой отладкой. Точки останова, установленные в любом месте кода, должны работать.

Тестирование только одной функции или одного класса

Если вы хотите ускорить цикл разработки, вы можете протестировать только одну функцию или один тестовый класс.
Для этого добавьте -Dtest=MyTestClass или -Dtest=MyTestClass#myTestFunction в конфигурацию запуска. В этом случае полная командная строка в конфигурации запуска будет следующей:

-Dtest=MyTestClass#myTestFunction -DforkCount=0 -f pom.xml -s ../settings.xml test

Docker

В следующем примере предполагается, что проверяемый исходный код находится в текущем рабочем каталоге, а отчёты будут записаны в $(pwd)/odc-reports. Используются постоянные каталоги данных и кэша, что позволяет уничтожить контейнер после запуска.

Для Linux:

root@kitploit:~
#!/bin/sh

DC_VERSION="latest"
DC_DIRECTORY=$HOME/OWASP-Dependency-Check
DC_PROJECT="dependency-check scan: $(pwd)"
DATA_DIRECTORY="$DC_DIRECTORY/data"
CACHE_DIRECTORY="$DC_DIRECTORY/data/cache"

if [ ! -d "$DATA_DIRECTORY" ]; then
    echo "Initially creating persistent directory: $DATA_DIRECTORY"
    mkdir -p "$DATA_DIRECTORY"
fi
if [ ! -d "$CACHE_DIRECTORY" ]; then
    echo "Initially creating persistent directory: $CACHE_DIRECTORY"
    mkdir -p "$CACHE_DIRECTORY"
fi

# Make sure we are using the latest version
docker pull owasp/dependency-check:$DC_VERSION

docker run --rm \
    -e user=$USER \
    -u $(id -u ${USER}):$(id -g ${USER}) \
    --volume $(pwd):/src:z \
    --volume "$DATA_DIRECTORY":/usr/share/dependency-check/data:z \
    --volume $(pwd)/odc-reports:/report:z \
    owasp/dependency-check:$DC_VERSION \
    --scan /src \
    --format "ALL" \
    --project "$DC_PROJECT" \
    --out /report
    # Use suppression like this: (where /src == $pwd)
    # --suppression "/src/security/dependency-check-suppression.xml"

Для Windows:

root@kitploit:~
@echo off

set DC_VERSION="latest"
set DC_DIRECTORY=%USERPROFILE%\OWASP-Dependency-Check
SET DC_PROJECT="dependency-check scan: %CD%"
set DATA_DIRECTORY="%DC_DIRECTORY%\data"
set CACHE_DIRECTORY="%DC_DIRECTORY%\data\cache"

IF NOT EXIST %DATA_DIRECTORY% (
    echo Initially creating persistent directory: %DATA_DIRECTORY%
    mkdir %DATA_DIRECTORY%
)
IF NOT EXIST %CACHE_DIRECTORY% (
    echo Initially creating persistent directory: %CACHE_DIRECTORY%
    mkdir %CACHE_DIRECTORY%
)

rem Make sure we are using the latest version
docker pull owasp/dependency-check:%DC_VERSION%

docker run --rm ^
    --volume %CD%:/src ^
    --volume %DATA_DIRECTORY%:/usr/share/dependency-check/data ^
    --volume %CD%/odc-reports:/report ^
    owasp/dependency-check:%DC_VERSION% ^
    --scan /src ^
    --format "ALL" ^
    --project "%DC_PROJECT%" ^
    --out /report
    rem Use suppression like this: (where /src == %CD%)
    rem --suppression "/src/security/dependency-check-suppression.xml"

Сборка из исходного кода

Чтобы собрать dependency-check (с использованием Java 11), выполните команду:

root@kitploit:~
mvn -s settings.xml install

Запуск dependency-check для проверки dependency-check

Dependency-check ссылается на несколько уязвимых зависимостей, которые никогда не используются, кроме как в качестве тестовых ресурсов. Все эти опциональные тестовые зависимости включены в профиль test-dependencies. Чтобы запустить dependency-check для проверки самого себя, просто исключите профиль test-dependencies:

root@kitploit:~
mvn org.owasp:dependency-check-maven:aggregate -P-test-dependencies -DskipProvidedScope=true

Сборка документации

Документация на github pages генерируется из этого репозитория:

root@kitploit:~
mvn -s settings.xml site site:stage

После завершения откройте в браузере файл ./target/staging/index.html.

Сборка Docker-образа

Чтобы собрать docker-образ dependency-check, выполните команду:

root@kitploit:~
mvn -s settings.xml install
./docker-build.sh

Лицензия

Разрешение на изменение и распространение предоставляется на условиях лицензии Apache 2.0. Полный текст лицензии см. в файле LICENSE.txt.

Dependency-Check использует несколько других библиотек с открытым исходным кодом. Дополнительную информацию см. в файле NOTICE.txt.

Этот продукт использует NVD API, но не одобрен и не сертифицирован NVD.

Copyright (c) 2012-2025 Jeremy Long. Все права защищены.

Скачать инструмент