Skip to main content

Consulta la información de seguridad de Snyk en GitHub code scanning

Escrito por

7 de octubre de 2020

0 minutos de lectura

Muchos usuarios de Snyk usan GitHub para alojar su código fuente. En general, esto significa que deben consultar un lugar (GitHub) para ver el código fuente y otro (Snyk) para obtener información sobre vulnerabilidades. Snyk siempre ha buscado llevar la información de seguridad donde están los desarrolladores, por ejemplo, con herramientas locales (como nuestra CLI y los complementos para IDE) y con nuestros pull requests y comprobaciones de estado de GitHub.

Con el lanzamiento de GitHub code scanning, nos alegra poder integrar aún más la información de seguridad (Snyk) en el flujo de trabajo nativo de los desarrolladores, gracias a las actualizaciones de nuestras GitHub Actions para admitir code scanning.

GitHub code scanning

Code scanning agrega una nueva función a la pestaña Security de GitHub y, desde hoy, está disponible para todos los usuarios de GitHub. Con code scanning, puedes conectar todas tus herramientas de seguridad en un solo lugar y ver todas las vulnerabilidades y los problemas de seguridad relacionados con tus repositorios.

Code scanning muestra problemas de seguridad en tus repositorios antes de que lleguen a producción. Estos pueden estar en el código fuente de la aplicación, los recursos, los archivos de configuración, etc.

Resultados del análisis de código de GitHub filtrados para mostrar vulnerabilidades abiertas de Snyk, incluidos problemas de alta gravedad en SQLite3 y de validación de entradas del sistema.
Vulnerabilidades de Snyk Container en el análisis de código de GitHub

Snyk Container y Snyk Infrastructure as Code

Hoy, tanto Snyk Container (para analizar imágenes de contenedores) como Snyk Infrastructure as Code (para detectar errores de configuración en archivos de configuración de Kubernetes y código de Terraform) son compatibles con GitHub code scanning mediante nuestras Snyk GitHub Actions actuales.

Aquí tienes un ejemplo que usa Snyk Action para analizar una imagen de Docker en busca de vulnerabilidades y luego cargar un archivo SARIF en code scanning. SARIF es un estándar abierto de OASIS que code scanning usa como formato de intercambio para los problemas de seguridad.

name: Snyk Container and GitHub Security example
on: push
jobs:
  snyk:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Build an image
      run: docker build . -t some-image       
    - name: Run Snyk to check image for vulnerabilities
      continue-on-error: true
      uses: snyk/actions/docker@master
      env:
        SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
      with:
        image: some-image
        args: --file=Dockerfile
    - uses: github/codeql-action/upload-sarif@v1
      with:
        sarif_file: snyk.sarif

Así, con solo agregar tres líneas a nuestro flujo de trabajo para usar la acción upload-sarif, podemos tomar datos de Snyk y cargarlos en GitHub.

El nuevo producto de Infrastructure as Code de Snyk también funciona con GitHub code scanning. Aquí podemos detectar errores de configuración en tus archivos JSON y YAML de Kubernetes o en tu código de Terraform, y mostrar esos problemas directamente en GitHub. El siguiente flujo de trabajo presenta un ejemplo sencillo:

name: Snyk Infrastructure as Code and GitHub Security example
on: push
jobs:
  snyk:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Run Snyk to check Kubernetes manifest file for issues
      continue-on-error: true
      uses: snyk/actions/iac@master
      env:
        SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
      with:
        file: your/kubernetes-manifest.yaml
    - uses: github/codeql-action/upload-sarif@v1
      with:
        sarif_file: snyk.sarif

Una vez que el flujo de trabajo anterior esté en funcionamiento, veremos en GitHub los errores de configuración de seguridad que detecte Snyk.

Reporte de Snyk Infrastructure as Code que muestra una configuración incorrecta de gravedad media en un Deployment de Kubernetes relacionada con las capacidades de securityContext.
Detalles sobre un problema detectado por Snyk Infrastructure as Code

Aquí puedes ver detalles sobre el problema, además del contexto de la línea que lo contiene y el commit que lo introdujo.

Actualmente, Snyk Infrastructure as Code Action solo admite archivos de configuración de Kubernetes, pero pronto lanzaremos la compatibilidad con Terraform y, más adelante, con otros formatos de configuración.

Próximos pasos

Prueba las Snyk GitHub Actions y la nueva compatibilidad con GitHub code scanning, y cuéntanos qué te parecen. Ya tenemos algunas ideas excelentes para mejorar las Actions y ampliar la compatibilidad con GitHub code scanning a todas las funciones de Snyk. No te pierdas las próximas novedades para integrar aún más la seguridad en el centro del flujo de trabajo de los desarrolladores.

Comienza con Capture the Flag

Aprende a resolver desafíos de Capture the Flag con nuestro taller virtual 101 a pedido.