开放代码社区 › OpenSCA-cli

OpenSCA-cli

开发工具Go

用开源的方式做开源风险治理 中文 English 方式 1: 从 Releases 下载 方式 2: 一键安装脚本 方式 3: 使用包管理器(Homebrew) 方式 4: 从源码构建 漏洞库文件格式 漏洞库字段说明 漏洞库配置示例 使用OpenSCA需要配置环境变量吗? OpenSCA目前支持哪些漏洞库呢? 使用OpenSCA检测时,检测速度与哪些因素有关? 问题反馈\&联系我们 OpenSCA 用来扫描项目的第三方组件依赖及漏洞信息。

AI/机器学习Web后端前端工具数据库
作者:用户6868语言:Go更新:2026-10-27
仓库地址
https://gitee.com/XmirrorSecurity/OpenSCA-cli.git

前往原仓库

README

<div align="center">
	<img alt="logo" src="https://gitee.com/XmirrorSecurity/OpenSCA-cli/raw/master/resources/logo.svg">
  <h2>用开源的方式做开源风险治理</h2>

[![Release](https://img.shields.io/github/v/release/XmirrorSecurity/OpenSCA-cli)](https://github.com/XmirrorSecurity/OpenSCA-cli/releases)
[![GitHub all releases](https://img.shields.io/github/downloads/XmirrorSecurity/OpenSCA-cli/total)](https://github.com/XmirrorSecurity/OpenSCA-cli/releases)
[![Docker Pulls](https://img.shields.io/docker/pulls/opensca/opensca-cli)](https://hub.docker.com/r/opensca/opensca-cli)
[![Jetbrains Plugin](https://img.shields.io/jetbrains/plugin/v/18246)](https://plugins.jetbrains.com/plugin/18246-opensca-xcheck)
[![VSCode Plugin](https://vsmarketplacebadges.dev/version/xmirror.opensca.svg)](https://marketplace.visualstudio.com/items?itemName=xmirror.opensca)
[![LICENSE](https://img.shields.io/github/license/XmirrorSecurity/OpenSCA-cli)](https://github.com/XmirrorSecurity/OpenSCA-cli/blob/master/LICENSE)
[![GitHub go.mod Go version (subdirectory of monorepo)](https://img.shields.io/github/go-mod/go-version/xmirrorsecurity/opensca-cli)](/go.mod)

中文 | [English](https://gitee.com/XmirrorSecurity/OpenSCA-cli/blob/master/.github/README.md)
</div>

<!-- TOC -->
- [项目介绍](#项目介绍)
- [检测能力](#检测能力)
- [下载安装](#下载安装)
  - [方式 1: 从 Releases 下载](#方式-1-从-releases-下载)
  - [方式 2: 一键安装脚本](#方式-2-一键安装脚本)
  - [方式 3: 使用包管理器(Homebrew)](#方式-3-使用包管理器homebrew)
  - [方式 4: 从源码构建](#方式-4-从源码构建)
- [使用说明](#使用说明)
  - [参数说明](#参数说明)
  - [报告格式](#报告格式)
  - [使用样例](#使用样例)
  - [漏洞库文件格式](#漏洞库文件格式)
  - [漏洞库字段说明](#漏洞库字段说明)
  - [漏洞库配置示例](#漏洞库配置示例)
- [常见问题](#常见问题)
  - [使用OpenSCA需要配置环境变量吗?](#使用opensca需要配置环境变量吗)
  - [OpenSCA目前支持哪些漏洞库呢?](#opensca目前支持哪些漏洞库呢)
  - [使用OpenSCA检测时,检测速度与哪些因素有关?](#使用opensca检测时检测速度与哪些因素有关)
- [问题反馈\&联系我们](#问题反馈联系我们)
- [贡献者](#贡献者)
- [向我们贡献](#向我们贡献)
<!-- TOC -->

## 项目介绍

**OpenSCA** 用来扫描项目的第三方组件依赖及漏洞信息。

官网:[https://opensca.xmirror.cn](https://opensca.xmirror.cn)

欢迎点亮**star**,鼓励下项目组的小伙伴们~

---

## 检测能力

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

| 支持语言     | 包管理器   | 解析文件                                                                 |
| ------------ | ---------- | ------------------------------------------------------------------------ |
| `Java`       | `Maven`    | `pom.xml`                                                                |
| `Java`       | `Gradle`   | `.gradle` `.gradle.kts`                                                  |
| `JavaScript` | `Npm`      | `package-lock.json` `package.json` `yarn.lock`                           |
| `PHP`        | `Composer` | `composer.json` `composer.lock`                                          |
| `Ruby`       | `gem`      | `gemfile.lock`                                                           |
| `Golang`     | `gomod`    | `go.mod` `go.sum` `Gopkg.toml` `Gopkg.lock`                              |
| `Rust`       | `cargo`    | `Cargo.lock`                                                             |
| `Erlang`     | `Rebar`    | `rebar.lock`                                                             |
| `Python`     | `Pip`      | `Pipfile` `Pipfile.lock` `setup.py` `requirements.txt` `requirements.in` |

## 下载安装

OpenSCA-cli 支持 Windows、Linux、MacOS 等操作系统,支持 x86_64 和 arm64 架构。目前提供了以下几种安装方式:

### 方式 1: 从 Releases 下载

1. 从 [github](https://github.com/XmirrorSecurity/OpenSCA-cli/releases) 或 [gitee](https://gitee.com/XmirrorSecurity/OpenSCA-cli/releases) 或 [gitcode](https://gitcode.com/XmirrorSecurity/OpenSCA-cli/releases) 下载对应系统架构的可执行文件压缩包
2. 解压,并运行 `opensca-cli` 可执行文件即可。

### 方式 2: 一键安装脚本

- Mac/Linux 用户
    ```shell
    curl -sSL https://raw.githubusercontent.com/XmirrorSecurity/OpenSCA-cli/master/scripts/install.sh | sh

    # 如果遇到网络问题,可尝试以下命令
    curl -sSL https://gitee.com/XmirrorSecurity/OpenSCA-cli/raw/master/scripts/install.sh | sh -s -- gitee
    ```
- For Windows Users(need PowerShell)
    ```powershell
    iex "&{$(irm https://raw.githubusercontent.com/XmirrorSecurity/OpenSCA-cli/master/scripts/install.ps1)}"

    # 如遇到网络问题,可尝试以下命令
    iex "&{$(irm https://gitee.com/XmirrorSecurity/OpenSCA-cli/raw/master/scripts/install.ps1)} gitee"
    ```

### 方式 3: 使用包管理器(Homebrew)

```
brew install opensca-cli
```

### 方式 4: 从源码构建

克隆并源码编译(需要 `go 1.18` 及以上版本)

```shell
# github linux/mac
git clone https://github.com/XmirrorSecurity/OpenSCA-cli.git opensca && cd opensca && go build
# gitee linux/mac
git clone https://gitee.com/XmirrorSecurity/OpenSCA-cli.git opensca && cd opensca && go build
# gitcode linux/mac
git clone https://gitcode.com/XmirrorSecurity/OpenSCA-cli.git opensca && cd opensca && go build
# github windows
git clone https://github.com/XmirrorSecurity/OpenSCA-cli.git opensca ; cd opensca ; go build
# gitee windows
git clone https://gitee.com/XmirrorSecurity/OpenSCA-cli.git opensca ; cd opensca ; go build
# gitcode windows
git clone https://gitcode.com/XmirrorSecurity/OpenSCA-cli.git opensca ; cd opensca ; go build
```

默认生成当前系统架构的程序,如需生成其他系统架构可配置环境变量后编译

- 禁用`CGO_ENABLED`
  `CGO_ENABLED=0`
- 指定操作系统
  `GOOS=${OS} \\ darwin,liunx,windows`
- 指定体系架构
  `GOARCH=${arch} \\ amd64,arm64`

## 使用说明

### 参数说明

| 参数     | 类型     | 描述             | 使用样例                 |
| -------- | -------- | ---------------- | ------------------------ |
| `config` | `string` | 指定配置文件路径 | `-config config.json`    |
| `path`   | `string` | 指定检测项目路径 | `-path ./foo`            |
| `out`    | `string` | 根据后缀生成报告 | `-out out.json,out.html` |
| `log`    | `string` | 指定日志文件路径 | `-log my_log.txt`        |
| `token`  | `string` | 云端服务`token`  | `-token xxx`             |
| `proj`   | `string` | saas项目`token`  | `-proj xxx`              |

完整的检测参数需在配置文件中配置
(*v3.0.0开始url参数不再通过命令行指定,默认为OpenSCA云漏洞库服务`https://opensca.xmirror.cn/`,也可通过配置文件指定其他数据格式相符的云漏洞库;使用过往版本可在命令行或配置文件指定url参数。)

配置字段及说明详见[`config.json`](https://gitee.com/XmirrorSecurity/OpenSCA-cli/blob/master/config.json)

v3.0.2开始,OpenSCA-cli可以通过proj参数向OpenSCA SaaS同步检出结果,方便资产及风险的全局管理。

配置文件与命令行参数冲突时优先使用命令行输入参数

指定了配置文件路径但目标位置不存在文件时会在目标位置生成