开源组件分析工具OpenSCA教程
開源組件分析工具OpenSCA
軟件簡介
OpenSCA 是一款開源的軟件成分分析工具,用來掃描項目的第三方組件依賴及漏洞信息。
作為懸鏡安全旗下源鑒 OSS 開源威脅管控產品 (opens new window) 的開源版本,OpenSCA 繼承了源鑒 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 openscago 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/
?
.傻瓜式安裝,安裝路徑默認C盤,可修改安裝到其他路徑,一直下一步到安裝完成
安裝成功后,打開cmd,輸入命令go version
配置環境變量(此電腦-高級系統配置-環境變量-系統變量)
然后在項目文件夾打開CMD:
go work init cli analyzer utilgo env -w GOPROXY=https://goproxy.cn
go build -o opensca-cli cli/main.go
檢測
opensca-cli 工具需要關聯漏洞庫,方可有組件漏洞檢測數據。提供了云平臺漏洞庫和離線漏洞庫兩種關聯方式,來滿足用戶的在線和離線使用需求。
云平臺漏洞庫:可關聯最新的漏洞數據,通過將本地解析的組件信息(不包含代碼信息)上傳至OpenSCA云平臺;
離線漏洞庫:需要按照OpenSCA提供的漏洞庫格式準備自己的漏洞庫信息,無需將解析的組件信息傳輸到OpenSCA云平臺,就可完成組件漏洞檢測。
云端在線檢測
(1)生成Token
訪問OpenSCA官網(opensca.xmirror.cn)登錄或注冊進入OpenSCA云平臺;選擇一個時間,可以拉長一點復制口令
(2)檢測應用包或項目
根據不同的操作系統環境,在命令行工具內執行如下命令:
說明:${}{}替換為實際的參數值,無需帶上${}
MacOS/Linux
opensca-cli -url?https://opensca.xmirror.cn?-token ${token} -path ${project_path} -out output.jsonWindows
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 ${project_path}
參數說明
查看結果
組件檢測結果會保存在 opensca-cli 所在目錄的 output.json文件。
查看json格式,可先到網站轉換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打開組件包:
總結
以上是生活随笔為你收集整理的开源组件分析工具OpenSCA教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: node2vec python_图上的机
- 下一篇: Linux 信号量及其操作函数