XRay无法检测到NuGet软件包依赖项中的漏洞

时间:2019-06-16 20:36:27

标签: jfrog-xray

我创建了一个测试NuGet包,该包指定了对jQuery 1.4.2的依赖。当XRay上传到我的Artifactory NuGet服务器时,可以正确检测jQuery上的安全性问题。但是,当我上传将jQuery 1.4.2列为依赖项的测试NuGet程序包时,XRay不会将我的程序包标记为易受攻击。

1)测试了Artifactory服务器中的jQuery 1.4.2 Nuget程序包是否被正确检测为易受攻击。

2)向我的测试包中添加了一个依赖关系,该依赖关系列出了jQuery 1.4.2。 (我怀疑是区分大小写的问题,因此我也尝试使用小写的依赖项作为“ jquery”。)

3)尝试了除jQuery之外的其他已知易受攻击的程序包

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
    <id>RogerCruz.VulnerabilitiesGalore</id>
    <title>VulnerabilitiesGalore</title>
    <version>1.0.4.0</version>
    <owners>Roger Cruz</owners>
    <authors>Roger Cruz</authors>
    <releaseNotes>A package that depends on known vulnerable packages.  Use this to test vulnerability scanners.</releaseNotes>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Test package with known vulnerabilities</description>
    <copyright>Copyright Roger Cruz</copyright>
    <dependencies>
        <dependency id="jQuery" version="[1.4.2]"/>
    </dependencies>
</metadata>
<files>
</files>
</package>

这些是我用来创建我的测试NuGet软件包并将其推送到Artifactory + XRay云试用实例的命令。

nuget.exe pack VulnerabilitiesGalore.nuspec
nuget push .\RogerCruz.VulnerabilitiesGalore.1.0.4.nupkg -Source Trial

Artifactory报告我的测试程序包具有一个依赖项。浏览包时,您可以看到以下属性。

nuget.dependency  jQuery:[1.4.2]: 

在我所有的测试尝试中,XRay都没有检测到我的测试包(RogerCruz.VulnerabilitiesGalore)易受攻击,尽管对jQuery 1.4.2有特定的依赖关系。

我的期望是,由于以下语句,它应该已经检测到它:

“对NuGet包的所有层进行深度递归扫描 Xray递归地剥离NuGet软件包的不同层及其依赖项,以确保对软件中包含的每个软件工件都进行了扫描,以查找问题和漏洞。 “

Src:https://jfrog.com/integration/nuget-xray/

1 个答案:

答案 0 :(得分:5)

软件包RogerCruz.VulnerabilitiesGalore中不包含jQuery:1.4.2。它与直接运行时相关性相关,如.nuspec描述符文件中所示。

Deep Recursive Scan表示物理上在另一个程序包中的程序包的关系。 例如:如果RogerCruz.VulnerabilitiesGalore包装中包含jQuery:1.4.2,那么JFrog Xray会将其检测为易受攻击,并通过逐个包装打开包装(例如剥洋葱)来递归扫描。

上述场景中的一个适当的用例是自行构建RogerCruz.VulnerabilitiesGalore或将其用作另一个项目的依赖项。在构建时,将直接从jQuery:1.4.2中解析出直接依赖项remote repository,JFrog Xray将能够对其进行扫描。

为了实现对NuGet项目及其传递依赖项的完整扫描,我建议使用JFrog CLI

JFrog Xray将知道如何分析它产生的构建信息,扫描项目及其依赖项(包括可传递性)