Los motores de Plexicus y qué cubren
Plexicus aplica Proof-Driven AppSec: AI Swarm Pentest valida lo que es realmente explotable, Deep Code Analysis explica a qué afecta un hallazgo y Remediation prepara una corrección que tu equipo revisa y fusiona. Los motores de escaneo alimentan ese ciclo. Te dan una cobertura amplia y repetible de tu código, tus dependencias, tu configuración y tu cadena de suministro. Trata cada detección de un escáner como un candidato, no como una prueba: sin prueba reproducible, no hay hallazgo verificado.
Cada motor de Plexicus es un paquete gestionado: una capacidad que activas o desactivas como una unidad y que puede ejecutar varios escáneres por debajo. Cada hallazgo registra en su campo Herramienta el motor que lo generó, por ejemplo plexicus-sast o plexicus-iac.
El catálogo de motores
| Motor | Qué busca | Ejemplo típico |
|---|---|---|
Plexicus SAST (plexicus-sast) | Vulnerabilidades en el código, como fallos de inyección y patrones inseguros, con trazado del flujo de datos | Un handler de login que concatena el nombre de usuario en una consulta SQL |
Plexicus SCA (plexicus-sca) | Dependencias de código abierto vulnerables en los principales gestores de paquetes, cotejadas con fuentes de CVE como NVD y la base de datos GitHub Security Advisory | Un parser XML desactualizado con un CVE publicado en tu lockfile |
Plexicus Secrets (plexicus-secrets) | Credenciales, claves de API y tokens incrustados en el código, tanto en el árbol de trabajo como en todo el historial de Git, con verificación en vivo contra el servicio emisor | Una clave de acceso a la nube subida en un commit el año pasado, borrada después y que sigue en el historial |
Plexicus IaC (plexicus-iac) | Incumplimientos de políticas en Terraform, CloudFormation, Kubernetes, Helm, Ansible y plantillas ARM | Un bucket de almacenamiento declarado con acceso público de lectura |
Plexicus CI/CD (plexicus-cicd) | Errores de configuración, permisos inseguros y credenciales expuestas en definiciones de pipeline como GitHub Actions, GitLab CI y Azure Pipelines | Un workflow que concede a su token permisos de escritura sobre todo |
Plexicus Container (plexicus-container) | Errores de configuración, imágenes base inseguras y vulnerabilidades conocidas en los Dockerfiles y artefactos de contenedor del repositorio | Un Dockerfile construido sobre una imagen base desactualizada con CVE conocidos |
Plexicus License (plexicus-license) | Licencias copyleft, propietarias o desconocidas en las dependencias | Una librería copyleft dentro de un producto que distribuyes |
| Plexicus SBOM, CBOM y AIBOM | Inventarios, no hallazgos con severidad: componentes de software (CycloneDX o SPDX), activos criptográficos con su grado de preparación cuántica, y modelos de IA, datasets y model cards | Un par de claves RSA que el CBOM marca como vulnerable a ataques cuánticos |
Plexicus SCM (plexicus-scm) | Postura de la cadena de suministro y prácticas SLSA: commits firmados, procedencia de artefactos, bastionado del build | Una rama por defecto que acepta commits sin firmar |
Donde estén habilitados para tu organización, dos motores más aportan cobertura complementaria más allá del repositorio: Plexicus Registry escanea imágenes de los registros de contenedores conectados y Plexicus Cloud revisa las cuentas cloud conectadas en busca de errores de configuración y políticas IAM demasiado permisivas. Ambos alimentan el mismo modelo de hallazgos (lección 5).
En la categoría SAST hay otras dos tarjetas gestionadas por Plexicus: Plexicus AI Scan, un motor experimental basado en IA que Plexicus habilita por organización (módulo 5), y GitHub SAST, que incorpora las alertas de code scanning de GitHub. La categoría también incluye la tarjeta SARIF Import y las de los conectores comerciales (lección 3). AI Swarm Pentest no es un motor de repositorio; aparece como AI Pentest en la sección App Pentest (módulo 6).
La disponibilidad depende de tu plan
SAST, SCA, Secrets e IaC no dependen del plan. Otros motores, como Container, CI/CD, License, SCM, Registry, Cloud y AI Scan, dependen de tu plan. Si tu plan no incluye un motor, su tarjeta abre un aviso para ampliar el plan en lugar de activarse, y el backend aplica la misma regla. En los motores sujetos al plan, un administrador puede solicitar un cambio de plan en Configuración Facturación (módulo 10). AI Scan es la excepción: Plexicus lo habilita bajo petición (módulo 5).
Elegir un conjunto para tu organización y tus repositorios
Parte de lo que contienen tus repositorios. Algunos motores se pueden configurar por repositorio; otros se aplican a toda la organización (lección 2).
- Un servicio en Python o Node.js: SAST, SCA y Secrets. Añade CBOM si el código trabaja con criptografía.
- Definiciones de Terraform, CloudFormation o Helm: añade IaC.
- Definiciones de pipeline: añade CI/CD.
- Dockerfiles: Container, más License para el riesgo de licencias. Ambos se aplican a toda la organización.
- Postura de la cadena de suministro: SCM, también a nivel de organización.
- Evidencia de inventario: SBOM, CBOM y AIBOM. El módulo 8 explica cómo alimentan el XBOM.
Configurar los escaneos
La organización define los motores predeterminados y cada repositorio puede cambiar algunos de ellos. Primero deja bien ajustados los valores predeterminados y, después, personaliza solo los repositorios que de verdad sean distintos.
Valores predeterminados de la organización en la página Conectores
La página Conectores cataloga los motores de escaneo y los conectores de herramientas por categoría, desde SAST, SCA y Secrets / PII Scan hasta CI/CD Posture, License y SCM Security. Abre /connector en tu host de Plexicus para llegar a ella; los inventarios XBOM vacíos también enlazan con ella mediante Ir a Conectores. El control de versiones, los registros, las cuentas cloud y la gestión de tickets se conectan por separado en Configuración Integraciones .
Abre la tarjeta de un motor para ver su panel de configuración:
| Pestaña | Qué hace |
|---|---|
| Tool | El interruptor Habilitar activa o desactiva el motor para toda la organización. Solo a nivel de organización. |
| Severity | Elige qué severidades conserva Plexicus para este motor. El valor predeterminado es Medium, High & Critical. |
| Advanced Options | Parámetros específicos del motor; solo aparece en los motores que los tienen. Haz clic en Save para conservar los cambios. |
Los cambios se aplican a los escaneos futuros.
Personalización por repositorio
Para cambiar los motores de un solo repositorio, abre Activos Repo Scan Configurar (el icono de engranaje de la fila del repositorio). El panel solo muestra las categorías que puedes configurar por repositorio, como SAST, SCA, Secrets, IaC, CI/CD y los motores de listas de materiales. Container, License y SCM se eligen para toda la organización en la página Conectores.
Si un repositorio no tiene una selección propia, el panel se abre con la selección actual de tu organización y muestra lo que está en “Habilitadas para este repositorio”. Al guardar, esa lista se convierte en una copia explícita para el repositorio, y los cambios posteriores en los valores predeterminados de la organización ya no le llegan. La consola no tiene botón para restablecerla; para volver a la selección de la organización hay que usar la API REST (módulo 9).
- Usa el interruptor de la tarjeta de un motor para habilitarlo o deshabilitarlo en este repositorio. Un aviso lo confirma, por ejemplo “Plexicus IaC tool enabled for this repository”.
- Los conectores que necesitan credenciales abren primero su configuración; el interruptor solo se queda activado cuando el conector está configurado.
- En la consola, la ventana de detalle del motor muestra aquí solo las pestañas Severity y Advanced Options, y los cambios que hagas en ellas se aplican a toda la organización. La API REST también permite definir parámetros por repositorio y un filtro de severidad para un único motor.
Cuando añades repositorios en Gestionar repositorios, Lanzar escanea cada uno con la selección de motores predeterminada de tu organización. Opciones avanzadas, en cambio, abre “Configurar herramientas para el repositorio”, donde eliges los motores de cada repositorio antes de lanzar el escaneo.
El filtro de severidad y las rutas excluidas
La pestaña Severity define qué severidades conserva Plexicus para ese motor. Los resultados que quedan fuera de la selección se descartan después del escaneo y nunca llegan a ser hallazgos, así que no puedes recuperarlos más tarde. El valor predeterminado, Medium, High & Critical, implica que los resultados Low e Informational no se notifican en ningún motor salvo que los añadas. Para ver los resultados Low, añade Low y vuelve a lanzar el escaneo. Los motores de listas de materiales generan inventarios e ignoran este ajuste.
Las rutas excluidas no tienen ningún campo en la consola. Son parámetros del paquete que se definen mediante los endpoints de configuración de herramientas de la API REST (módulo 9), y los admiten la mayoría de los motores de código, salvo Secrets, SCM, AIBOM y CBOM.
Opciones avanzadas
Algunas opciones específicas de cada motor que vas a usar:
- SAST:
baseline_commitsolo notifica los problemas nuevos desde un commit concreto;exclude_ruledesactiva una regla ruidosa. - SCA:
fail_oncontrola el bloqueo mediante el código de salida;only_fixedconserva solo los CVE que tienen corrección. - Secrets:
redactoculta los valores de los secretos en la salida;include_detectorsyexclude_detectorseligen los detectores. - IaC:
skip_checkyskip_frameworkdescartan comprobaciones o frameworks completos;soft_failnotifica los resultados sin hacer fallar la ejecución. La tarjeta de Plexicus CI/CD no tiene pestaña Advanced Options.
El interruptor Escaneo Autónomo para los escaneos de pull requests está en Configuración Platform (lección 4).
Incorporar otros resultados
Muchos equipos ya usan otros escáneres o reciben informes de testers externos. No tienes que elegir entre ellos y Plexicus. Importa su salida y entrará en la misma cola, con el mismo enriquecimiento y la misma deduplicación que los hallazgos nativos.
Importar escaneo
La vía más directa es Hallazgos Repo Importar escaneo . El botón solo está en la pestaña Repo.
- Seleccionar repositorio: el repositorio de Plexicus al que pertenecen los resultados.
- Seleccionar herramienta: SARIF genérico o el formato de exportación de una de las herramientas comerciales de SAST, SCA o pruebas dinámicas compatibles; la lista indica cuáles.
- Seleccionar archivo: el informe que generó tu herramienta.
- Haz clic en Subir.
Cuando se acepta la subida, verás “Datos cargados correctamente”. A partir de ahí, los resultados se procesan como cualquier otro escaneo.
Importación de SARIF 2.1.0
Plexicus acepta SARIF 2.1.0 de cualquier analizador compatible, ya sea con Importar escaneo o con la tarjeta SARIF Import de la categoría SAST en la página Conectores. La severidad se resuelve en este orden:
| Dato SARIF | Severidad en Plexicus |
|---|---|
security-severity de la regla igual o superior a 9,0 | Crítico |
security-severity igual o superior a 7,0 e inferior a 9,0 | Alto |
security-severity igual o superior a 4,0 e inferior a 7,0 | Medio |
security-severity inferior a 4,0 | Bajo |
Sin security-severity: nivel del resultado error | Alto |
Nivel del resultado warning | Medio |
Nivel del resultado note o none | Bajo |
| Tampoco hay nivel del resultado | El nivel predeterminado de la regla, con la misma correspondencia; Bajo si la regla no tiene ninguno |
Los identificadores CWE se leen de etiquetas como external/cwe/cwe-89, que después determinan la correspondencia con OWASP (lección 5). Plexicus elimina el prefijo file:// y la barra inicial de cada ubicación, así que genera el SARIF con rutas relativas a la raíz del repositorio. Si no, el archivo y la línea no coincidirán con tu código.
Conectores de escáneres comerciales
La página Conectores también incluye escáneres comerciales. Algunos obtienen los resultados a través de la API del proveedor cuando introduces sus credenciales en la tarjeta. Otros reciben un archivo exportado, igual que Importar escaneo. La tarjeta GitHub SAST incorpora las alertas de code scanning de GitHub. La salida de pruebas dinámicas de una herramienta de terceros es independiente de AI Swarm Pentest. Algunos conectores solo están disponibles en determinados planes; contacta con Plexicus para habilitar uno.
Subidas desde CI
La API de Plexicus ofrece una operación Upload Scan Results que ingiere resultados generados externamente para un repositorio. Un pipeline puede llamarla con un token de API personal después de ejecutar sus propios escáneres; el módulo 9 trata los tokens y la API REST.
Ejecutar escaneos desde CI/CD
Plexalyzer es el escáner de Plexicus. En CI se ejecuta dentro de tu pipeline y envía los resultados a tu organización de Plexicus, donde aparecen en el Panel de control y en Hallazgos como cualquier otro escaneo. Tienes tres formas de configurarlo.
Plexicus no lanza un escaneo por sí solo en cada push. Los escaneos nuevos proceden de tu pipeline de CI (incluidos los escaneos de pull requests), de añadir un repositorio, de Reintentar escaneo en el Centro de Actividad o de Re-escanear. Para escanear un repositorio a medida que cambia su código, configura el pipeline para él.
El token de Plexalyzer
Cada ejecución de Plexalyzer se autentica con el token de Plexalyzer de la organización, también llamado token del escáner de CI/CD. Los administradores lo gestionan en Configuración Token de Plexalyzer . En algunas versiones, el mismo token aparece como la sección del token del escáner de CI/CD dentro de Configuración Tokens de API . Puedes crear un token indicando un Token Name y, si quieres, una Expired Date, además de copiarlo y eliminarlo. El token con la etiqueta Default no se puede eliminar mientras existan otros tokens. Eliminar un token rompe todos los pipelines que todavía lo usan.
Este token pertenece a la organización y solo lo usa el escáner Plexalyzer, no las llamadas generales a la API. Los tokens de API personales para scripts y para el servidor MCP, y el token de la CLI, son distintos (módulo 9).
Configurar Pipeline desde Activos
La vía más rápida empieza en Activos Repo Scan . La columna Pipeline ofrece Configurar Pipeline para repositorios de GitHub, GitLab, Gitea, Forgejo y Bitbucket Cloud; el resto de proveedores muestra No Disponible.
- Haz clic en Configurar Pipeline y confirma.
- Plexicus abre un pull request en tu repositorio que añade el workflow de Plexalyzer. En GitHub es
.github/workflows/plexalyzer-scan.yml, y Plexicus guarda el token como el secreto de repositorioPLEXALYZER_TOKEN. - La columna muestra Pipeline Pendiente hasta que se acepta el pull request y, después, Pipeline Configurado.
No se ejecuta nada en tu CI hasta que alguien de tu equipo revisa y fusiona ese pull request. Tu equipo conserva el control de la fusión.
La GitHub Action de Plexicus, a mano
Si escribes el workflow tú mismo, usa la acción oficial plexicus/plexicus-action (que en la web de Plexicus aparece como Plexalyzer Action). Ejecuta el escáner en tu workflow y puede publicar los hallazgos en el pull request.
- Copia el token de Plexalyzer desde Plexicus.
- En GitHub, añade un secreto de repositorio llamado
PLEXALYZER_TOKENen la sección Secrets and variables, Actions, del repositorio. - Añade la variable de repositorio con el ID de tu repositorio en Plexicus, como se describe en el README de la acción.
- Pasa el secreto a la entrada
plexalyzer-token, junto conrepo-id,repo-name,branch,url,pr-idyworkspace-path.
Si tu organización activa Escaneo Autónomo en Configuración Platform , cuando el pipeline completa un escaneo de pull request se publica un comentario “Analysis Results” en el pull request (o “No issues found”), siempre que tu proveedor de control de versiones admita comentarios en pull requests. Después, Plexicus genera correcciones con IA para esos hallazgos y abre un único pull request combinado, titulado “Multiple security fixes”, desde una nueva rama Plexicus-AI-Remediation-. Nunca lo fusiona; tu equipo lo revisa como cualquier otro pull request.
Jenkins
La integración con Jenkins ejecuta la imagen Docker de la CLI de Plexalyzer, así que el agente de build necesita Docker. Añade el token como credencial de Jenkins de tipo Secret text con el ID exacto plexalyzer-token. Copia Jenkinsfile, .plexalyzer/jenkins-plexalyzer-cli.groovy y .plexalyzer/custom_config.yml del repositorio plexicus/jenkins-cli-pipeline y, después, crea un job de tipo Pipeline que use Pipeline script from SCM.
Elige los motores en custom_config.yml con los nombres de paquete:
# .plexalyzer/custom_config.yml
excluded_tools:
- plexicus-iac # este repositorio no tiene código de infraestructura
- plexicus-cicd
Usa included_tools en su lugar para limitar un escaneo a un conjunto fijo. Parámetros de build útiles:
| Parámetro | Para qué sirve |
|---|---|
PROJECT_NAME, BRANCH_NAME | Nombre del repositorio y etiqueta de rama que se muestran en Plexicus |
REPOSITORY_ID | ID de un repositorio existente; déjalo vacío en el primer escaneo |
OUTPUT_FORMAT | pretty, json o sarif; JSON y SARIF también se archivan como artefactos del build |
ONLY_GIT_CHANGES | Escanea solo los archivos modificados en el último commit; necesita una profundidad de checkout de 2 o más |
PLEXICUS_URL | Tu URL base de Plexicus, para despliegues autoalojados |
El código de salida 0 significa que no hay hallazgos y el 1, que se detectaron hallazgos. En ambos casos el build se marca como Success, así que por defecto los hallazgos nunca bloquean la entrega. El código de salida 500 indica un error fatal, como un token rechazado o un backend inaccesible. Para que el build falle cuando haya hallazgos, edita handleExitCode() en el script del pipeline y haz que case 1 establezca el resultado del build en FAILURE.
Un único modelo de hallazgos
Sea cual sea el origen (un motor de Plexicus, una ejecución de CI, Importar escaneo, un conector, un registro o una cuenta cloud), cada resultado termina en un modelo de hallazgos común, de modo que puedes filtrar, priorizar y generar informes de todos ellos a la vez.
Normalización
Un procesador específico para cada herramienta lee la salida en bruto de cada escáner (JSON, SARIF, CSV o XML) y la escribe en el esquema común: herramienta, ID de regla, título, descripción, archivo, línea y columnas, CWE y una severidad en cinco niveles: Crítico, Alto, Medio, Bajo e Informacional. El Centro de Actividad lo muestra como “Procesando resultados” (“Normalizando e ingiriendo hallazgos”), luego Completado y después “Enriquecido” (“Análisis de IA y priorización aplicados”). En una ejecución marcada como Parcial fallaron algunas herramientas. Sus hallazgos son reales, pero la cobertura está incompleta; usa Reintentar escaneo en el Centro de Actividad para volver a escanear sin perder tus hallazgos (módulo 2).
Cada hallazgo recibe además un tipo derivado de su motor, como SAST, SCA, Secrets, License, Configuration o Cryptography. Los hallazgos de Container se clasifican como SCA cuando tienen un CVE o un paquete, y como Configuration en caso contrario. Los resultados importados como SARIF se clasifican como SAST.
Enriquecimiento
| Campo | Qué añade |
|---|---|
| CWE y OWASP | Los hallazgos con CWE se mapean a una categoría del OWASP Top 10 con una breve justificación, por ejemplo CWE-89 en A03 Injection. Los hallazgos también se mapean al OWASP CI/CD Top 10 y a los marcos de cumplimiento que tengas habilitados. |
| CVE y EPSS | EPSS, la probabilidad de que un CVE se explote en entornos reales, solo se rellena en los hallazgos con CVE. El resto muestra Sin datos. |
| CVSS | Puntuación y vector de CVSS v3 y v4, disponibles como columnas de la tabla. |
| Prioridad y más | Una puntuación de prioridad de 0 a 100, el lenguaje y el tipo de remediación. El módulo 4 explica la prioridad y la alcanzabilidad. |
SARIF 2.1.0 es también el formato de exportación de los hallazgos; el módulo 8 trata las exportaciones y lo que incluyen.
Deduplicación
Un hallazgo nuevo se marca como Duplicado de otro anterior del mismo repositorio cuando está en el mismo archivo y la misma línea y, además, comparte CVE y CWE (hallazgos de dependencias) o tiene el mismo tipo de hallazgo (hallazgos de código sin CVE). El hallazgo que se conserva hereda la severidad y el CVSS más graves de sus duplicados, así que la deduplicación nunca subestima el riesgo.
Subhallazgos
Los hallazgos de dependencias con la misma librería, versión y CVE en la misma ubicación se agrupan como subhallazgos bajo un hallazgo principal. La vista de detalle de un subhallazgo muestra Ir al hallazgo padre en lugar de su propio botón de remediación. Por defecto, la lista de hallazgos oculta los duplicados, los subhallazgos, los falsos positivos, los hallazgos eliminados y los que aún se están enriqueciendo (módulo 4); los totales del Panel de control se tratan en el módulo 2.
Registros y cuentas cloud como fuentes complementarias
Según tu plan y los proveedores habilitados para tu organización, los registros y las cuentas cloud aportan una cobertura complementaria que llega al mismo modelo de hallazgos. Los registros de contenedores se conectan en Configuración Integraciones Registry : Docker Hub, JFrog Artifactory, Amazon ECR, Google GCR, Google GAR, Azure ACR, GitHub GHCR, GitLab Container Registry y Quay.io. Introduce las credenciales en la pestaña Setup y haz clic en Connect; Plexicus prueba la conexión antes de guardarla. En la pestaña List, usa Descubrir imágenes y después Escanear imágenes. A partir de ahí, Plexicus vuelve a sincronizar cada registro conectado una vez al día, así que usa estos botones solo cuando necesites una actualización inmediata. Las imágenes cuyo Ciclo de vida es Antigua generan un hallazgo “Outdated registry image” de severidad media. Usa Vincular a repo con la ruta de un Dockerfile para asociar una imagen a su código fuente, lo que habilita Remediar en el repo. Los resultados aparecen en la pestaña Registry de Hallazgos.
Las cuentas cloud se añaden en Configuración Integraciones Cloud Deployment , que muestra los proveedores cloud compatibles, como AWS, Azure y Google Cloud Platform. Al guardar una se crea un activo en Activos Cloud Assessment ; Escanear ahora ejecuta el escaneo, y los resultados aparecen en la pestaña Cloud con los filtros Proveedor, Región y Recurso. Los hallazgos de cloud y de SCM nunca ofrecen remediación con IA, porque no hay ningún archivo del repositorio que parchear.
Puntos clave
- Los motores son paquetes gestionados. Define los valores predeterminados de la organización en la página Conectores y personaliza por repositorio con Configurar los motores SAST, SCA, Secrets, IaC, CI/CD y de listas de materiales; Container, License y SCM se mantienen a nivel de organización.
- Guardar una selección por repositorio ejecuta Re-escanear, que borra los hallazgos de ese repositorio, y los cambios en Severity y Advanced Options desde la consola se aplican a toda la organización.
- El filtro de severidad descarta resultados después del escaneo, así que por defecto no se notifican resultados Low ni Informational en ningún motor; los escaneos de código ya omiten las rutas habituales de pruebas y documentación, salvo en la detección de secretos.
- Importar escaneo, la importación de SARIF 2.1.0 y los conectores comerciales incorporan resultados externos al mismo modelo, como candidatos que siguen necesitando una prueba.
- En CI, cada ejecución de Plexalyzer se autentica con el token de Plexalyzer de la organización; Configurar Pipeline abre un pull request que revisa tu equipo, y los builds de Jenkins pasan aunque haya hallazgos salvo que cambies
handleExitCode(). - Cada resultado, sea cual sea su origen, se normaliza, se enriquece con CWE, OWASP, CVE, EPSS y CVSS, se deduplica conservando la severidad más grave y se agrupa en subhallazgos.
Prueba de conocimientos
Comprueba lo que has aprendido
Preguntas de práctica de este módulo. No cuentan para la certificación. Para aprobar: 4 respuestas correctas.