Herramienta de análisis de componentes de código abierto Tutorial de OpenSCA

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:

Supongo que te gusta

Origin blog.csdn.net/m0_65355570/article/details/125803273
Recomendado
Clasificación