The Synopsys Software Integrity Group is now Black Duck®. Learn More

Black Duck® 软件组成分析 (SCA) 帮助团队管理在应用和容器中使用开源和第三方代码所带来的安全、质量和许可证合规性风险。

了解自己的代码包含哪些

结合了多种扫描技术,可识别任何类型的软件、源代码或工件中的开源依赖项。

管理软件供应链风险

在软件发布之前识别并解决与应用程序依赖项相关的安全、质量和许可证问题。

建立信任

符合行业和客户对安全开发标准和 SBOM 生成的要求。

获得软件供应链可见性

确定应用程序的组件和依赖项是风险管理的第一步。Black Duck SCA 可提供多种扫描技术,能够识别源代码、文件、工件、容器和固件中的所有开源依赖项。

依赖分析
Black Duck (SCA) Dependency Analysis | Black Duck

识别包管理器声明的直接依赖项和间接依赖项。

代码指纹分析
Black Duck (SCA) Codeprint Analysis

识别源文件和目录中的依赖项,即使包管理器未声明。

代码片段分析
Black Duck (SCA) Snippet Analysis

将代码片段(例如,AI 编码工具中包含的代码片段)与其原始开源项目进行匹配。

识别依赖项风险,确定风险优先级,并解决风险

识别依赖项后,团队可以使用 Black Duck Security Advisories 评估依赖项是否存在相关风险,并在其引导下指导优先顺序及补救工作。

Black Duck (SCA) Path Analysis

是否安全?接收关于现有漏洞和新发现漏洞的告警以及增强的安全数据,据此评估风险并制定补救计划。

是否值得信赖?对工件执行构建后分析,以检测是否存在恶意软件,例如已知的恶意软件包或可疑文件和文件结构,以及数字签名、风险削减措施和敏感信息。

是否合规?对于确定的每个组件,Black Duck SCA 都会提供关于许可义务和归属要求的见解,以降低知识产权风险。

是否高质量?Black Duck SCA 可为团队提供用于评估项目运行状况、历史记录、社区支持和声誉的指标,使他们主动缓解风险。

 

通过 SDLC 集成构筑软件供应链防火墙

Black Duck 策略管理使团队能够制定开源使用策略,并在开发、构建和 SCM 工具等整个软件开发生命周期 (SDLC) 中自动执行。详细了解我们的 DevOps 集成。

开发人员
For developers to automate enforcement across the SDLC

在您编码时识别、避免或自动修复风险较高或违反策略的组件。

开发和 DevOps 团队
For Development & DevOps Teams to automate enforcement across the SDLC

使用 Jenkins 等 CI 工具,根据违反策略的情况自动执行扫描、告警或停止构建工作。

安全与运营团队
For Security & Operations Teams to automate enforcement across the SDLC

在部署应用和容器之前对其进行检查,并在部署之后获得自动发送的安全告警。将二进制制品库用作获批组件的私有存储库。

使 SBOM 成为整个应用程序生命周期的一部分

将软件物料清单 (SBOM) 导入 Black Duck,以自动将依赖项映射到已知组件,并为自定义或商业依赖项创建新组件。

导出带标准或自定义字段的 SPDX 和 CycloneDX 报告,以确保应用程序透明并符合客户或行业要求。

集成 SDLC 工具,以自动生成 SBOM,并持续监控 SBOM 依赖项,以检测现有或新发现风险。

<p>Polaris Software Integrity Platform® brings together the market-leading SAST and SCA engines that power Coverity® and Black Duck® into an easy-to-use, cost-effective, and highly scalable SaaS solution, optimized for the needs of modern DevSecOps.</p>

正在寻找基于云的集成式AST解决方案?欢迎了解Polaris。

Polaris ®将市场领先的SCA引擎(Black Duck®)、SAST引擎(Coverity®)和DAST引擎(WhiteHat™ Dynamic)整合到一个易于使用、经济高效且高可扩展的SaaS解决方案中,为满足现代DevSecOps的需求提供了优化的解决方案。

选择适合您需求的方案

详细了解 Black Duck

常见问题


软件组成分析 (SCA) 与其他应用程序安全工具有何不同?

由于人们误以为专有代码和开源代码中的漏洞可以通过相似方式进行检测和修复,开源安全性经常被忽略。现实情况是,SAST、DAST 等应用安全测试工具无法有效检测开源漏洞。进入 SCA。

SCA 和其他应用程序安全测试工具之间的关键区别在于分析的内容及其所处的状态。SCA 分析第三方开源代码的漏洞、许可证和运维因素,SAST 分析专有代码中的漏洞,而 DAST 则测试运行态应用程序中的脆弱行为。

需要 SAST 和软件组成分析?

全面的软件安全计划都包含 SAST 和 SCA。采用此类方法的组织可在 SDLC 中获得改进,包括:通过提前发现问题提高质量,更好地了解专有代码和开源代码,通过在开发早期检测和修复漏洞来降低补救成本,将安全漏洞风险降至最低,以及优化安全测试、使之有效且兼容敏捷开发。

Black Duck 支持哪些集成?

Black Duck 提供便于使用的开源集成方案,适配最流行的开发工具并提供 REST API,可以针对几乎任何商业或定制的开发环境构建自己的集成。Black Duck 提供广泛的 SDLC 集成,包括 IDE、包管理器、CI/CD、问题跟踪等。

Black Duck 支持的集成

Black Duck 的漏洞信息来自哪里?

大多数解决方案仅仅是完全依赖于国家漏洞数据库 (NVD) 提供的数据。这种局限带来了一个问题,因为许多漏洞从未被记录在 NVD 中,而另有一些漏洞直到公开几周之后才被列入。Black Duck Security Advisories (BDSA) 超越 NVD,借助经由 Black Duck 网络安全研究中心 (CyRC) 研究和分析的增强型数据,保证完整性和准确性,尽早发出漏洞提醒并提供全面的见解。

Black Duck 漏洞报告

我为什么要重视超越所声明的依赖项之外的扫描?

大多数解决方案采用包管理器声明来识别开源组件。但如果不能扫描所声明范围之外的依赖项,您必然会错过某些开源组件。如果您不知道它的存在,就无法确保它安全与合规。

包管理器扫描会忽略开发人员未在包清单中声明的开源组件、C 和 C++ 等语言、内置在容器中的开源组件(不使用包管理器)、已修改的开源组件,或仍具有许可义务的部分代码片段。通过将文件系统扫描和代码片段扫描与构建过程监控相结合,Black Duck 提供了对未被包管理器跟踪的开源组件、部分开源片段和可能被修改或尚未声明的开源组件的可见性,以及对动态和间接依赖的组件和版本验证。

我应该使用软件组成分析解决方案实现什么目标?

简单说,这是一款功能强大的解决方案,能够对开源风险进行端到端控制。像 Black Duck 这样的解决方案为整个 SDLC 的开源管理提供了全面的方法。

具体而言,在选择 SCA 解决方案时应考虑以下功能:

  • 全面扫描,超越声明范围
  • 持续提供物料清单
  • 策略、工作流和 SDLC 集成
  • 强大的漏洞数据库,超出 NVD 范围
  • 许可证合规功能
  • 监控和告警
Black Duck 支持哪些语言和平台?

Black Duck 支持最常见的包管理器。Black Duck 的代码片段扫描功能覆盖了最主要和最常用的语言。专业知识库团队会持续监控并添加新语言,确保所有常用语言都得到支持。

此外,Black Duck 独有的签名扫描方法与语言无关。此扫描方法根据文件和目录布局以及独立于语言的其他元数据搜索签名。

请联系我们获取受所支持语言和平台的最新清单。

SCA 除了支持源代码之外,支持二进制代码吗?

是。某些解决方案可以扫描二进制文件,以获取包管理器信息或获取直接从存储库提取未做任何修改的二进制文件。Black Duck 先进的二进制扫描解决方案可以打开二进制文件,以检测修改后的二进制文件,并提供传统语言和广泛的工件支持。

Black Duck 二进制分析

Black Duck 在知识库中的许可数据有多全面?

Black Duck 的开源知识库是业界最全的开源项目、许可证和安全信息数据库,其中的信息均由 Black Duck 网络安全研究中心 (CyRC) 获取和管理。知识库包含 2,650 多个独立的开源许可证(GPL、LGPL、Apache 等),其中包含最常用的开源许可证的完整文本以及每个许可证内嵌的数十种特性和义务。Black Duck 还包括深度版权数据并具备提取嵌入式开源许可证的能力,以实现完全开源合规性。

Black Duck 是否扫描容器?

是。Black Duck 允许基于 Docker(和其他)容器封装和交付应用的团队确认和证明其容器中的任何开源组件均符合使用和安全策略、没有漏洞且已履行许可义务。开源管理包括持续监控影响现有应用和容器的新漏洞。