基于 Veracode SCA 代理的扫描

A

基于 veracode SCA 代理的扫描

此快速入门指导您从命令提示符运行基于 veracode SCA 代理的扫描 ,并在 Veracode 平台中查看结果。在这个演示应用程序中,几个库存在漏洞,几个许可证处于不安全版本。您将在扫描结果中看到这些漏洞和有风险的许可证。

Category: Dynamic Analysis (DAST)

此快速入门指导您从命令提示符运行基于 veracode SCA 代理的扫描 ,并在 Veracode 平台中查看结果。

您可以使用软件组成分析(SCA)来:

  • 识别开源库中的安全漏洞。
  • 评估开源许可证的风险级别 。
  • 有效地修复漏洞。
  • 确定哪些许可证需要更新以实现合规性。

要运行第一次 SCA 扫描,请完成以下任务:

  • 获取具有所需权限的 Veracode 帐户。
  • 确保在首次 SCA 扫描时可以访问演示应用程序。
  • 登录 Veracode 平台。
  • 使用 Veracode 平台创建工作区 SCA 代理。
  • 在命令提示符下运行第一次 SCA 扫描并查看结果。
  • 使用 Veracode 平台查看结果。

获取 Veracode 帐户

  • 要访问 Veracode 平台,您必须拥有 Veracode 人类用户帐户 。
  • 要运行基于 SCA 代理的扫描,您的帐户必须具有 SCA 订阅。
  • 要配置扫描、提交扫描和查看扫描结果,您的帐户必须具有工作区管理员或工作区编辑、安全主管和子用户角色 。

联系您的 Veracode 管理员以验证您的帐户是否具有所需的角色。如果您是 Veracode 管理员,您的帐户可能具有所需的角色。如果没有,您可以在 Veracode 平台中向您的帐户添加角色 。

访问演示应用程序的存储库

要完成此快速入门,请确认访问 repoveracode/example-ruby。不需要克隆、下载或编译。

在这个演示应用程序中,几个库存在漏洞,几个许可证处于不安全版本。您将在扫描结果中看到这些漏洞和有风险的许可证。

登录 Veracode 平台

使用您所在地区的域名登录 Veracode 平台。每个区域都有一个唯一的 URL。此快速入门使用商业区域域:analysiscenter.veracode.com。您的帐户可能位于其他域中,例如欧洲地区:analysiscenter.veracode.eu

  • 如果您有一个新的 Veracode 帐户,您会收到一封欢迎电子邮件,其中提供了在 Veracode 平台中激活您帐户的链接。如果您没有收到欢迎电子邮件,请联系您的 Veracode 管理员。
  • 如果您有一个活跃的 Veracode 帐户,您可以使用您所在地区的域登录 Veracode 平台。如果您的组织使用单点登录(SSO)门户(如 Okta),您还可以使用 SSO 访问 Veracode 平台。

创建工作区 SCA 代理

SCA 工作区包含一个或多个项目。项目是包含应用程序源代码的本地或远程 Git 存储库。对于此快速入门,该项目是演示应用程序,工作空间是默认的“ 我的工作空间”,它包含在您的 SCA 订阅中。

您可以使用 My Workspace 在本地系统上安装并激活 SCA 代理 。SCA 代理是从命令提示符运行的小脚本。注意

确保您的组织已授予您在本地系统上安装软件的权限。

SCA 代理将:

  • 构建应用程序。
  • 创建所有库及其依赖关系的依赖关系图。
  • 扫描您的应用程序并与 Veracode SCA 通信,以检测漏洞和有风险的许可证。
  • 在命令控制台中显示结果,并将结果上传到 Veracode 平台中的“我的工作区”。

在开始之前:

确保您的系统满足 SCA 代理要求

要完成此任务,请执行以下操作:

  1. 在平台主页上,选择扫描分析> 软件组成分析 
  2. 在“软件组成分析”页上,选择“ 基于代理的扫描” 选项卡。
  3. 在 WORKSPACE LIST 表格中,选择 My Workspace
  4. 在左窗格的“管理工作区”下,选择“ 代理 ”。
  5. 在”设置扫描仪”下,选择操作系统的蓝色框:OS X、LINUX 或 WINDOWS。如果这不是您第一次创建代理,您将看到“代理”(Agents)表,而不是“设置扫描程序”(Set Up Scanner)页。在”代理”表上方,选择操作%3 E 创建。页面将更改为用于设置 SCA 代理的命令列表。要在安装代理时将特定工具安装在系统上,请选择该工具的子选项卡。例如,如果选择 WINDOWS,则会看到 chocolatey 和 PowerShell 的子选项卡。
  6. 在命令提示符下,运行 Veracode 平台中的命令,以安装和激活操作系统的 SCA 代理。注意对于此快速入门,请不要运行启动扫描的命令。
  7. 要确保成功安装 SCA 代理,请运行以下命令:srcclr test
    命令输出显示代理版本和有关操作系统的详细信息,包括已安装的包管理器。如果您看到错误,请尝试重新安装代理或在 Veracode 平台中为您的代理生成新的激活令牌 。

运行第一次 SCA 扫描并查看结果

运行基于 SCA 代理的扫描并在命令控制台中查看结果。

要完成此任务,请执行以下操作:

  1. 在命令提示符下,运行以下命令,使用 --update-advisor 选项扫描演示应用程序。srcclr scan --update-advisor --url https://github.com/veracode/example-ruby
    更新顾问列出了 Veracode 为您的项目推荐的库的安全版本。--url 选项指定远程 Git 仓库的 URL。要扫描本地存储库,请将 --url 替换为项目路径,例如,/my/project.请参阅命令选项的完整列表 。结果将显示在命令控制台中。如果看到代理无法清理扫描目录的警告,您可以删除扫描目录,然后重试命令。
  2. 查看结果中的以下信息。结果总结结果的顶部部分显示扫描的一般摘要。因为演示应用程序是 Ruby,所以扫描使用了 Gem 包管理器。您可以快速查看扫描的库的数量,包括直接和传递库,以及存在漏洞的库的数量。在 Vulnerable Methods 部分下,扫描检测到一个具有易受攻击方法的库,这是一个高风险漏洞。在优先修复哪些漏洞时,Veracode 强烈建议您首先修复易受攻击的方法。Summary Report
    Scan ID 8f106664-3e2f-499a-bbf5-40939d55cf0a
    Scan Date & Time Jan 04 2023 04:41PM EST
    Account type ENTERPRISE
    Scan engine 3.8.17 (latest 3.8.17)
    Analysis time 3 seconds
    User verauser
    Project https://github.com/veracode/example-ruby
    Package Manager(s) Gem

    Open-Source Libraries
    Total Libraries 127
    Direct Libraries 18
    Transitive Libraries 111
    Vulnerable Libraries 34
    Third Party Code 99.9%

    Vulnerable Methods
    1 vulnerable method can be reached via the code's call graph

    Call Source Method Name Library
    ApplicationHelper [line 2] SSL.redirect_to_https rack-ssl : 1.0.0

    Security
    With Vulnerable Methods 1
    High Risk Vulnerabilities 15
    Medium Risk Vulnerabilities 85
    Low Risk Vulnerabilities 4
    漏洞Vulnerabilities 部分列出了扫描在项目中的开源库中发现的所有漏洞,并按风险级别排序。 公共数据是指来自国家漏洞数据库 (NVD)的具有通用漏洞和暴露(CVE)ID 的漏洞。 高级数据指的是尚未从 NVD 获得 CVE ID 的漏洞,但 Veracode 研究已确定它们是潜在风险,将其添加到 Veracode 漏洞数据库 ,并为每个漏洞分配 Veracode ID。Vulnerabilities - Public Data
    CVE-2019-5421 High Risk Time-of-check To Time-of-Use (TOCTOU) devise 4.1.1
    CVE-2016-2098 High Risk Remote Code Execution (RCE) Through Render Method actionview 4.2.5
    CVE-2022-45442 High Risk Reflected File Download sinatra 1.1.4
    CVE-2017-0889 High Risk Server-Side Request Forgery (SSRF) paperclip 4.2.4
    CVE-2022-30123 High Risk OS Command Injection rack 1.6.4
    ...

    Vulnerabilities - Premium Data
    NO-CVE High Risk Arbitrary Command Execution When Handling Metacharacters lingq 0.3.1
    NO-CVE High Risk Copy-Paste Vulnerability (CPV) Through Libxml2 nokogiri 1.6.7.2
    NO-CVE High Risk Heap-Based Buffer Overflow In Libxml2 nokogiri 1.6.7.2
    NO-CVE High Risk Copy-Paste Vulnerability (CPV) Through Libxml2 nokogiri 1.6.7.2
    NO-CVE High Risk Remote Code Execution (RCE) nokogiri 1.6.7.2
    ...
    许可证许可证部分按类别显示您扫描的许可证数量。特别是,您的组织可以使用许可证风险类别来确定他们可能需要更改为安全版本的许可证的优先级。Licenses
    Unique Library Licenses 13
    Libraries Using GPL 3
    Libraries With High Risk License 3
    Libraries With Medium Risk License 3
    Libraries With Low Risk License 111
    Libraries With Multiple Licenses 3
    Libraries With Unassessable License 1
    Libraries With Unrecognizable License 19
    问题问题部分列出了 Veracode 在扫描期间创建的所有问题 。问题可帮助您管理特定项目的所有安全风险。Issues
    Issue ID Issue Type Severity Description Library Name & Version In Use
    153301596 Vulnerability 7.8 CVE-2019-5419: Denial Of Service (DoS) actionpack 4.2.5
    153301597 Vulnerability 5.0 CVE-2015-7581: Objects Leaked Globally actionpack 4.2.5
    153301598 Vulnerability 5.0 CVE-2021-22904: Denial Of Service (DoS) actionpack 4.2.5
    153301599 Vulnerability 5.0 CVE-2016-0751: Denial Of Service (DoS) Memory Consumption actionpack 4.2.5
    ...
    更新顾问“更新指导”部分为您提供了一个快速查找易受攻击库的安全版本的功能。“中断更新”列指示将库更新到该安全版本是否会中断应用程序生成。Update Advisor
    Library Name & Version Safe Version Breaking Update
    administrate 0.1.4 0.13.0 No
    turbolinks 2.5.3 2.5.4 No
    devise_invitable 1.3.4 1.3.5 No
    rack-ssl 1.0.0 1.3.4 Yes
    authlogic 1.4.3 3.4.5 Yes

查看 Veracode 平台中的 SCA 扫描结果示例

在命令提示符下运行基于 SCA 代理的扫描后,Veracode 平台中也提供了扫描结果。Veracode 平台提供了结果的图形表示,您可以将其与命令控制台中的结果进行比较。

此过程使用默认工作区 My Workspace,并假设您的 My Workspace 仅包含演示应用程序 srcclr/example-ruby。在 Veracode 平台中,页面显示所选工作区中所有项目的结果。如果我的工作区包含多个项目,扫描结果可能与此快速入门不匹配。

如果您在 scan 命令中包含 --no-upload 选项,则结果在 Veracode 平台中不可用。

要完成此任务,请执行以下操作:

  1. 在平台主页上,转到扫描分析并选择软件组成分析 
  2. 在“软件组成分析”页上,选择“ 基于代理的扫描” 选项卡。
  3. 在 WORKSPACE LIST 表格中,选择 My Workspace
  4. 选择“ 问题” 以查看“我的工作区”中所有问题的列表。默认情况下,该页面显示活动(未忽略)、所有严重性和开放(未解决)的漏洞问题。 要查看其他问题类型,请在”问题列表”旁边选择”许可证问题”或”存储库问题”。sca_agent_quickstart_issues_page-f7cffd1a5164a82c925a82d01fac4957.png
  5. 选择一个问题以获取有关相关项目和风险组件的详细信息。在下面的示例中,由于您选择了一个漏洞问题,因此组件是一个库。” 修复“ 选项卡提供了修复漏洞的说明。要查看是否存在易受攻击的方法,请选择 Vulnerable Methods 选项卡。sca_agent_quickstart_issue_details_page-1d1c9ab16d2bf7aa3dc7d6798b2d02e2.png
  6. 选择“ 依赖关系图 ”选项卡。此交互式彩色编码图显示选定问题的易受攻击库及其依赖项之间的关系。sca_agent_quickstart_dep_graph-ebdbdfc1093bb09e3eb9143c0b852841.png
  7. 选择“ 项目” 以查看“我的工作区”中的所有项目。然后选择 srcclr/example-rubysca_agent_quickstart_projects_page-45d36e931f032cd8e17562d6e41966d0.png
  8. 选择选项卡以查看所选项目的结果。“项目”页为您提供了选定项目的所有结果的合并视图。sca_agent_quickstart_project_details_page-27744ab3fb23e1a04728276071bbd449.png
  9. 选择 Vulnerabilities 可查看 My Workspace 中所有漏洞的列表。要查看 Veracode 漏洞数据库中漏洞的详细信息,请选择其名称。要查看哪些项目存在漏洞,请展开“项目”列中的项目编号。sca_agent_quickstart_vulns_page-8d1c9f8915d42bf69f97f7f693b57fd1.png
  10. 选择“ 库” 可查看“我的工作区”中所有项目的库列表。

默认情况下,该页显示 Veracode 漏洞数据库中可用的匹配库。要查看数据库中没有的不匹配库 ,请选择不匹配库 。若要查看数据库中某个库的详细信息,请选择其名称。在“Vulnerabilities”、“Dependency Graph”和 “Licenses” 列中,可以展开单元格以查看该库的值。

sca_agent_quickstart_libraries_page-e6c0e41dfae0d0d336f24707eee648b8.png
  1. 选择“ 许可证” 以查看“我的工作区”中所有开源许可证的列表。

要查看使用该许可证的库以及包含该许可证的项目,请展开最后一列中的单元格。单击库名称可在漏洞数据库中查看有关它的详细信息,或选择项目名称以转到该项目。

sca_agent_quickstart_licenses_page-0a07059c23ee436a17e97c6d261c4384.png
Tags: SCA, 动态分析, 应用程序安全, 手动渗透测试

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部