OWASP dependency-check — это утилита анализа состава программного обеспечения, которая обнаруживает публично раскрытые уязвимости в зависимостях приложений.
Dependency-Check — это инструмент анализа состава программного обеспечения (SCA), который пытается обнаружить публично раскрытые уязвимости, содержащиеся в зависимостях проекта. Он делает это, определяя, существует ли идентификатор Common Platform Enumeration (CPE) для данной зависимости. Если найден, он сгенерирует отчет, ссылающийся на соответствующие записи CVE.
Документацию и ссылки на готовые бинарные релизы можно найти на страницах GitHub. Дополнительную информацию об архитектуре и способах расширения dependency-check можно найти в [вики].
Этот продукт использует API NVD, но не одобрен и не сертифицирован NVD.
Из-за изменений совместимости API NVD обновление является обязательным. Дополнительную информацию см. в #7463.
Теперь для запуска dependency-check 11.0.0 или выше требуется Java 11
Обновление базы данных H2
11.0.0 содержит критические изменения при использовании локальной базы данных H2. Произойдет полная загрузка данных NVD. Обратите внимание, что если вы используете общую директорию данных, файл базы данных h2 несовместим со старыми версиями dependency-check. Если у вас возникнут проблемы, возможно, потребуется выполнить очистку:
./gradlew dependencyCheckPurgemvn org.owasp:dependency-check-maven:11.0.0:purgedependency-check.sh --purgeDependency-check перешел с использования потока данных NVD на API NVD с версии 9.0.0+ (январь 2024 г.). Пользователям dependency-check настоятельно рекомендуется получить ключ API NVD; см. https://nvd.nist.gov/developers/request-an-api-key Без ключа API NVD обновления dependency-check будут чрезвычайно медленными. Пожалуйста, ознакомьтесь с документацией по интеграции cli, maven, gradle или ant, чтобы узнать, как установить ключ API NVD.
API NVD имеет принудительные ограничения скорости. Если вы используете один ключ API и происходит несколько сборок, вы можете превысить ограничение скорости и получить ошибки 403. В среде CI необходимо использовать стратегию кэширования.
В сентябре 2025 года Sonatype OSS Index начал принудительное использование токенов API для аутентификации. В апреле 2026 года началась последующая миграция на Sonatype Guide, положившая начало переходу на использование токенов API Sonatype Guide, которые планируется заменить устаревшие ключи/токены API OSS Index до конца 2026 года.
Без учетных данных Dependency Check автоматически отключит анализатор OSS Index. Пожалуйста, ознакомьтесь с документацией по интеграции CLI, Maven, Gradle или Ant, чтобы узнать, как установить учетные данные анализатора для использования токена Sonatype Guide или устаревшего ключа API OSS Index.
Если вы хотите использовать Sonatype OSS Index (через Guide), вы должны настроить Dependency-Check и рассмотреть последствия миграции на Sonatype Guide, чья коммерческая/модель использования изменилась. Дополнительную информацию см. в документации анализатора.
С 9.0.0+ пользователи могут столкнуться с проблемами, связанными с исключениями NoSuchMethodError из-за разрешения зависимостей. Если вы столкнетесь с этой проблемой, вам потребуется закрепить некоторые транзитивные зависимости dependency-check за определенными версиями. Например:
/buildSrc/build.gradle
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 11
OWASP dependency-check требует доступа к нескольким внешним ресурсам. Дополнительную информацию см. в разделе Требуется доступ в Интернет.
Для анализа некоторых технологических стеков dependency-check может потребоваться установка других инструментов разработки. Некоторые из перечисленных ниже анализов могут быть экспериментальными и требовать включения экспериментальных анализаторов.
go.Elixir требуется mix_audit.npm, pnpm и yarn требуется установка npm, pnpm или yarn.
audit каждого из них.bundle-audit, который должен быть установлен.Инструкции по использованию плагина Jenkins см. на странице плагина OWASP Dependency-Check.
Более подробные инструкции можно найти на страницах github dependency-check. Последнюю версию CLI можно загрузить с github в разделе релизов.
Загрузка последнего релиза:
$ 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