
ภาษาอังกฤษ | 中文
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 (สำหรับสองหลังจำเป็นต้องมีสภาพแวดล้อม 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=0GOOS=${OS} \ darwin,liunx,windowsGOARCH=${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 | token Project Token เพื่อซิงค์รายงานกับ OpenSCA SaaS | -proj xxx |
จาก v3.0.0 นอกเหนือจากพารามิเตอร์เหล่านี้ที่มีให้สำหรับ CMD/CRT นอกจากนี้ยังมีอื่น ๆ สำหรับข้อกำหนดที่แตกต่างกันซึ่งจะต้องตั้งค่าในไฟล์การกำหนดค่า
การแนะนำเต็มรูปแบบเกี่ยวกับพารามิเตอร์แต่ละตัวสามารถพบได้ใน config.json
v3.0.2 ขึ้นไปอนุญาตให้ OpenSCA-CLI รายงาน SNYC ด้วย OpenSCA SaaS (ผ่าน proj ) เพื่อให้รายงานทั้งหมดของหลายโครงการสามารถจัดการร่วมกันได้
หากพารามิเตอร์การกำหนดค่าขัดแย้งกับพารามิเตอร์อินพุตบรรทัดคำสั่งจะต้องใช้หลัง
เมื่อไม่มีไฟล์การกำหนดค่าในพา ธ ชุดหนึ่งในการตั้งค่าเริ่มต้นจะถูกสร้างขึ้นที่นั่น
หากไม่มีการตั้งค่าเส้นทางของไฟล์กำหนดค่าไฟล์ต่อไปนี้จะถูกตรวจสอบ:
config.json ภายใต้ไดเรกทอรีการทำงานopensca_config.json ภายใต้ไดเรกทอรีผู้ใช้config.json ภายใต้ไดเรกทอรี opensca-cli จาก v3.0.0 url ถูกใส่ในไฟล์การกำหนดค่า ชุดเริ่มต้นไปที่ฐานข้อมูลช่องโหว่คลาวด์ของเรา ฐานข้อมูลออนไลน์อื่น ๆ ตามโครงสร้างฐานข้อมูลของเราสามารถตั้งค่าผ่านไฟล์กำหนดค่า
การใช้เวอร์ชันก่อนหน้าเพื่อเชื่อมต่อ Databse คลาวด์จะต้องมีการตั้งค่า url ซึ่งสามารถทำได้ผ่านทั้ง CMD และไฟล์การกำหนดค่า ตัวอย่าง: -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 วิธีการเขียนสำหรับการติดตั้งไดเรกทอรีปัจจุบันในเทอร์มินัลที่แตกต่างกันแตกต่างกันไปเราจะแสดงรายการทั่วไปที่นี่ FYI:
| เทอร์มินัล | 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-Available) | 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 สามารถแก้ไขปัญหาได้โดยการตั้ง config.json ฟิลด์ maven
{
"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.jsonผู้ใช้ V1.0.5 และต่ำกว่าอาจต้องแก้ไขซอร์สโค้ด เราขอแนะนำการอัพเกรดเป็นเวอร์ชันที่สูงขึ้น
สำหรับคำถามที่พบบ่อยอื่น ๆ โปรดตรวจสอบคำถามที่พบบ่อย
ปัญหายินดีต้อนรับอย่างอบอุ่น
เพิ่ม WeChat สำหรับการให้คำปรึกษาเพิ่มเติมเป็นตัวเลือก:

กลุ่ม QQ ของเรา: 832039395
กล่องจดหมาย: [email protected]
OpenSCA เป็นโครงการโอเพ่นซอร์สเราขอขอบคุณการบริจาคของคุณ!
หากต้องการมีส่วนร่วมโปรดอ่านแนวทางที่มีส่วนร่วมของเรา