onboarding

View project on GitHub

Revisión de vulnerabilidades

Para ello, en este flujo se ocupa la imagen anchore/scan-action, que ejecuta grype. Esta solución permite de manera rápida identificar vulerabilidades en las imágenes, no solo en el sistema operativo, si no en los paquetes del aplicativo.

Cómo leer los resultados

Una vez hecho el push, debemos ir a la página web del repositorio, a partir de allí se debe hacer click en Actions y seleccionar la ejecución que querramos revisar. Nos carga una pantalla, en donde debemos hacer click en Deploy, y luego en Run anchore/scan-actions@v2 . En el log aparecerá “matches”

Por ejemplo:

    {
    "matches": [
      {
      "vulnerability": {
        "id": "CVE-2020-7774",
        "severity": "High",
        "links": [
        "https://github.com/yargs/y18n/issues/96",
        "https://github.com/yargs/y18n/pull/108",
        "https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1038306",
        "https://snyk.io/vuln/SNYK-JS-Y18N-1021887"
        ],
        "description": "This affects the package y18n before 3.2.2, 4.0.1 and 5.0.5. PoC by po6ix: const y18n = require('y18n')(); y18n.setLocale('__proto__'); y18n.updateLocale({polluted: true}); console.log(polluted); // true",
        "cvssV2": {
        "baseScore": 7.5,
        "exploitabilityScore": 10,
        "impactScore": 6.4,
        "vector": "AV:N/AC:L/Au:N/C:P/I:P/A:P"
        },
        "cvssV3": {
        "baseScore": 7.3,
        "exploitabilityScore": 3.9,
        "impactScore": 3.4,
        "vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"
        }
      },
      "matchDetails": {
        "matcher": "javascript-matcher",
        "searchKey": {
        "cpe": "cpe:2.3:a:*:y18n:4.0.0:*:*:*:*:node.js:*:*"
        },
        "matchedOn": {
        "constraint": "< 4.0.1 || >= 5.0.0, < 5.0.5 (unknown)",
        "cpes": [
          "cpe:2.3:a:y18n_project:y18n:*:*:*:*:*:node.js:*:*"
        ]
        }
    _ ... reporte cortado ..._

En el campo descripción nos dice cuál es el paquete ofensor. También nos da links con mayor información sobre la vulnerabilidad, en donde podemos ver cuál es la versión que corrige esta vulnerabilidad.

La solución a las vulnerabilidades normalmente se aplican mediante la actualización a una verión superior. En otros casos, implica una remediación mediante código en la aplicación.

Revisión de secretos expuestos

Cómo leer los resultados

Una ejecución de trufflehog devuelve un reporte, como por ejemplo:

~~~~~~~~~~~~~~~~~~~~
Reason: Password in URL
Date: 2018-08-04 07:48:37
Hash: 0c32b0acc95b032ddc6e3b904c39c982e29590c6
Filepath: tests/test_http.py
Branch: origin/unstable
Commit: Test against local HTTP server

test_server = 'http://user:password@192.168.0.1:3128'
~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~
Reason: AWS API Key
Date: 2017-12-04 18:18:06
Hash: ef0f961e794f8ef443f20c796d97241a334358b9
Filepath: deploy.sh
Branch: origin/unstable
Commit:
 Add deploy script

AKIAAAAAAAAFAWAYABAA
~~~~~~~~~~~~~~~~~~~~~

En resultados vemos que se imprime una razón, información del commit con el secreto (hash identificador del commit, el fecha, rama, comentario) e información del archivo (nombre y texto potencialmente peligroso).

Home Flujo Seguridad VTEX Polymates