
Английский | 中文
Opensca предназначен для сканирования сторонних зависимостей, уязвимостей и лицензий.
Наш веб -сайт: https://opensca.xmirror.cn
Нажмите Star , чтобы оставить поддержку.
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 | SaaS 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 был помещен в файл конфигурации. Набор по умолчанию переходит в нашу базу данных уязвимости облака. Другая онлайн -база данных в соответствии со структурой нашей базы данных также может быть установлена через файл конфигурации.
Использование предыдущих версий для подключения базы данных Cloud по -прежнему потребуется настройка 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 . Метод написания монтажа текущего каталога на разных терминалах варьируется, мы перечисляем здесь общие к вашему квалификации:
| Терминал | 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 | производитель компонента | Не |
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-Н/А 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 Mirror в качестве резервной копии официального репозитория 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 - это проект с открытым исходным кодом, мы ценим ваш вклад!
Чтобы внести свой вклад, пожалуйста, прочитайте наше руководящее руководство.