
Bahasa Inggris | 中文
OpenSCA dimaksudkan untuk memindai dependensi, kerentanan, dan lisensi pihak ketiga.
Situs web kami: https://opensca.xmirror.cn
Klik bintang untuk meninggalkan dorongan.
OpenSCA sekarang mampu parsing file konfigurasi dalam bahasa pemrograman yang terdaftar dan manajer paket koresponden. Tim sekarang didedikasikan untuk memperkenalkan lebih banyak bahasa dan memperkaya penguraian file konfigurasi yang relevan secara bertahap.
| BAHASA | Manajer Paket | MENGAJUKAN |
|---|---|---|
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 (untuk dua yang terakhir, lingkungan PIPENV & koneksi internet diperlukan) |
Unduh file yang dapat dieksekusi yang sesuai sesuai dengan arsitektur sistem Anda dari rilis.
Atau unduh kode sumber dan kompilasi ( go 1.18 dan di atas diperlukan)
// 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 buildOpsi default adalah untuk menghasilkan program arsitektur sistem saat ini. Jika Anda ingin mencobanya untuk arsitektur sistem lainnya, Anda dapat mengatur variabel lingkungan berikut sebelum menyusun.
CGO_ENABLED CGO_ENABLED=0GOOS=${OS} \ darwin,liunx,windowsGOARCH=${arch} \ amd64,arm64 | PARAMETER | JENIS | Deskripsi | MENCICIPI |
|---|---|---|---|
config | string | Atur jalur file konfigurasi | -config config.json |
path | string | Atur jalur file atau direktori target | -path ./foo |
out | string | Simpan hasilnya ke file yang ditentukan yang formatnya ditentukan oleh akhiran | -out out.json, out.html |
log | string | Tentukan jalur file log | -log my_log.txt |
token | string | Verifikasi layanan cloud dari situs web resmi kami | -token xxx |
proj | string | SaaS Project token To Sync Report dengan Opensca SaaS | -proj xxx |
Dari v3.0.0, terlepas dari parameter ini yang tersedia untuk CMD/CRT, ada juga yang lain untuk persyaratan berbeda yang harus diatur dalam file konfigurasi.
PENDAHULUAN LENGKAP Tentang setiap parameter dapat ditemukan di config.json
v3.0.2 dan di atas memungkinkan OpenSca-CLI ke laporan SNYC dengan Opensca SaaS (via proj ), sehingga semua laporan dari beberapa proyek dapat dikelola bersama.
Jika parameter konfigurasi bertentangan dengan parameter input baris perintah, yang terakhir akan diambil.
Ketika tidak ada file konfigurasi di jalur set, satu di pengaturan default akan dihasilkan di sana.
Jika tidak ada jalur file konfigurasi yang diatur, yang berikut akan diperiksa:
config.json di bawah direktori kerjaopensca_config.json di bawah direktori penggunaconfig.json di bawah direktori opensca-cli Dari v3.0.0, url telah dimasukkan ke dalam file konfigurasi. Set default masuk ke database kerentanan cloud kami. Basis data online lainnya sesuai dengan struktur basis data kami juga dapat diatur melalui file konfigurasi.
Menggunakan versi sebelumnya untuk menghubungkan basis data cloud masih membutuhkan pengaturan url , yang dapat dilakukan melalui CMD dan file konfigurasi. Contoh: -url https://opensca.xmirror.cn
File yang didukung oleh parameter out tercantum di bawah ini :
| JENIS | FORMAT | Sufiks yang ditentukan | VERSI |
|---|---|---|---|
| LAPORAN | json | .json | * |
xml | .xml | * | |
html | .html | v1.0.6 dan di atas | |
sqlite | .sqlite | v1.0.13 dan di atas | |
csv | .csv | v1.0.13 dan di atas | |
sarif | .sarif | ||
| SBOM | spdx | .spdx .spdx.json .spdx.xml | v1.0.8 dan di atas |
cdx | .cdx.json .cdx.xml | v1.0.11 dan di atas | |
swid | .swid.json .swid.xml | v1.0.11 dan di atas | |
dsdx | .dsdx .dsdx.json .dsdx.xml | v3.0.0 dan di atas |
# 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} Anda juga dapat menggunakan file konfigurasi untuk pengaturan lanjutan. Simpan config.json ke direktori yang dipasang src atau atur jalur lain di dalam wadah melalui -config . Metode penulisan untuk memasang direktori saat ini pada terminal yang berbeda bervariasi, kami daftar yang umum di sini FYI:
| terminal | PWD |
|---|---|
bash | $(pwd) |
zsh | ${PWD} |
cmd | %cd% |
powershell | (Get-Location).Path |
Untuk informasi lebih lanjut, kunjungi halaman Hub Docker
[
{
"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
}
]| BIDANG | Deskripsi | Diperlukan atau tidak |
|---|---|---|
vendor | produsen komponen | N |
product | nama komponen | Y |
version | Versi komponen yang dipengaruhi oleh kerentanan | Y |
language | bahasa pemrograman komponen | Y |
name | nama kerentanan | N |
id | pengidentifikasi khusus | Y |
cve_id | Pengidentifikasi CVE | N |
cnnvd_id | Identifier CNNVD | N |
cnvd_id | Pengidentifikasi CNVD | N |
cwe_id | CWE Identifier | N |
description | deskripsi kerentanan | N |
description_en | deskripsi kerentanan dalam bahasa Inggris | N |
suggestion | Saran untuk memperbaiki kerentanan | N |
attack_type | jenis serangan | N |
release_date | Tanggal rilis kerentanan | N |
security_level_id | Tingkat keamanan kerentanan (berkurang dari 1 menjadi 4) | N |
exploit_level_id | Level Eksploitasi Kerentanan (0-N/A 1-Available) | N |
*Ada beberapa nilai yang telah ditentukan sebelumnya untuk bidang "Bahasa", termasuk Java, JavaScript, Golang, Rust, PHP, Ruby dan Python. Bahasa lain tidak terbatas pada nilai yang telah ditentukan sebelumnya.
{
"origin" :{
"json" : " db.json " ,
"mysql" :{
"dsn" : " user:password@tcp(ip:port)/dbname " ,
"table" : " table_name "
},
"sqlite" :{
"dsn" : " sqlite.db " ,
"table" : " table_name "
}
}
}Tidak. OpenSca dapat dieksekusi secara langsung dengan perintah dalam CLI/CRT setelah dekompresi.
OpenSCA memungkinkan mengonfigurasi database kerentanan lokal. Itu harus diurutkan sesuai dengan format file database kerentanan .
Sementara itu, OpenSCA juga menawarkan database kerentanan cloud yang mencakup database resmi termasuk CVE/CWE/NVD/CNVD/CNNVD.
Itu tergantung pada ukuran paket, kondisi jaringan dan bahasa.
Dari v1.0.11, kami menambahkan database Aliyun Mirror sebagai cadangan ke repositori Maven resmi untuk memecahkan lag yang disebabkan oleh koneksi jaringan.
Untuk v1.0.10 dan di bawah ini, jika waktunya secara tidak normal dan informasi kesalahan tentang kegagalan koneksi ke repositori Maven dilaporkan dalam file log, pengguna versi antara v1.0.6 dan v1.0.10 dapat memperbaiki masalah dengan mengatur bidang maven di config.json seperti di bawah ini:
{
"maven" : [
{
"repo" : " https://maven.aliyun.com/repository/public " ,
"user" : " " ,
"password" : " "
}
]
} Setelah pengaturan, simpan config.json ke folder yang sama dari OpenSca-cli.exe dan jalankan perintah. Misalnya:
opensca-cli -token {token} -path {path} -out output.html -config config.jsonPengguna V1.0.5 dan di bawah ini mungkin harus memodifikasi kode sumber. Kami merekomendasikan peningkatan ke versi yang lebih tinggi.
Untuk lebih banyak FAQ lainnya, silakan periksa FAQ.
Masalah sangat disambut dengan hangat.
Tambahkan WeChat untuk konsultasi lebih lanjut juga merupakan opsi:

Grup QQ kami: 832039395
Kotak surat: [email protected]
OpenSca adalah proyek open source, kami menghargai kontribusi Anda!
Untuk berkontribusi, silakan baca pedoman yang berkontribusi.