
英語|中文
OpenSCAは、サードパーティの依存関係、脆弱性、ライセンスのスキャンを目的としています。
当社のウェブサイト:https://opensca.xmirror.cn
星をクリックして励ましを残します。
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 (後者の2つについては、pipenv環境とインターネット接続が必要です) |
リリースからシステムアーキテクチャに従って適切な実行可能ファイルをダウンロードします。
または、ソースコードをダウンロードしてコンパイルします( go 1.18以上が必要です)
// 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
// 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デフォルトのオプションは、現在のシステムアーキテクチャのプログラムを生成することです。他のシステムアーキテクチャで試してみたい場合は、コンパイルする前に次の環境変数を設定できます。
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 xxx |
proj | string | SaaSプロジェクトtoken OpenSca Saasとレポートを同期します | -proj xxx |
v3.0.0から、CMD/CRTで利用可能なこれらのパラメーターとは別に、構成ファイルに設定する必要があるさまざまな要件については、他のパラメーターもあります。
各パラメーターに関する完全な紹介は、 config.jsonにあります
v3.0.2以降は、OpenSca-CliからSNYCレポートをOpenSca SaaS( proj経由)でレポートすることを許可しているため、複数のプロジェクトのすべてのレポートを一緒に管理できます。
構成パラメーターがコマンドライン入力パラメーターと競合する場合、後者が取得されます。
設定されたパスに構成ファイルがない場合、デフォルト設定の1つがそこに生成されます。
構成ファイルのパスが設定されていない場合、次のファイルがチェックされます。
config.jsonopensca_config.jsonopensca-cliディレクトリの下のconfig.json v3.0.0から、 url構成ファイルに入れられました。デフォルトのセットは、クラウドの脆弱性データベースに送られます。データベース構造に従って他のオンラインデータベースは、構成ファイルを介して設定することもできます。
以前のバージョンを使用してクラウドデータベースを接続するには、CMDと構成ファイルの両方を介して実行できるurlの設定が必要です。例: -url https://opensca.xmirror.cn
outパラメーターでサポートされているファイルは、以下にリストされています:
| タイプ | 形式 | 指定された接尾辞 | バージョン |
|---|---|---|---|
| 報告 | json | .json | * |
xml | .xml | * | |
html | .html | v1.0.6以降 | |
sqlite | .sqlite | v1.0.13以上 | |
csv | .csv | v1.0.13以上 | |
sarif | .sarif | ||
| sbom | spdx | .spdx .spdx.json .spdx.xml | v1.0.8以上 |
cdx | .cdx.json .cdx.xml | v1.0.11以上 | |
swid | .swid.json .swid.xml | v1.0.11以上 | |
dsdx | .dsdx .dsdx.json .dsdx.xml | v3.0.0以上 |
# Use opensca-cli to scan with CMD parameters:
opensca-cli -path ${project_path} -config ${config_path} -out ${filename} . ${suffix} -token ${token}
# Start scanning after setting down the configuration file:
opensca-cli # Detect dependencies in the current directory:
docker run -ti --rm -v ${PWD} :/src opensca/opensca-cli
# Connect to the cloud vulnerability database:
docker run -ti --rm -v ${PWD} :/src opensca/opensca-cli -token ${put_your_token_here}上級設定に構成ファイルを使用することもできます。 config.json srcのマウントディレクトリに保存するか、 -configを介してコンテナ内の他のパスを設定します。さまざまな端末に現在のディレクトリを取り付けるためのライティング方法はさまざまです。
| ターミナル | PWD |
|---|---|
bash | $(pwd) |
zsh | ${PWD} |
cmd | %cd% |
powershell | (Get-Location).Path |
詳細については、Docker Hubページをご覧ください
[
{
"vendor" : " org.apache.logging.log4j " ,
"product" : " log4j-core " ,
"version" : " [2.0-beta9,2.12.2)||[2.13.0,2.15.0) " ,
"language" : " java " ,
"name" : " Apache Log4j2 远程代码执行漏洞" ,
"id" : " XMIRROR-2021-44228 " ,
"cve_id" : " CVE-2021-44228 " ,
"cnnvd_id" : " CNNVD-202112-799 " ,
"cnvd_id" : " CNVD-2021-95914 " ,
"cwe_id" : " CWE-502,CWE-400,CWE-20 " ,
"description" : " Apache Log4j是美国阿帕奇(Apache)基金会的一款基于Java的开源日志记录工具。 rn Apache Log4J 存在代码问题漏洞,攻击者可设计一个数据请求发送给使用 Apache Log4j工具的服务器,当该请求被打印成日志时就会触发远程代码执行。 " ,
"description_en" : " Apache Log4j2 2.0-beta9 through 2.12.1 and 2.13.0 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0, this functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or other Apache Logging Services projects. " ,
"suggestion" : " 2.12.1及以下版本可以更新到2.12.2,其他建议更新至2.15.0或更高版本,漏洞详情可参考:https://github.com/apache/logging-log4j2/pull/608 rn 1、临时解决方案,适用于2.10及以上版本: rnt (1)设置jvm参数:“-Dlog4j2.formatMsgNoLookups=true”; rnt (2)设置参数:“log4j2.formatMsgNoLookups=True”; " ,
"attack_type" : "远程" ,
"release_date" : " 2021-12-10 " ,
"security_level_id" : 1 ,
"exploit_level_id" : 1
}
]| 分野 | 説明 | 必須かどうか |
|---|---|---|
vendor | コンポーネントのメーカー | n |
product | コンポーネントの名前 | y |
version | 脆弱性の影響を受けるコンポーネントのバージョン | y |
language | コンポーネントのプログラミング言語 | y |
name | 脆弱性の名前 | n |
id | カスタム識別子 | y |
cve_id | CVE識別子 | n |
cnnvd_id | CNNVD識別子 | n |
cnvd_id | CNVD識別子 | n |
cwe_id | CWE識別子 | n |
description | 脆弱性の説明 | n |
description_en | 英語の脆弱性の説明 | n |
suggestion | 脆弱性を修正するための提案 | n |
attack_type | 攻撃の種類 | n |
release_date | 脆弱性のリリース日 | n |
security_level_id | 脆弱性のセキュリティレベル(1から4に減少) | n |
exploit_level_id | 脆弱性のエクスプロイトレベル(0-N/A 1-利用可能) | n |
*Java、JavaScript、Golang、Rust、PHP、Ruby、Pythonなど、「言語」フィールドにはいくつかの事前セット値があります。他の言語は、事前に設定された値に限定されません。
{
"origin" :{
"json" : " db.json " ,
"mysql" :{
"dsn" : " user:password@tcp(ip:port)/dbname " ,
"table" : " table_name "
},
"sqlite" :{
"dsn" : " sqlite.db " ,
"table" : " table_name "
}
}
}いいえ。OPENSCAは、減圧後にCLI/CRTのコマンドによって直接実行できます。
OpenSCAを使用すると、ローカル脆弱性データベースを構成できます。脆弱性データベースファイルの形式に従ってソートする必要があります。
一方、OpenScaは、CVE/CWE/NVD/CNVD/CNNVDを含む公式データベースをカバーするクラウド脆弱性データベースも提供しています。
パッケージのサイズ、ネットワーク条件、言語に依存します。
v1.0.11から、Aliyun Mirrorデータベースを公式Mavenリポジトリにバックアップとして追加して、ネットワーク接続によって引き起こされる遅延を解決します。
V1.0.10以下の場合、時間が異常に長く、Mavenリポジトリへの接続の障害に関するエラー情報がログファイルに報告される場合、v1.0.6とv1.0.10の間のバージョンのユーザーは、以下のようにmavenフィールドを設定して問題をconfig.jsonできます。
{
"maven" : [
{
"repo" : " https://maven.aliyun.com/repository/public " ,
"user" : " " ,
"password" : " "
}
]
} 設定後、 config.jsonをOpensca-cli.exeの同じフォルダーに保存し、コマンドを実行します。例えば:
opensca-cli -token {token} -path {path} -out output.html -config config.jsonV1.0.5以下のユーザーは、ソースコードを変更する必要がある場合があります。高等バージョンへのアップグレードをお勧めします。
他のFAQについては、FAQを確認してください。
問題は温かく大歓迎です。
さらに相談するためにWeChatを追加することもオプションです。

QQグループ:832039395
メールボックス:[email protected]
OpenScaはオープンソースプロジェクトです。ご貢献に感謝します!
貢献するには、貢献ガイドラインをお読みください。