
اللغة الإنجليزية | 中文
يهدف 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 |
قم بتنزيل الملف القابل للتنفيذ المناسب وفقًا لهندسة النظام الخاصة بك من الإصدارات.
أو قم بتنزيل رمز المصدر وتجميعه ( 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 مشروع SaaS لمزامنة تقرير مع Opensca SaaS | -proj xxx |
من V3.0.0 ، بصرف النظر عن هذه المعلمات المتاحة لـ CMD/CRT ، هناك أيضًا آخرون لمتطلبات مختلفة يجب تعيينها في ملف التكوين.
يمكن العثور على مقدمة كاملة حول كل معلمات في config.json
يتيح V3.0.2 وما فوق Opensca-Cli تقارير SNYC مع Opensca SaaS (عبر proj ) ، بحيث يمكن إدارة جميع تقارير المشاريع المتعددة معًا.
إذا تعارضت معلمة التكوين مع معلمة إدخال سطر الأوامر ، فسيتم أخذ الأخير.
عندما لا يكون هناك ملف تكوين في مسار SET ، سيتم إنشاء واحد في الإعدادات الافتراضية هناك.
إذا لم يتم ضبط ملف مسار التكوين ، فسيتم التحقق من ما يلي:
config.json ضمن دليل العملopensca_config.json ضمن دليل المستخدمconfig.json ضمن دليل opensca-cli من v3.0.0 ، تم وضع url في ملف التكوين. تنتقل المجموعة الافتراضية إلى قاعدة بيانات الضعف السحابية لدينا. يمكن أيضًا تعيين قاعدة بيانات أخرى عبر الإنترنت وفقًا لهيكل قاعدة البيانات الخاص بنا من خلال ملف التكوين.
سيظل استخدام الإصدارات السابقة لتوصيل قاعدة البيانات السحابية بحاجة إلى إعداد 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 . تختلف طريقة الكتابة لتركيب الدليل الحالي على محطات مختلفة ، ونحن ندرج تلك الشائعة هنا لمعلوماتك:
| صالة | ذوي عدد كبير من الأشخاص |
|---|---|
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 | الشركة المصنعة للمكون | ن |
product | اسم المكون | ذ |
version | إصدارات المكون المتأثر بالضعف | ذ |
language | لغة البرمجة للمكون | ذ |
name | اسم الضعف | ن |
id | معرف مخصص | ذ |
cve_id | معرف CVE | ن |
cnnvd_id | معرف CNNVD | ن |
cnvd_id | معرف CNVD | ن |
cwe_id | معرف CWE | ن |
description | وصف الضعف | ن |
description_en | وصف الضعف في اللغة الإنجليزية | ن |
suggestion | اقتراح إصلاح الضعف | ن |
attack_type | نوع الهجوم | ن |
release_date | تاريخ إطلاق الضعف | ن |
security_level_id | مستوى أمان الضعف (يتناقص من 1 إلى 4) | ن |
exploit_level_id | مستوى استغلال الضعف (0-N/A 1 متاح) | ن |
*هناك العديد من القيم المحددة مسبقًا لحقل "اللغة" ، بما في ذلك 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 كنسخة احتياطية لمستودع 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.jsonقد يتعين على مستخدمي V1.0.5 وما يليه تعديل الكود المصدري. نوصي بترقية إلى إصدارات أعلى.
لمزيد من الأسئلة الشائعة الأخرى ، يرجى التحقق من الأسئلة الشائعة.
القضايا موضع ترحيب بحرارة.
إضافة WeChat لمزيد من الاستشارات هو أيضا خيار:

مجموعة QQ لدينا: 832039395
صندوق البريد: [email protected]
Opensca هو مشروع مفتوح المصدر ، ونحن نقدر مساهمتك!
للمساهمة ، يرجى قراءة إرشاداتنا المساهمة.