Herramienta de análisis de componentes de código abierto OpenSCA
Descripción del programa
OpenSCA es una herramienta de análisis de componentes de software de código abierto que se utiliza para escanear las dependencias de componentes de terceros y la información de vulnerabilidad de los proyectos.
Como la versión de código abierto del producto de control de amenazas de código abierto Yuanjian OSS (se abre en una ventana nueva) bajo Xuanjing Security, OpenSCA hereda las capacidades principales de la detección de defectos de seguridad de aplicaciones de código abierto SCA de fuente múltiple de Yuanjian OSS, etc., a través del análisis de componentes de software, dependencia análisis y análisis de características. , Identificación de citas, análisis de cumplimiento y otros métodos, profundice en varias vulnerabilidades de seguridad y riesgos de protocolo de código abierto ocultos en los componentes, y garantice la seguridad de los componentes de código abierto de la aplicación introducidos. Dirección oficial: https://opensca.xmirror.cn/
Escenario de aplicación
desarrollo de seguridad
- OpenSCA es un complemento de detección de riesgos de código abierto IDE de código abierto que ayuda a los desarrolladores individuales/empresariales a localizar y corregir vulnerabilidades rápidamente.
- Instalación de umbral cero fácil de usar, liviana y de bajo costo
- Motor central SCA de nivel empresarial, compatible con el desarrollo secundario
Prueba de seguridad
- Pruebas de seguridad de componentes de productos de código abierto de terceros
- Mejore la seguridad de los productos de software y evite que las aplicaciones entren en línea con enfermedades
administración de Seguridad
- Acceso seguro a componentes de terceros y software de proveedores
- Establecimiento de la biblioteca de componentes de seguridad interna de la empresa
- Combinación de inventario visual de activos de software o componentes
- Revisión de Cumplimiento del Departamento de Seguridad y Trabajo Relacionado de Gobernanza de Código Abierto
dirección del proyecto
https://gitee.com/XmirrorSecurity/OpenSCA-cli
Descargar e instalar
Método 1:
Descarga el código fuente de opensca al local
clon de git https://gitee.com/XmirrorSecurity/OpenSCA-cli.git opensca
Si está instalado en un sistema Windows y requiere git seguro:
https://git-scm.com/download/win
Después de la instalación, ingrese el comando en gitbash:
cd opensca
go work init cli Analyzer util
go env -w GOPROXY= https://goproxy.cn
go build -o opensca-cli cli/main.go
Método 2:
O visite la dirección del proyecto para descargar la última versión del paquete de compresión del programa ejecutable correspondiente a la arquitectura del sistema:
https://gitee.com/XmirrorSecurity/OpenSCA-cli/
Dirección de descarga: https://golang.google.cn/dl/ , al local
Instalación de estilo tonto, la ruta de instalación predeterminada es la unidad C, puede modificar la instalación a otras rutas y continuar con el siguiente paso hasta que se complete la instalación
Después de que la instalación sea exitosa, abra cmd e ingrese el comando ir a la versión
Configurar variables de entorno (este equipo - configuración avanzada del sistema - variables de entorno - variables del sistema)
Luego abra CMD en la carpeta del proyecto:
ir a trabajar init cli Analyzer util
ir env -w GOPROXY= https://goproxy.cn
ir a compilar -o opensca-cli cli/main.go
detección
La herramienta opensca-cli debe estar asociada con la biblioteca de vulnerabilidades para tener datos de detección de vulnerabilidades de componentes. Proporciona dos métodos de asociación de la biblioteca de vulnerabilidades de la plataforma en la nube y la biblioteca de vulnerabilidades fuera de línea para satisfacer las necesidades de uso en línea y fuera de línea de los usuarios.
Biblioteca de vulnerabilidades de la plataforma en la nube: puede asociar los últimos datos de vulnerabilidad y cargar la información del componente analizada localmente (excluyendo la información del código) a la plataforma en la nube OpenSCA;
Base de datos de vulnerabilidades sin conexión: debe preparar su propia información de la base de datos de vulnerabilidades de acuerdo con el formato de la base de datos de vulnerabilidades proporcionado por OpenSCA, y puede completar la detección de vulnerabilidades de componentes sin transferir la información de componentes analizada a la plataforma en la nube de OpenSCA.
Detección en línea de la nube
(1) Generar token
Visite el sitio web oficial de OpenSCA ( opensca.xmirror.cn ) para iniciar sesión o registrarse para ingresar a la plataforma en la nube de OpenSCA;
Elige un tiempo, puedes alargar un poco para copiar la contraseña
(2) Detectar paquetes de aplicaciones o proyectos
De acuerdo con los diferentes entornos del sistema operativo, ejecute los siguientes comandos en la herramienta de línea de comandos:
Nota: ${}{} se reemplaza con el valor real del parámetro, no es necesario traer ${}
Mac OS/Linux
opensca-cli -url https://opensca.xmirror.cn -token ${token} -path ${project_path} -out output.json
ventanas
opensca-cli.exe -url https://opensca.xmirror.cn -token ${token} -path ${project_path} -out output.json
Yo uso Windows para demostrar:
Primero descargue un componente vulnerable:
https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.80/
Abre cmd en la carpeta opensca. Ejecute el siguiente comando:
opensca-cli.exe -url https://opensca.xmirror.cn -token 097ead7e-f7b1-425c-82f7-d5df9813537a -path fastjson-1.2.80.jar -out output.json
Otras muestras de prueba:
Solo detecte la información del componente
opensca-cli -path ${project_path}
para conectarse a la plataforma en la nube
opensca-cli -url ${url} -token ${token} -path ${project_path}
o use la biblioteca de vulnerabilidades local
opensca-cli - db db.json -ruta ${ruta_del_proyecto}
Descripción de parámetros
Ver resultados
Los resultados de la detección de componentes se guardarán en el archivo output.json en el directorio donde se encuentra opensca-cli.
Para ver el formato json, primero puede ir al sitio web para convertir https://www.sojson.com/
Ejemplo: (Mis propios resultados de escaneo)
{
"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
}]
}
Agregar detección de complementos en IDE:
Complemento para agregar enlace de referencia:
https://opensca.xmirror.cn/docs/v1/plugin.html#%E6%8F%92%E4%BB%B6%E5%8A%9F%E8%83%BD
Abra el paquete: