1

软件成分分析(Software Composition Analysis, SCA)是Gartner定义的一种应用程序安全检测技术,该技术用于分析开源软件以及第三方商业软件涉及的各种源码、模块、框架和库等,以识别和清点开源软件的组件及其构成和依赖关系,并检测是否存在已知的安全和功能漏洞、安全补丁是否已经过时或是否存在许可证合规或兼容性风险等安全问题,帮助确保企业软件供应链中组件的安全。

OpenSCA是国内最早、用户量最大的开源SCA工具,继承了商业级SCA的开源应用安全缺陷检测、多级开源依赖挖掘、纵深代码同源检测等核心能力,通过软件成分分析、依赖分析、特征分析、引用识别、合规分析等方法,深度挖掘组件中潜藏的各类安全漏洞及开源协议风险。

不同于传统企业版 SCA 工具,OpenSCA 轻量易用、能力完整,支持漏洞库、私服库等自主配置,覆盖IDE/命令行/云平台、离线/在线等多种使用场景,支持Java、JavaScript(Node.js)、PHP、Python、Go (Golang)、Rust、Erlang等多种主流编程语言并支持生成软件物料清单(SBOM),可灵活地接入开发流程,为企业、组织及个人用户输出透明化的组件资产及风险清单。

检测能力

OpenSCA现已支持以下编程语言相关的配置文件解析及对应的包管理器,后续会逐步支持更多编程语言,丰富相关配置文件的解析。

产品优势

01. 丰富的语言支持,海量知识库支撑

  • 支持主流编程语言的软件成分分析,如:Java、JavaScript、PHP、Ruby;
  • 云平台实时的组件库/漏洞库/许可证库/特征库等海量知识库支撑。

02. 组件依赖解析,可视化SBOM分析

  • 组件的直接依赖及间接依赖解析分析;
  • 组件安全漏洞分析,可快速定位漏洞影响范围并及时修复
  • 透明化SBOM(软件物料清单),助力快速梳理内部软件资产。

03. 许可合规分析,知识产权安全保障

  • 支持主流许可证的检出;
  • 分析开源许可证的合规性及兼容性风险

04. 企业级核心引擎,更高检出更低误报

  • 拥有企业级SCA核心检测引擎及分析引擎;
  • 基于海量知识库,多源SCA开源应用安全缺陷检测等算法,对特征文件进行精准识别,提高组件的检出率。

使用教程

1. 在线检测

1.1 注册与登录

  1. 访问 OpenSCA 控制台,使用 GitHub 或邮箱注册账号。
  2. 登录后,进入控制台首页。

1.2 上传项目

  1. 点击“开始检测”按钮,选择上传本地项目或直接输入 Git 仓库地址。
  2. 系统会自动解析项目中的依赖文件(如 pom.xmlpackage.json),并生成检测报告。

1.3 查看报告

检测完成后,控制台会展示以下信息:

  • 组件清单:项目中的直接依赖和间接依赖。
  • 漏洞信息:已知漏洞的详细信息及修复建议。
  • 许可证风险:识别潜在的许可证合规问题。

2. 命令行工具(CLI)

2.1 安装 OpenSCA CLI

  1. 一键安装脚本(Mac/Linux):

    curl -sSL https://raw.githubusercontent.com/XmirrorSecurity/OpenSCA-cli/master/scripts/install.sh | sh

    Windows 用户可使用 PowerShell 脚本:

    iex "&{$(irm https://raw.githubusercontent.com/XmirrorSecurity/OpenSCA-cli/master/scripts/install.ps1)}"
  2. 通过包管理器安装(Mac/Linux):

    brew install opensca-cli

    Windows 用户可使用 Winget 或 Scoop:

    winget install OpenSCA-cli

2.2 使用 CLI 检测项目

  1. 运行以下命令扫描本地项目:

    opensca-cli -path /path/to/project -out output.html
  2. 参数说明

    • -path:项目路径。
    • -out:输出文件的路径和格式(支持 HTML、JSON、XML 等)。
    • -token:从 OpenSCA 控制台获取的 Token,用于使用云端漏洞数据库。

2.3 查看检测结果

检测完成后,生成的文件(如 output.html)将包含以下信息:

  • 组件清单:项目中的所有开源组件。
  • 漏洞信息:已知漏洞的详细描述及修复建议。
  • 许可证合规信息:识别潜在的许可证风险。

3. IDE 插件

3.1 IntelliJ IDEA 插件安装

  1. 在 IntelliJ IDEA 中,依次点击 File > Settings > Plugins > Marketplace
  2. 搜索 OpenSCA Xcheck,点击 Install 安装插件。

3.2 使用插件检测项目

  1. 安装插件后,点击 View > Tool Windows > OpenSCA,打开插件窗口。
  2. 配置服务器 URL 和 Token,点击 Run 开始检测。
  3. 检测完成后,插件窗口会展示组件清单和漏洞信息。

4. Visual Studio Code 插件

4.1 安装插件

  1. 在 VS Code 中,点击左侧扩展栏,搜索 OpenSCA Xcheck,点击 Install 安装 。

4.2 使用插件检测项目

  1. 安装插件后,点击左侧 OpenSCA Xcheck 图标,打开插件窗口。
  2. 配置服务器 URL 和 Token,点击 Run 开始检测 。
  3. 检测完成后,插件窗口会展示组件清单和漏洞信息。

5. SBOM 生成与管理

5.1 生成 SBOM 文件

使用以下命令生成 SBOM 文件:

opensca-cli -path /path/to/project -out sbom.spdx

支持的 SBOM 格式包括:

  • SPDX.spdx.spdx.json.spdx.xml
  • CycloneDX.cdx.json.cdx.xml
  • SWID.swid.json.swid.xml

5.2 转换 SBOM 文件

OpenSCA 支持将 SBOM 文件转换为其他格式。例如,将 SPDX 转换为 CycloneDX:

opensca-cli -path sbom.spdx -out sbom.cdx.json


SbomHub
1 声望0 粉丝