依赖检查
来源: |
时间:2018-11-09
|
|

依赖漏洞检查

为什么应该检查项目依赖项

JHipster使用了许多技术,项目在选择时非常谨慎。但也许该项目错过了那些许多依赖项中的一个漏洞,或者您添加或更新了一个触发新漏洞的依赖项。

根据OWASP十大最关键Web应用程序安全风险,使用具有已知漏洞的组件(即依赖项)排名第9,并且有许多已知的(恶意或非恶意)第三方依赖项提供的安全漏洞故事。

为什么JHipster默认不提供依赖性检查

默认情况下,在JHipster构建中提出依赖性检查已经讨论了几次(#6329#8191)。总而言之,拥有一个真实的报告(消除假阳性)和依赖于上下文是很复杂的(安全性总是在实际风险/批评和防止它的努力之间进行权衡)。

如果您在JHipster的某个依赖项中检测到漏洞,该怎么办?

如果您在JHipster的某个依赖项中发现了漏洞,请检查该漏洞是否已打开现有 问题

如果没有提到任何内容,请创建一个问题并按照模板(包括重现漏洞,安全报告,博客文章等的步骤)。

确保JHipster团队致力于提供高质量,企业级和安全的开发堆栈,并且这个问题将成为我们的首要任务。

如何检查JHipster项目的依赖项

检查服务器端

要检查Java依赖项是否具有已知的常见漏洞和暴露(也称为CVE),请访问NIST国家漏洞数据库,该数据库维护最新列表。

OWASP项目提供Maven和Gradle插件来自动检查整个依赖关系链,生成报告甚至阻止构建(不推荐,在进行持续集成时它可能非常激进)。

以下是解释如何阅读依赖性检查报告的文档

使用Maven

请参阅OWASP Maven依赖项检查插件文档

添加owasp依赖检查插件:

<build>...
  <plugins>
  ...
  <plugin>
      <groupId>org.owasp</groupId>
      <artifactId>dependency-check-maven</artifactId>
      <version>3.3.1</version>
      <executions>
        <execution>
          <goals>
            <goal>check</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  ..
  </plugins>
  ...</build>

运行./mvnw verify将在target目录下生成依赖性检查报告

使用Gradle

请参阅OWASP Gradle Dependency Check插件文档

更新build.gradle文件以应用OWASP dependency-check-gradle插件

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.owasp:dependency-check-gradle:3.3.1'
    }}apply plugin: 'org.owasp.dependencycheck'if(project.hasProperty('strict-security')) {
  check.dependsOn dependencyCheckAnalyze}

Running ./gradlew dependencyCheckAnalyzebuild/report目录中生成依赖性检查报告

使用依赖性检查更新持续集成构建是通过运行完成的 ./gradlew check -Pstrict-security

检查客户端

从版本6开始,NPM默认包含每个依赖项安装的安全审核。有关详细信息,请查看“ 关于安全审核” 页面。


J

提交
查看更多评论
没有更多评论