オープンソースコンポーネント分析ツール OpenSCA チュートリアル

オープンソースのコンポーネント分析ツール OpenSCA

ソフトウェアの説明

OpenSCA は、サードパーティ コンポーネントの依存関係やプロジェクトの脆弱性情報をスキャンするために使用されるオープン ソース ソフトウェア コンポーネント分析ツールです。

Xuanjing Security 傘下の Yuanjian OSS オープンソース脅威制御製品 (新しいウィンドウが開きます) のオープンソース バージョンとして、OpenSCA は、ソフトウェア コンポーネント分析、依存関係を通じて、Yuanjian OSS のマルチソース SCA オープンソース アプリケーションのセキュリティ欠陥検出などのコア機能を継承しています。分析、特徴分析、引用識別、コンプライアンス分析などの手法を用いて、コンポーネントに潜むさまざまなセキュリティ脆弱性やオープンソースプロトコルのリスクを深く掘り下げ、導入されたアプリケーションのオープンソースコンポーネントのセキュリティを確保します。公式アドレス: https: //opensca.xmirror.cn/

アプリケーションシナリオ

セキュリティ開発

  • OpenSCA は、個人/企業の開発者が脆弱性を迅速に見つけて修正できるようにする、オープンソース IDE のオープンソース リスク検出プラグインです。
  • 開発者にとって使いやすい、軽量かつ低コストのゼロしきい値インストール
  • エンタープライズレベルのSCAコアエンジン、二次開発をサポート

安全性試験

  • 製品のサードパーティ製オープンソース コンポーネントのセキュリティ テスト
  • ソフトウェア製品のセキュリティを向上させ、アプリケーションが病気によってオンラインになるのを防ぎます。

安全管理

  • サードパーティのコンポーネントとベンダーのソフトウェアへの安全なアクセス
  • 企業内セキュリティコンポーネントライブラリの確立
  • ソフトウェアまたはコンポーネント資産の視覚的なインベントリの調査
  • セキュリティ部門のコンプライアンス レビューおよび関連するオープンソース ガバナンス作業

プロジェクトアドレス

https://gitee.com/XmirrorSecurity/OpenSCA-cli

ダウンロードとインストール

方法 1:

opensca のソースコードをローカルにダウンロードします。

git clone  https://gitee.com/XmirrorSecurity/OpenSCA-cli.git  opensca

Windows システムにインストールされており、安全な git が必要な場合:

https://git-scm.com/download/win

インストール後、gitbash で次のコマンドを入力します。

cd opensca
go work init cli Analyzer util
go env -w GOPROXY= https://goproxy.cn
go build -o opensca-cli cli/main.go

方法 2:

または、プロジェクト アドレスにアクセスして、システム アーキテクチャに対応する実行可能プログラム圧縮パッケージの最新バージョンをダウンロードします。

https://gitee.com/XmirrorSecurity/OpenSCA-cli/
 

ダウンロード アドレス: https://golang.google.cn/dl/ 、ローカルへ

愚かなスタイルのインストール。インストール パスはデフォルトで C ドライブに設定されます。インストールを他のパスに変更して、インストールが完了するまで次の手順に進むことができます。

インストールが成功したら、cmd を開き、コマンド go version を入力します。

環境変数を構成します (このコンピューター - 詳細なシステム構成 - 環境変数 - システム変数)

次に、プロジェクト フォルダーで CMD を開きます。

go work init cli Analyzer util
go env -w GOPROXY= https://goproxy.cn
go build -o opensca-cli cli/main.go

検出

コンポーネントの脆弱性検出データを取得するには、opensca-cli ツールを脆弱性ライブラリに関連付ける必要があります。ユーザーのオンラインとオフラインの使用ニーズに応えるために、クラウド プラットフォーム脆弱性ライブラリとオフライン脆弱性ライブラリの 2 つの関連付け方法を提供します。

クラウド プラットフォーム脆弱性ライブラリ:最新の脆弱性データを関連付け、ローカルで解析されたコンポーネント情報 (コード情報を除く) を OpenSCA クラウド プラットフォームにアップロードできます。

オフライン脆弱性データベース: OpenSCA が提供する脆弱性データベース形式に従って、独自の脆弱性データベース情報を準備する必要があり、解析されたコンポーネント情報を OpenSCA クラウド プラットフォームに転送することなくコンポーネントの脆弱性検出を完了できます。

クラウドオンライン検出

(1) トークンの生成

OpenSCA 公式 Web サイト ( opensca.xmirror.cn ) にアクセスして、OpenSCA クラウド プラットフォームにログインまたは登録します。

時間を選択して、パスワードをコピーする時間を少し長くすることができます

(2) アプリケーションパッケージまたはプロジェクトの検出

さまざまなオペレーティング システム環境に応じて、コマンド ライン ツールで次のコマンドを実行します。

注: ${}{} は実際のパラメータ値に置き換えられるため、${} を指定する必要はありません

MacOS/Linux

opensca-cli -url  https://opensca.xmirror.cn  -token ${token} -path ${project_path} -out Output.json

ウィンドウズ

opensca-cli.exe -url  https://opensca.xmirror.cn  -token ${token} -path ${project_path} -out Output.json

Windows を使用して次のことを説明します。

まず、脆弱なコンポーネントをダウンロードします。

https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.80/
opensca フォルダー内の cmd を開きます。次のコマンドを実行します:
opensca-cli.exe -url  https://opensca.xmirror.cn  -token 097ead7e-f7b1-425c-82f7-d5df9813537a -path fastjson-1.2.80.jar -out Output.json

その他のテストサンプル:

コンポーネント情報のみを検出

opensca-cli -path ${project_path}
クラウド プラットフォームに接続する

opensca-cli -url ${url} -token ${token} -path ${project_path}
またはローカル脆弱性ライブラリ

opensca-cliを使用するdb db.json -path ${プロジェクトパス}

パラメータの説明

結果を見る

コンポーネントの検出結果は、opensca-cli が配置されているディレクトリの Output.json ファイルに保存されます。

json 形式を表示するには、まず Web サイトにアクセスしてhttps://www.sojson.com/を変換します。

例:(私自身のスキャン結果)

{
  "task_info": {
    "tool_version": "v1.0.7",
    "app_name": "fastjson-1.2.80.jar",
    "size": 671884,
    "start_time": "2022-07-15 11:01:07",
    "end_time": "2022-07-15 11:01:07",
    "cost_time": 0.1634333
  },
  "vendor": "com.alibaba",
  "name": "fastjson",
  "version": "1.2.80",
  "language": "Java",
  "direct": false,
  "paths": ["META-INF/maven/com.alibaba/fastjson/pom.xml/[com.alibaba:fastjson:1.2.80]"],
  "vulnerabilities": [{
    "name": "Fastjson 代码问题漏洞",
    "id": "XMIRROR-2022-25845",
    "cve_id": "CVE-2022-25845",
    "cnnvd_id": "CNNVD-202206-1037",
    "cwe_id": "CWE-502",
    "description": "Fastjson是一款基于Java的快速JSON解析器/生成器。 \nFastjson 1.2.83 之前版本存在安全漏洞,该漏洞源于容易绕过默认的 autoType 关闭限制来反序列化不受信任的数据,攻击者利用该漏洞可以攻击远程服务器。",
    "suggestion": "目前厂商已发布升级补丁以修复漏洞,补丁获取链接: \nhttps://github.com/alibaba/fastjson/wiki/security_update_20220523",
    "attack_type": "远程",
    "release_date": "2022-06-10",
    "security_level_id": 1,
    "exploit_level_id": 0
  }]
}

IDE にプラグイン検出を追加します。

参照リンクを追加するプラグイン:

https://opensca.xmirror.cn/docs/v1/plugin.html#%E6%8F%92%E4%BB%B6%E5%8A%9F%E8%83%BD

パッケージを開きます。

おすすめ

転載: blog.csdn.net/m0_65355570/article/details/125803273