我如何防止 Play Framework 中的跨构建注入和其他依赖项管理威胁?
How can I protect against cross-build injection and other dependancy management threats in Play Framework?
我正在使用 Play Framework 的内置依赖管理来下载库 (HTMLUnit),为此我将依赖添加到 build.sbt 文件中,如下所示:
libraryDependencies += "net.sourceforge.htmlunit" % "htmlunit" % "2.20"
然后在我构建项目时使用 Apache Ivy(通过 sbt)下载依赖项。
我怎么知道下载的依赖项是它所说的,并确保它不包含恶意代码?
与其他系统完全相同:
1)不要使用自动建筑。您可以下载所有库,验证它们并将它们放入 "lib" 文件夹中。
2) 使用本地(或内部组织服务器)存储库。您需要下载并检查步骤“1”中的每个依赖项,但您将它们放入本地存储库并将此存储库作为源存储库添加到构建中。
查看此文档以获得更详细的解释https://www.fortify.com/downloads2/public/fortify_attacking_the_build.pdf
它很旧,但看起来不错。
我正在使用 Play Framework 的内置依赖管理来下载库 (HTMLUnit),为此我将依赖添加到 build.sbt 文件中,如下所示:
libraryDependencies += "net.sourceforge.htmlunit" % "htmlunit" % "2.20"
然后在我构建项目时使用 Apache Ivy(通过 sbt)下载依赖项。
我怎么知道下载的依赖项是它所说的,并确保它不包含恶意代码?
与其他系统完全相同:
1)不要使用自动建筑。您可以下载所有库,验证它们并将它们放入 "lib" 文件夹中。
2) 使用本地(或内部组织服务器)存储库。您需要下载并检查步骤“1”中的每个依赖项,但您将它们放入本地存储库并将此存储库作为源存储库添加到构建中。
查看此文档以获得更详细的解释https://www.fortify.com/downloads2/public/fortify_attacking_the_build.pdf
它很旧,但看起来不错。