Prueba de Práctica de GitHub Advanced Security
### ¿Qué es CodeQL?
> https://codeql.github.com/
1. [x] Una herramienta de análisis de código
1. [ ] Un lenguaje de programación
1. [ ] Un editor de texto
1. [ ] Un sistema de control de versiones
### ¿Qué significa `shifting left` en el contexto de la seguridad?
> https://github.com/readme/guides/github-advanced-security-telus
1. [x] Adoptar prácticas de seguridad temprano en el ciclo de desarrollo
1. [ ] Escribir código en un lenguaje que se utiliza comúnmente
1. [ ] Incorporar prácticas de seguridad justo antes de llegar a producción
1. [ ] Escribir código sin preocuparse por la seguridad
### ¿Qué son los Repository Security Advisories?
> https://docs.github.com/en/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories
1. [x] Un espacio privado donde los mantenedores de repositorios pueden discutir vulnerabilidades y problemas de seguridad dentro del código.
1. [ ] Expertos en seguridad de GitHub que ayudan a los usuarios de GitHub Enterprise con sus problemas de seguridad.
1. [ ] Una lista de problemas de seguridad que está disponible públicamente para que cualquiera los vea y se mantenga alejado de ellos.
1. [ ] Es un lugar para reunir y discutir públicamente problemas de seguridad en la comunidad de código abierto.
### ¿Qué herramienta te ayuda a mantener actualizadas las dependencias del repository?
> https://docs.github.com/en/code-security/dependabot
1. [x] Dependabot
1. [ ] Security Advisories
1. [ ] CodeQL
1. [ ] GitHub Actions
### ¿Cuál de los siguientes es una lista seleccionada de vulnerabilidades de seguridad encontradas en proyectos de código abierto?
> https://docs.github.com/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database
1. [x] GitHub Advisory Database
1. [ ] CodeQL
1. [ ] Dependabot
1. [ ] GitHub Security Journal
### ¿Cuál de estas características de seguridad de GitHub están disponibles de forma GRATUITA para repositorios personales públicos y privados? (Elige cuatro.)
> https://docs.github.com/en/code-security/getting-started/github-security-features
- [x] Security Policy
- [x] Security advisories
- [x] Dependabot alerts and security updates
- [x] Dependabot version updates
- [ ] Dependabot code scanning
> Dependabot no es una herramienta para el análisis de código, es una herramienta para la gestión de dependencias.
- [ ] Dependabot secret scanning
> Dependabot no es una herramienta para el escaneo de secretos, es una herramienta para la gestión de dependencias.
- [ ] Secret scanning
> El escaneo de secretos está disponible para repositorios públicos y para organizaciones con una licencia de GitHub Advanced Security. No está disponible para repositorios personales privados.
- [ ] Code scanning
> El análisis de código está disponible para repositorios públicos y para organizaciones con una licencia de GitHub Advanced Security. No está disponible para repositorios personales privados.
### ¿Cuál de estas opciones describe mejor el escaneo de secretos?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
1. [x] El escaneo de secretos escanea tu repositorio en busca de secretos como claves privadas o tokens.
1. [ ] El escaneo de secretos escanea tu repositorio en busca de posibles vulnerabilidades de código que podrían exponer secretos como claves privadas o tokens.
1. [ ] El escaneo de secretos es una herramienta para el almacenamiento y gestión segura de secretos.
1. [ ] El escaneo de secretos es un gancho de git que escanea tus commits en busca de secretos como claves privadas o tokens antes de que se suban a GitHub.
### ¿Qué partes del repositorio son escaneadas por secret scanning? (Elige dos).
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning
- [x] Todo el historial de git en todas las ramas del repositorio
- [x] Títulos, descripciones y comentarios en issues históricos abiertos y cerrados
- [ ] GitHub Repository secrets
> https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository
- [ ] GitHub Environment secrets
> https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-an-environment
- [ ] Todo el historial de git en todas las ramas protegidas del repositorio
### ¿Cuál es el propósito del programa de socios de escaneo de secretos?
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-partner-program
1. [x] Los proveedores de servicios pueden asociarse con GitHub para que el formato de sus secretos pueda ser reconocido por el escaneo de secretos de GitHub.
1. [ ] El programa de socios de GitHub permite a empresas y organizaciones con licencia de GitHub Advanced Security utilizar el escaneo de secretos de GitHub para escanear sus repositorios.
1. [ ] GitHub se asocia con empresas de seguridad externas para proporcionar escaneo de secretos para los repositorios de GitHub.
1. [ ] Es un programa donde los profesionales de seguridad registrados pueden, de buena fe, informar a GitHub sobre cualquier secreto que encuentren en los repositorios de GitHub y recibir recompensas por ello.
### Los repositorios públicos de usuarios personales, así como los repositorios públicos pertenecientes a organizaciones, pueden utilizar el escaneo de secretos de forma gratuita.
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning
1. [x] Verdadero
1. [ ] Falso
### ¿Cómo puedes evitar que se realicen commits con credenciales de proveedores de la nube en GitHub?
> https://docs.github.com/en/code-security/secret-scanning/push-protection-for-repositories-and-organizations
1. [x] Habilita una regla de protección de escaneo de secretos para tu repository u organization.
1. [ ] Incluye un archivo `.gitignore` en tu repository que ignore archivos que contengan secretos.
1. [ ] Crea una GitHub Action que escanee tus commits en busca de secretos antes de que se suban a GitHub.
1. [ ] Habilita una regla de protección de branch para tu repository.
### ¿Cuál de estas afirmaciones es verdadera sobre el programa de asociación de escaneo de secretos de GitHub? (Elija tres.)
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-partner-program
- [x] Es un programa en el que los proveedores de servicios pueden proporcionar a GitHub los patrones regex de los secretos que emiten para que el escaneo de secretos de GitHub pueda reconocerlos.
- [x] Cuando GitHub identifica un secreto de un proveedor de servicios asociado, notifica al proveedor de servicios sobre el secreto filtrado.
- [x] El socio puede tomar acciones al recibir una notificación de GitHub sobre un secreto filtrado, como revocar el secreto e informar al propietario del secreto comprometido.
- [ ] Otorga al socio acceso a la API de escaneo de secretos de GitHub para que el proveedor de servicios pueda escanear los repositorios de GitHub en busca de secretos que coincidan con su formato.
> GitHub siempre es responsable de ejecutar el escaneo de secretos, no el socio.
- [ ] GitHub tiene la capacidad de revocar automáticamente secretos filtrados y notificar al proveedor de servicios que han sido invalidados por GitHub.
> GitHub no participa en la revocación de secretos filtrados; el proveedor de servicios tiene la opción de hacerlo.
### ¿Cómo puedes excluir ciertos directorios o archivos del análisis de secretos?
> https://docs.github.com/en/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories#excluding-directories-from-secret-scanning-alerts-for-users
1. [x] Creando un archivo `secret_scanning.yml` e incluyendo las rutas que no deben ser analizadas
1. [ ] No es posible excluir archivos y/o directorios específicos del análisis. Una vez habilitado el análisis de secretos para un repositorio, todos los archivos y directorios serán escaneados.
1. [ ] Incluyendo estos archivos en el archivo `.gitignore`
1. [ ] Creando un archivo `dependabot.yml` e incluyendo las rutas que no deben ser analizadas
### Has incluido algunos secretos falsos en tu código de prueba y han sido detectados por el escaneo de secretos de GitHub. ¿Qué puedes hacer para indicarle a GitHub que estos son secretos falsos usados en pruebas y que pueden ser ignorados por el escaneo de secretos? (Elige dos.)
> https://docs.github.com/en/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/excluding-folders-and-files-from-secret-scanning
- [x] Crear un archivo `secret_scanning.yml` en el cual declares las rutas donde se encuentran los secretos falsos, para que los escaneos los omitan.
- [x] Cerrar la alerta de Secret Scanning con la razón de cierre `Used in tests`.
- [ ] En tus archivos de prueba, agregar un comentario `#gh_ignore: fake secret` en la línea donde se encuentra el secreto falso.
- [ ] Crear un archivo `.github/codeql.yml` en el cual declares las rutas donde se encuentran los secretos falsos, para que los escaneos los omitan.
### Has cometido accidentalmente tu token de acceso personal de GitHub en un repositorio público. ¿Qué acciones deberías tomar para evitar que tu cuenta sea comprometida?
> https://docs.github.com/en/code-security/secret-scanning/managing-alerts-from-secret-scanning#securing-compromised-secrets
1. [x] Considerar el token como comprometido y eliminarlo de inmediato
1. [ ] Cambiar los permisos del token a solo lectura
1. [ ] Sobrescribir el historial de Git para enmascarar el token
1. [ ] Verificar si este token se utiliza en alguna de tus aplicaciones, si es así, eliminarlo.
### ¿Cuál es el comportamiento cuando se agrega o actualiza un nuevo patrón de secreto en el programa de socios de escaneo de secretos de GitHub?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#accessing-secret-scanning-alerts
1. [x] GitHub realizará un escaneo de todo el contenido histórico del código en los repositorios públicos con el escaneo de secretos habilitado
1. [ ] GitHub solo buscará el nuevo patrón en los commits recién enviados en los repositorios con el escaneo de secretos habilitado. Si ya había un secreto de ese patrón en el repositorio, no será detectado.
1. [ ] El socio de GitHub debe encargarse de los secretos filtrados históricamente y GitHub solo escaneará los nuevos commits para el nuevo patrón
1. [ ] GitHub creará un issue en todos los repositorios con el escaneo de secretos habilitado para que los mantenedores puedan verificar el repositorio en busca de secretos que coincidan con el nuevo patrón
### ¿Quién será notificado cuando se detecte un NUEVO secreto en un repositorio? (Elige cinco.)
> https://docs.github.com/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/monitoring-alerts#incremental-scans
- [x] Administradores del repositorio
- [x] Gerentes de seguridad
- [x] Usuarios con roles personalizados con acceso de lectura/escritura
- [x] Propietarios de la organización y propietarios de la empresa, pero solo si son administradores de los repositorios donde se filtraron secretos
- [x] Autores de los commits
- [ ] Todos los que tengan acceso de escritura al repositorio
- [ ] Todos los propietarios de la organización y de la empresa
### Cuando GitHub realiza un análisis de todo el código histórico en los repositorios de la empresa, ¿cuál es el comportamiento de notificación? (Seleccione dos.)
> https://docs.github.com/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/monitoring-alerts#historical-scans
- [x] GitHub notifica a los propietarios de la empresa y a los administradores de seguridad, incluso si no se encuentran secretos.
- [x] GitHub notifica a los administradores del Repository, administradores de seguridad y usuarios con roles personalizados con acceso de lectura/escritura siempre que se detecte un secreto en un repositorio.
- [ ] GitHub notifica a los propietarios de la empresa y a los administradores de seguridad, solo si detecta secretos expuestos.
- [ ] GitHub notifica a los autores de los commits que contienen secretos expuestos.
### ¿GitHub utiliza el mismo conjunto de patrones de escaneo de secretos tanto para alertas de usuario como para alertas de protección en push?
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-patterns#about-secret-scanning-patterns
1. [x] No, son diferentes conjuntos de patrones de secretos
1. [ ] Sí, es el mismo conjunto de patrones de secretos
> Existen tres conjuntos diferentes de patrones de escaneo de secretos. Se superponen, pero no son iguales.
### ¿Cuáles son los tres diferentes conjuntos de patrones de escaneo de secretos que GitHub mantiene? (Seleccione tres.)
> https://docs.github.com/en/code-security/secret-scanning/secret-scanning-patterns#about-secret-scanning-patterns
- [x] Patrones de socios
- [x] Patrones de alerta de usuario
- [x] Patrones de protección de push
- [ ] Patrones de alerta de Enterprise
- [ ] Patrones de alerta de código abierto
- [ ] Patrones de proveedor de nube
### Múltiples repositorios públicos a los que contribuyes no tienen habilitada la opción de protección de envío de secretos. ¿Qué puedes hacer para protegerte de enviar secretos accidentalmente a estos repositorios?
> https://docs.github.com/en/code-security/secret-scanning/push-protection-for-users#about-push-protection-for-users
1. [x] Habilitar `Push protection for yourself` en la configuración de tu cuenta personal de GitHub
1. [ ] Descargar el complemento web de protección de envío de GitHub
1. [ ] No es posible, la protección de envío debe habilitarse en cualquier nivel de repositorio, organización o enterprise
1. [ ] Agregar los archivos que contienen secretos al archivo `.gitignore` en todos los repositorios
### Tu empresa tiene secretos internos que no deben ser enviados a los GitHub repositories. El patrón de estos secretos no es conocido por GitHub y, por lo tanto, no es detectado por secret scanning. ¿Qué pueden hacer las empresas para proteger a sus desarrolladores de enviar estos secretos accidentalmente a los repositories en su GitHub Organization?
> https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization
1. [x] Definir patrones regex para estos secretos y habilitar patrones personalizados para secret scanning en la organización.
1. [ ] La empresa debe unirse al GitHub partner program para que el patrón de los secretos de la empresa sea reconocido.
> GitHub partner program está destinado a proveedores de servicios que distribuyen secretos fuera de su organización (por ejemplo, proveedores de nube). No está destinado para secretos internos de una sola organización.
1. [ ] Definir GitHub Actions workflows personalizados para los repositories en la organización que escanearán estos secretos.
1. [ ] En todos los repositories incluir un archivo `secret_scanning.yml`, el cual definirá estos secretos personalizados que deben ser escaneados.
> El archivo `secret_scanning.yml` puede ser utilizado para deshabilitar secret scanning en archivos o directorios específicos.
### ¿Qué información proporcionan las alertas de Dependabot?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
1. [x] Las alertas de Dependabot te informan que tu repositorio utiliza un paquete que no es seguro.
1. [ ] Las alertas de Dependabot te informan que tu repositorio está siendo utilizado por otros repositorios públicos.
1. [ ] Las alertas de Dependabot te informan que tu repositorio utiliza una versión no probada de un paquete.
1. [ ] Las alertas de Dependabot te informan que tu repositorio utiliza una versión desactualizada de un paquete.
> Dependabot hace eso con las actualizaciones de versiones, pero no con alertas.
### ¿Qué es el gráfico de dependencias de GitHub?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph
1. [x] Es una representación de las dependencias y dependientes de un repositorio.
1. [ ] No existe tal cosa como el gráfico de dependencias de GitHub.
1. [ ] Es una herramienta que propone automáticamente actualizaciones de versión para las dependencias en un repositorio.
1. [ ] Es una lista mantenida por GitHub de vulnerabilidades conocidas en paquetes de software de código abierto.
### ¿El gráfico de dependencias de GitHub está disponible de forma gratuita para todos los repositorios?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#dependency-graph-availability
1. [x] Sí, está disponible de forma gratuita para todos los repositorios.
1. [ ] No, está disponible de forma gratuita solo para los repositorios públicos. Los repositorios privados pueden usarlo si tienen la licencia de GitHub Advanced Security.
### ¿Cómo sabe GitHub Dependency graph qué dependencias está utilizando tu proyecto? (Elige dos.)
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems
- [x] GitHub deriva las dependencias automáticamente a partir de los manifiestos y archivos lock comprometidos en el repository
- [x] Las dependencias pueden añadirse manualmente usando la Dependency submission API
- [ ] GitHub escanea el código del repository en busca de declaraciones de importación de paquetes externos
- [ ] Es necesario agregar un GitHub Actions workflow que use el `actions/dependency-graph` GitHub Action oficial para añadir dependencias al gráfico siempre que se realice un nuevo commit en el repository
### ¿Cuándo se actualizará el gráfico de dependencias de GitHub para tu repositorio? (Elige dos.)
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security#what-is-the-dependency-graph
- [x] Cuando alguien haga un push de un cambio al repositorio de una de tus dependencias.
- [x] Cuando hagas un push de un commit a la rama predeterminada del repositorio, solo si eso cambia o añade un archivo manifest/lockfile soportado.
- [ ] Cuando hagas un push de cualquier commit a la rama predeterminada del repositorio.
- [ ] Cuando tu repositorio publique una nueva release.
- [ ] Cuando tu repositorio publique un nuevo git tag.
- [ ] Cuando el flujo de trabajo de GitHub Actions que utiliza la acción de GitHub `actions/dependency-graph` sea activado.
### ¿En qué formato puedes exportar el gráfico de dependencias de GitHub de tu repository?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exporting-a-software-bill-of-materials-for-your-repository
1. [x] SPDX
1. [ ] YAML
1. [ ] JSON
1. [ ] XML
1. [ ] CSV
### ¿Puede tu repository usar Dependency Graph sin usar Dependabot Alerts?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#using-the-dependency-graph
1. [x] Sí
1. [ ] No
> Puedes usar Dependency Graph sin usar Dependabot Alerts. Sin embargo, no puedes usar Dependabot Alerts con Dependency Graph desactivado.
### ¿Qué función es un requisito previo para usar Dependabot Alerts en un repositorio?
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#using-the-dependency-graph
1. [x] Dependency graph
1. [ ] Dependency review
1. [ ] Dependency security updates
1. [ ] Dependency version updates
### ¿Cuáles de estas afirmaciones sobre Dependabot Alerts son verdaderas? (Elige tres.)
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
- [x] Dependabot Alerts dependen parcialmente de la GitHub Advisory Database
- [x] Para habilitar Dependabot Alerts primero necesitas tener Dependency Graph habilitado en tu repository
- [x] Cuando GitHub identifica una dependencia vulnerable, genera una alerta de Dependabot y la muestra en la pestaña de Seguridad del repository
- [ ] Dependabot Alerts están habilitados por defecto para todos los repositories
- [ ] Dependabot Alerts están habilitados por defecto para todos los public repositories
- [ ] Dependabot Alerts te indican que tu repository utiliza una versión desactualizada de un paquete
### ¿Cuáles son los principales beneficios de la función Security Overview en GitHub?
> https://docs.github.com/en/code-security/security-overview/about-security-overview
1. [x] Vista centralizada de alertas de seguridad y gestión de políticas en una organización
1. [ ] Revisión de código automática para cada push
1. [ ] Detección de amenazas en tiempo real
1. [ ] Actualizaciones automatizadas de dependencias
### ¿Qué es CodeQL?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-code-scanning-with-codeql
1. [x] Un motor de análisis de código desarrollado por GitHub
1. [ ] Un nuevo lenguaje de programación para análisis de seguridad
1. [ ] Una base de datos utilizada para almacenar resultados de análisis de código
1. [ ] Una herramienta de terceros para análisis de código estático
### ¿Qué indican las alertas de Dependabot en GitHub?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#about-dependabot-alerts
1. [x] La presencia de una dependencia vulnerable o malware en tu repository
1. [ ] Dependencias desactualizadas que necesitan ser actualizadas
1. [ ] Errores en los archivos de configuración de dependencias
1. [ ] Conflictos entre diferentes dependencias
### ¿Cuál es el propósito del escaneo de código en GitHub?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-code-scanning
1. [x] Identificar vulnerabilidades y errores en el código
1. [ ] Verificar el formato y el estilo del código
1. [ ] Revisar automáticamente los pull requests
1. [ ] Sincronizar el código con los servidores de producción
### ¿Está disponible el análisis de secretos tanto para repositorios públicos como privados en GitHub?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning
1. [x] Sí, pero para los repositorios privados se requiere una licencia para GitHub Advanced Security
1. [ ] Sí, sin ningún requisito adicional
1. [ ] No, solo está disponible para repositorios públicos
1. [ ] No, solo está disponible para repositorios privados
### ¿Qué hace la configuración predeterminada del análisis de CodeQL en GitHub?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-code-scanning-with-codeql
1. [x] Elige automáticamente los lenguajes a analizar, el conjunto de consultas para ejecutar y los eventos que desencadenan los análisis
1. [ ] Requiere manualmente que los usuarios especifiquen los lenguajes y consultas para cada análisis
1. [ ] Analiza el código solo mensualmente
1. [ ] Requiere la instalación por separado de herramientas de análisis de terceros
### ¿Cuál es el propósito principal de usar la CLI de CodeQL?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli#about-the-codeql-cli
1. [x] Generar una representación de base de datos de una base de código, una base de datos CodeQL
1. [ ] Gestionar la configuración y permisos del repository
1. [ ] Programar tareas de mantenimiento regulares en un repository
1. [ ] Fusionar automáticamente pull requests
### ¿Cuál de los siguientes lenguajes NO es compatible con CodeQL para el escaneo de código?
> https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/#languages-and-compilers
1. [x] PHP
1. [ ] JavaScript/TypeScript
1. [ ] C/C++
1. [ ] Python
### ¿Cómo analiza CodeQL el código en GitHub?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql
1. [x] Genera una base de datos de CodeQL y ejecuta consultas para identificar problemas, mostrando los resultados como alertas de análisis de código
1. [ ] Utiliza aprendizaje automático para predecir posibles vulnerabilidades basadas en commits anteriores
1. [ ] Realiza revisiones de código manuales enviadas por miembros de la comunidad de GitHub
1. [ ] Depende únicamente de herramientas de terceros para el análisis de código
### ¿Cómo se puede utilizar CodeQL en un sistema CI externo junto con repositorios de GitHub?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] Ejecutar CodeQL CLI en el sistema CI externo para escanear el código y subir los resultados al repositorio de GitHub
1. [ ] CodeQL no puede usarse en sistemas CI externos; es exclusivo de GitHub Actions
1. [ ] Subir el código fuente a GitHub para su análisis y luego descargar los resultados para su uso en el sistema CI
1. [ ] Ejecutar CodeQL manualmente de forma local y enviar los resultados por correo electrónico a los administradores del repositorio de GitHub
### ¿Cuál de estas afirmaciones no es verdadera sobre el escaneo de secretos en GitHub?
> https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
1. [x] Secret scanning es una herramienta para almacenamiento y gestión segura de secretos.
1. [ ] Secret scanning escaneará todo el historial de Git en todas las ramas presentes en tu repositorio de GitHub en busca de secretos.
1. [ ] Secret scanning escaneará los títulos, descripciones y comentarios en problemas históricos abiertos y cerrados en busca de secretos.
1. [ ] Secret scanning puede prevenir que los secretos compatibles se introduzcan en tu enterprise, organization o repository.
### ¿Qué claves de nivel superior son necesarias en el archivo `dependabot.yml`?
> https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file
1. [x] `version` y `updates`
1. [ ] `version` y `package-ecosystem`
1. [ ] `assignees` y `directory`
1. [ ] `updates` y `directory`
### ¿Qué GitHub Action se puede usar para subir un archivo SARIF de terceros?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#uploading-a-code-scanning-analysis-with-github-actions
1. [x] `github/codeql-action/upload-sarif`
1. [ ] `codeql-upload-sarif`
1. [ ] `github/codeql-action`
1. [ ] `actions/upload-sarif`
### ¿Qué herramienta se puede usar en un sistema de CI de terceros para subir resultados de análisis de código a GitHub?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] CodeQL CLI
1. [ ] CodeQL API
1. [ ] GitHub Actions `github/codeql-action`
1. [ ] GitHub CLI
### ¿Qué se requiere para que un servidor de CI cargue resultados SARIF en GitHub?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#generating-a-token-for-authentication-with-github
1. [x] Una GitHub App o un token de acceso personal con permiso de escritura en `security_events`.
1. [ ] Una conexión directa con la Base de Datos de Asesoría de GitHub.
1. [ ] Acceso de administrador al repositorio de GitHub.
1. [ ] Un plugin especial instalado en el sistema CI.
### ¿Qué ocurre cuando se sube un segundo archivo de resultados SARIF a GitHub para un único commit?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#uploading-your-results-to-github
1. [x] Reemplaza el conjunto original de datos.
1. [ ] Añade los resultados al archivo existente.
1. [ ] Crea una nueva rama en el repository.
1. [ ] Es ignorado por GitHub.
### ¿Cómo pueden los usuarios excluir directorios específicos de las alertas de análisis de secretos en GitHub?
> https://docs.github.com/en/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories#excluding-directories-from-secret-scanning-alerts-for-users
1. [x] Configurando un archivo `secret_scanning.yml`, bajo la ruta `.github` en el repositorio.
1. [ ] A través de la pestaña `Security` del repositorio, en el menú `Secret scanning`.
1. [ ] A través de la pestaña `Settings` del repositorio, en el menú `Code security and analysis`.
1. [ ] Editando el archivo `README.md` del repositorio.
### ¿Qué clave debe utilizarse en un archivo `secret_scanning.yml` para excluir directorios de las alertas de escaneo de secretos en GitHub?
> https://docs.github.com/en/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories#excluding-directories-from-secret-scanning-alerts-for-users
1. [x] `paths-ignore:`
1. [ ] `paths-exclude:`
1. [ ] `ignore-directories`
1. [ ] `exclude-paths:`
### ¿Cuál es el número máximo de patrones personalizados que se pueden definir para la detección de secretos en GitHub?
> https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#about-custom-patterns-for-secret-scanning
1. [x] 500 para organizaciones/enterprise y 100 para repositorios.
1. [ ] 100 para organizaciones/enterprise y 500 para repositorios.
1. [ ] 100 para organizaciones, enterprise y repositorios.
1. [ ] No hay límite en la cantidad de patrones personalizados que puedes definir para la detección de secretos en GitHub.
### Completa el espacio en blanco: `GitHub __________ es una función que puedes usar para analizar el código en un repositorio de GitHub y encontrar vulnerabilidades de seguridad y errores de codificación.`
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning
1. [x] Code Scanning
1. [ ] Dependency Graph
1. [ ] Security Advisories
1. [ ] Vulnerability Detection
### ¿Qué función de GitHub Advanced Security te permite encontrar, clasificar y priorizar soluciones para problemas nuevos y existentes en tu código?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning
1. [x] Code scanning
1. [ ] Dependabot alerts
1. [ ] Security policies
1. [ ] Security advisories
### ¿Cómo puedes habilitar el análisis de código para un repositorio?
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning
1. [x] Ve a la pestaña de seguridad en la configuración del repositorio y habilita el análisis de código con la configuración predeterminada o avanzada.
1. [ ] Ve a la configuración de usuario y habilita el análisis de código; puedes elegir habilitarlo para todos los repositorios o solo para algunos seleccionados.
1. [ ] Agrega un archivo de configuración `.github/codeql.yml` al repositorio.
1. [ ] Ve a la pestaña de seguridad en la configuración del repositorio y responde un cuestionario sobre el contenido del repositorio. Según las respuestas, GitHub habilitará el análisis de código con la configuración adecuada.
### ¿Cómo puedes configurar tu repositorio de GitHub para ejecutar un análisis de CodeQL en un programa? (Elige dos.)
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning#about-default-setup
- [x] Creando un workflow de GitHub Actions con un trigger `schedule`. El workflow debe utilizar acciones del repositorio `github/codeql-action`.
- [x] Usando la configuración predeterminada del análisis de CodeQL.
- [ ] Configurando la propiedad `codeql.trigger` en los ajustes del repositorio a `schedule`.
- [ ] Añadiendo una propiedad `schedule` al archivo de configuración `.github/codeql.yml`.
- [ ] Solicitando a GitHub soporte para habilitar el análisis programado de CodeQL para el repositorio.
### Una organización ha comenzado recientemente a usar el análisis de CodeQL para todas las pull requests en sus repositorios, así como a ejecutar el análisis en un horario por hora. Desde entonces, están experimentando facturas de GitHub Actions más altas de lo habitual. ¿Cuál es la causa más probable de esto?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-billing-for-code-scanning
1. [x] El escaneo de código utiliza GitHub Actions y la organización está siendo facturada por el uso adicional.
1. [ ] El análisis de escaneo de código está encontrando más problemas de lo esperado y está tardando más en completarse.
1. [ ] El escaneo de código solo puede ejecutarse en un horario diario y la organización está siendo facturada por el uso adicional.
1. [ ] No hay correlación entre el escaneo de código y la facturación de GitHub Actions. La organización está siendo facturada por otros workflows de GitHub Actions.
### Si no deseas usar GitHub Actions, puedes ejecutar el análisis de código en un sistema de CI externo y luego subir los resultados a GitHub.
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] Verdadero
1. [ ] Falso
### Cuando se utiliza un sistema de CI de terceros para ejecutar un escaneo de código, ¿qué herramienta de GitHub necesitas para analizar la base de código?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system#about-using-code-scanning-with-your-existing-ci-system
1. [x] No necesitas específicamente una herramienta de GitHub, cualquier herramienta de análisis estático que pueda producir resultados en formato SARIF funcionará.
1. [ ] Necesitas instalar la herramienta GitHub Code Scanning.
1. [ ] Necesitas instalar CodeQL CLI.
1. [ ] Necesitas instalar GitHub CLI.
### Cuando usas GitHub Actions como tu sistema de CI y una herramienta de terceros para ejecutar el escaneo de código, ¿cómo puedes subir los resultados SARIF a GitHub?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#uploading-a-code-scanning-analysis-with-github-actions
1. [x] Usando la GitHub Action `github/codeql-action/upload-sarif`
1. [ ] Cuando usas GitHub Actions, los resultados SARIF se suben automáticamente a GitHub.
1. [ ] Solo puedes usar CodeQL al ejecutar el escaneo de código en GitHub Actions. No se admiten herramientas de escaneo de código de terceros.
1. [ ] Usando la GitHub Action `actions/upload-artifact`
### ¿Puedes usar el análisis de CodeQL con sistemas de CI de terceros?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system
1. [x] Sí, solo necesitas usar la CLI de CodeQL
1. [ ] No, porque requiere usar la GitHub Action `github/codeql-action`
### ¿Cuál de estas afirmaciones es verdadera sobre el escaneo de código? (Elige dos.)
> https://docs.github.com/en/code-security/supply-chain-security/end-to-end-supply-chain/securing-code#scan-your-code-for-vulnerable-patterns
- [x] El escaneo de código ayuda a encontrar patrones de código inseguros que pueden pasarse por alto durante la revisión manual del código.
- [x] El escaneo de código puede integrarse en el pipeline de CI para identificar problemas de seguridad temprano en el proceso de desarrollo.
- [ ] El escaneo de código es un reemplazo para la revisión manual del código.
- [ ] El escaneo de código ayuda a encontrar credenciales filtradas en el código, como claves de API o credenciales de la nube.
> Eso es el escaneo de secretos.
- [ ] El escaneo de código analiza tu código para buscar todas las dependencias y sus versiones con el fin de encontrar dependencias vulnerables.
### Cuando utilizas el análisis de CodeQL en tu flujo de trabajo de GitHub Actions, ¿con qué frecuencia se activa el escaneo?
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning#about-code-scanning
1. [x] El escaneo de código puede activarse por muchos eventos diferentes que ocurren en el repositorio.
1. [ ] El escaneo de código se activa en cada push al repositorio.
1. [ ] El escaneo de código se activa en un horario configurable.
1. [ ] El escaneo de código puede activarse en un horario configurable o en pull requests.
### ¿Cuál es el efecto de agregar la palabra clave `paths-ignore` a tu flujo de trabajo de escaneo de código con GitHub Actions?
```yaml
.github/workflows/codeql-analysis.yml
on:
pull_request:
branches: [main]
paths-ignore:
- '**/*.md'
- '**/*.txt'
```
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#avoiding-unnecessary-scans-of-pull-requests
1. [x] Evitar escaneos innecesarios cuando se cambian archivos que no son relevantes para el análisis.
1. [ ] Indica a CodeQL que omita todos los archivos `*.txt` y `*.md` del análisis.
1. [ ] Prevenir que el análisis de CodeQL se ejecute en solicitudes de extracción que cambien archivos con las extensiones especificadas.
1. [ ] Las verificaciones de solicitudes de extracción ignorarán cualquier vulnerabilidad de CodeQL encontrada en archivos `*.txt` y `*.md`.
### El análisis con CodeQL es compatible con:
> https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql
1. [x] Tanto lenguajes compilados como interpretados
1. [ ] Solo lenguajes compilados
1. [ ] Solo lenguajes interpretados
1. [ ] Todos los lenguajes de programación
### ¿Para qué se utilizan las consultas de CodeQL?
> https://codeql.github.com/docs/writing-codeql-queries/about-codeql-queries/
1. [x] Las consultas de CodeQL pueden ejecutarse contra una base de datos de CodeQL para identificar patrones que pueden indicar errores de codificación o vulnerabilidades de seguridad.
1. [ ] Las consultas de CodeQL analizan tu base de código y se utilizan para crear una base de datos de CodeQL.
1. [ ] Las consultas de CodeQL se utilizan con fines de revisión de código en GitHub.
1. [ ] Las consultas de CodeQL son preguntas basadas en texto que puedes hacer al motor de CodeQL sobre tu base de código.
### ¿Qué es QL?
> https://codeql.github.com/docs/ql-language-reference/about-the-ql-language/
1. [x] QL es un lenguaje de consulta que subyace en CodeQL
1. [ ] QL significa Nivel de Calidad y es una métrica utilizada por CodeQL
1. [ ] QL es un producto similar a CodeQL pero se utiliza para escanear archivos de texto en lugar de código
1. [ ] QL es un paquete npm que es utilizado por CodeQL para escanear código
### ¿Qué es un conjunto de consultas CodeQL?
> https://docs.github.com/en/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#about-codeql-query-suites
1. [x] Un conjunto de consultas CodeQL es una colección de consultas CodeQL
1. [ ] Un conjunto de consultas CodeQL es una colección de bases de datos CodeQL
1. [ ] Un conjunto de consultas CodeQL es una colección de resultados CodeQL
1. [ ] Un conjunto de consultas CodeQL es una colección de lenguajes compatibles con CodeQL
### ¿Cuáles son los diferentes tipos de paquetes de CodeQL? (Elige tres.)
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs#about-codeql-packs
- [x] Query packs
- [x] Library packs
- [x] Model packs
- [ ] Code packs
- [ ] Language packs
- [ ] Vulnerability packs
### ¿Qué es un paquete de consultas de CodeQL?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs#about-codeql-packs
1. [x] Es un conjunto de consultas precompiladas con todas las dependencias transitivas, como bibliotecas y modelos.
1. [ ] Es una biblioteca utilizada por las consultas de CodeQL.
1. [ ] Es una colección de consultas de CodeQL.
> Eso es un conjunto de consultas de CodeQL.
1. [ ] Es un conjunto de resultados generados en el proceso de análisis de una base de datos de CodeQL.
### ¿Cuáles son los pasos del flujo de trabajo de análisis de CodeQL?
> https://codeql.github.com/docs/codeql-overview/about-codeql/#codeql-analysis
1. [x] Crear una base de datos de CodeQL -> Ejecutar consultas de CodeQL -> Interpretar los resultados
1. [ ] Ejecutar consultas de CodeQL -> Crear una base de datos de CodeQL -> Interpretar los resultados
1. [ ] Ejecutar consultas de CodeQL -> Interpretar los resultados
1. [ ] Crear una base de datos de CodeQL -> Interpretar los resultados -> Ejecutar consultas de CodeQL
### ¿Qué es la extracción en el contexto del análisis de código CodeQL?
> https://codeql.github.com/docs/codeql-overview/about-codeql/#database-creation
1. [x] La extracción es el proceso de crear una representación relacional de cada archivo fuente en la base de código.
1. [ ] La extracción es la acción de ejecutar consultas de CodeQL contra una base de datos de CodeQL y extraer los resultados.
1. [ ] La extracción es el proceso de crear consultas de CodeQL específicas para la base de código.
1. [ ] La extracción es el proceso de exportar datos desde una base de datos de CodeQL.
### ¿Cuáles de estas afirmaciones son ciertas con respecto a ejecutar un análisis de CodeQL en bases de código con múltiples lenguajes de programación? (Elige dos.)
> https://codeql.github.com/docs/codeql-overview/about-codeql/#database-creation
- [x] CodeQL utiliza un extractor diferente para cada lenguaje de programación
- [x] CodeQL crea bases de datos separadas para cada lenguaje de programación
- [ ] CodeQL crea una única base de datos para todos los lenguajes de programación en la base de código, siempre que sean compatibles con CodeQL
- [ ] El esquema de la base de datos de CodeQL es el mismo para cada lenguaje de programación
### ¿Cuáles son las diferencias cuando se ejecuta la creación de bases de datos de CodeQL para lenguajes compilados e interpretados? (Elige dos.)
> https://codeql.github.com/docs/codeql-overview/about-codeql/#database-creation
- [x] Para lenguajes compilados, la extracción funciona monitoreando el proceso de compilación. Toda la información se recopila cada vez que el compilador se invoca para procesar un archivo fuente.
- [x] Para lenguajes interpretados, el extractor se ejecuta directamente sobre el código fuente.
- [ ] Para lenguajes interpretados, la extracción funciona monitoreando el proceso de construcción. Toda la información se recopila cada vez que el intérprete se invoca para procesar un archivo fuente.
- [ ] Para lenguajes compilados, el extractor se ejecuta directamente sobre el código fuente.
- [ ] Para lenguajes compilados, el extractor se ejecuta en el archivo ejecutable.
- [ ] Para lenguajes interpretados, el extractor se ejecuta en el archivo ejecutable.
### ¿Dónde puedes ver cuándo se ejecutó por última vez el análisis de CodeQL al usar la configuración predeterminada de escaneo de código?
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/evaluating-default-setup-for-code-scanning#evaluating-code-scanning-with-the-tool-status-page
1. [x] En la página de estado de la herramienta de escaneo de código
1. [ ] En insights del repository
1. [ ] En la pestaña de Dependabot
1. [ ] No puedes ver esa información con la configuración predeterminada
### ¿Cuáles de las siguientes afirmaciones sobre la activación de la configuración predeterminada de análisis de CodeQL son verdaderas? (Elige tres.)
> https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning
- [x] Puedes habilitar la configuración predeterminada para todos los repositorios elegibles en una organización de una sola vez en la configuración de la organización.
- [x] GitHub Actions debe estar habilitado como requisito previo.
- [x] Puedes habilitar la configuración predeterminada en cualquier repositorio, independientemente del contenido del repositorio.
- [ ] Solo puedes habilitar la configuración predeterminada en repositorios que contengan al menos un lenguaje compatible con CodeQL.
> Si habilitas la configuración predeterminada en un repositorio que no incluye ningún lenguaje compatible con CodeQL, la configuración predeterminada no realizará ningún análisis.
- [ ] La configuración predeterminada analizará el repositorio según un cronograma que puedes configurar. Para el análisis basado en eventos, necesitas configurar un flujo de trabajo de GitHub Actions.
> La configuración predeterminada incluye análisis programados y análisis de pull request / push en las ramas predeterminadas y protegidas.
- [ ] Solo puedes usar el conjunto de consultas predeterminado con la configuración predeterminada de análisis de CodeQL.
### ¿Cómo puedes personalizar tu configuración avanzada de escaneo de CodeQL con conjuntos de consultas adicionales de CodeQL? (Elige dos.)
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning
- [x] Usando un archivo de configuración personalizado y definiendo consultas adicionales allí
- [x] Definiendo las personalizaciones en el flujo de trabajo de GitHub Actions de análisis de CodeQL como parámetros de entrada para la acción `github/codeql-action/init`
- [ ] Usando la CLI de CodeQL con un archivo de configuración personalizado para ejecutar el análisis
- [ ] Definiendo las personalizaciones en los ajustes del repositorio de Security / Code scanning
- [ ] Usando la acción de GitHub `github/codeql-customizations`
### Cuando ejecutas un análisis de CodeQL en GitHub Actions, ¿qué Actions deberías usar? (Elige tres.)
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#about-the-codeql-analysis-workflow-and-compiled-languages
- [x] `github/codeql-action/init`
- [x] `github/codeql-action/analyze`
- [x] `github/codeql-action/autobuild` solo para lenguajes de programación compilados
- [ ] `github/codeql-action/autobuild`
- [ ] `github/codeql-action/init` solo para lenguajes de programación compilados
- [ ] `github/codeql-action/analyze` solo para lenguajes de programación interpretados
### ¿Cuál es el método más simple para ejecutar un análisis de CodeQL de forma concurrente para cada lenguaje en un repositorio multi-lenguaje utilizando GitHub Actions?
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#changing-the-languages-that-are-analyzed
1. [x] Creando una matriz de `languages` para el trabajo y luego referenciarla en el parámetro de entrada `languages` de la acción `github/codeql-action/init`
1. [ ] Llamando a la acción `github/codeql-action/analyze` en pasos separados para cada lenguaje
1. [ ] Creando un workflow separado para cada lenguaje
1. [ ] Definiendo el paralelismo en la acción `github/codeql-action/analyze`
### ¿Cómo puedes usar un archivo de configuración personalizado de CodeQL en un flujo de trabajo de GitHub Actions?
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#using-a-custom-configuration-file
1. [x] Proporcionando explícitamente la ruta del archivo de configuración en el parámetro de entrada `config-file` de la acción `github/codeql-action/init`
1. [ ] Almacenando la configuración en el archivo `.github/codeql/config-config.yml`. La acción `github/codeql-action/init` detectará automáticamente el archivo y lo usará
1. [ ] Subiendo ese archivo en la sección de Code Scanning de la pestaña Security en el repositorio
1. [ ] Almacenando la configuración en el archivo `.github/workflows/codeql-analysis.yml`. La acción `github/codeql-action/init` detectará automáticamente el archivo y lo usará
### ¿Dónde puedes especificar las consultas de CodeQL para ejecutar en un workflow de GitHub Actions? (Elige dos).
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#running-additional-queries
- [x] En el parámetro de entrada `queries` de la acción `github/codeql-action/init`
- [x] En un archivo YAML de configuración de CodeQL
- [ ] En el parámetro de entrada `paths` de la acción `github/codeql-action/queries`
- [ ] En la sección Code Scanning de la pestaña Security en el repository
- [ ] En el campo `codeql` del archivo `.github/settings.yml`
### ¿Cuál es el propósito del parámetro `external-repository-token` en la acción de GitHub `github/codeql-action/init`?
> https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#using-queries-in-ql-packs
1. [x] Permite que la acción acceda a un repositorio privado de GitHub que contiene archivos de configuración, consultas o paquetes necesarios para el análisis.
1. [ ] Permite que la acción suba los resultados del análisis a un repositorio privado de GitHub.
1. [ ] Permite que la acción acceda a un repositorio privado de GitHub que contiene el código fuente que se va a analizar.
1. [ ] Permite que la acción suba la base de datos CodeQL generada a un repositorio privado de GitHub.
### ¿Qué comando CLI de CodeQL se utiliza para crear una base de datos de CodeQL?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis#running-codeql-database-create
1. [x] `codeql database create`
1. [ ] `gh codeql-database create`
1. [ ] `ql database generate`
1. [ ] `qlcli database create`
### ¿Cuál es el propósito del comando `codeql database analyze` en CodeQL CLI?
> https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries#running-codeql-database-analyze
1. [x] Analizar una base de datos de CodeQL, produciendo resultados generalmente en forma de un archivo SARIF.
1. [ ] Analizar una base de datos de CodeQL, produciendo resultados generalmente en forma de avisos de seguridad.
1. [ ] Analizar el código fuente, produciendo una base de datos de CodeQL.
1. [ ] Analizar una base de datos de CodeQL y subir los resultados a GitHub.
> Los resultados no se suben a GitHub, se utiliza un comando separado para eso.
### Como parte de tu pipeline de integración continua en Jenkins, has creado y analizado con éxito una base de datos CodeQL, produciendo así un archivo SARIF. ¿Cómo puedes subir el archivo SARIF a GitHub? (Elige dos).
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#about-sarif-file-uploads-for-code-scanning
- [x] Usando el comando `codeql github upload-results` del CodeQL CLI
- [x] Usando el endpoint `POST /repos/{owner}/{repo}/code-scanning/sarifs` de la GitHub REST API
- [ ] Usando el comando `gh codeql upload-results` del GitHub CLI
- [ ] Al comprometer el archivo SARIF en el repositorio de GitHub
- [ ] Usando la GitHub Action `github/codeql-action/upload-sarif`
> No puedes usar GitHub Actions en pipelines de Jenkins.
### ¿Qué detalles puedes encontrar en una página de alerta de escaneo de código? (Elige tres.)
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-details
- [x] Ramas afectadas por la vulnerabilidad
- [x] Código vulnerable destacado
- [x] Gravedad de la vulnerabilidad
- [ ] Información sobre cuántas veces se ha explotado la vulnerabilidad
- [ ] Desarrollador asignado para solucionar la vulnerabilidad
- [ ] ID de la base de datos de CodeQL que se utilizó para encontrar la vulnerabilidad
### ¿Cuáles de estas afirmaciones sobre la visualización de los resultados de un análisis de CodeQL son verdaderas? (Elija dos.)
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository
- [x] Necesitas permisos de escritura para ver un resumen de todas las alertas de un repositorio en la pestaña de Seguridad.
- [x] Cualquier persona con permisos de lectura para un repositorio puede ver las anotaciones de análisis de código en los pull requests.
- [ ] Necesitas permisos de escritura para ver las anotaciones de análisis de código en los pull requests.
- [ ] Cualquier persona con permisos de lectura para un repositorio puede ver las alertas de análisis de código en la pestaña de Seguridad.
- [ ] Solo el propietario del repositorio puede ver las alertas de análisis de código en la pestaña de Seguridad.
### Cuando un flujo de trabajo de GitHub Actions de análisis de CodeQL detecta una nueva vulnerabilidad en un pull request, ¿dónde puedes encontrar la información sobre esa vulnerabilidad?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests#about-code-scanning-results-on-pull-requests
1. [x] Directamente en el pull request en forma de un comentario en el PR y un fallo en la verificación
1. [ ] En la pestaña de seguridad del repository
1. [ ] En los registros de ejecución del flujo de trabajo
1. [ ] El flujo de trabajo de análisis de CodeQL fallará y generará un artefacto con los resultados
### Al ver una alerta de análisis de código, ¿para qué se utiliza la opción `Mostrar rutas`?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository
1. [x] Mostrará la ruta a través del código que conduce al problema que causa la alerta.
1. [ ] Se utiliza para mostrar las rutas a las consultas de CodeQL que se usaron para encontrar la vulnerabilidad.
1. [ ] Mostrará recomendaciones sobre cómo solucionar la vulnerabilidad.
1. [ ] Se utiliza para mostrar la ruta de archivo a la base de datos de CodeQL que se usó para encontrar la vulnerabilidad.
### ¿Qué significa descartar una alerta de análisis de código?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository#dismissing--alerts1. [x] Respuesta Correcta de Opción Única
1. [x] Cerrar una alerta que consideras que no necesita ser corregida
1. [ ] Cerrar la alerta después de solucionar la vulnerabilidad en el código
### ¿Cuál de estos NO es un enfoque válido que se puede tomar para reducir el tiempo que tarda en completarse el flujo de trabajo de análisis de CodeQL?
> https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning/analysis-takes-too-long
1. [x] Ejecutar el análisis en cada evento de push
1. [ ] Utilizar runners con más recursos de CPU/RAM
1. [ ] Paralelizar el análisis para bases de código multilingües
1. [ ] Ignorar archivos y directorios irrelevantes en el análisis
1. [ ] Reducir la cantidad de consultas que se ejecutan
### ¿Cuál es el propósito de definir una categoría SARIF?
> https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#uploading-more-than-one-sarif-file-for-a-commit
1. [x] Usar la categoría para distinguir entre múltiples análisis del mismo tool o commit, pero realizados en diferentes lenguajes o partes del código.
1. [ ] Usar la categoría para distinguir archivos que han sido analizados de archivos que no han sido analizados.
1. [ ] Usar la categoría para distinguir archivos que contienen vulnerabilidades de archivos que no contienen vulnerabilidades.
1. [ ] Usar una categoría diferente para cada archivo que ha sido analizado para rastrear fácilmente las vulnerabilidades en los archivos que las contienen.
### ¿Cómo puedes habilitar las funciones de GitHub Advanced Security en GitHub Enterprise Server? (Elige dos.)
> https://docs.github.com/en/[email protected]/admin/code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise
- [x] En la pestaña de Seguridad de la consola de administración del sitio
- [x] Conectándote directamente a la instancia de GitHub Enterprise Server a través de SSH y utilizando los comandos del shell administrativo `ghe-config`.
- [ ] Solicitando una actualización al soporte de GitHub
- [ ] Configurando la opción `github.advanced_security.enabled` en `true` en el archivo `config.yml` en el directorio `/etc/github` en la instancia de GitHub Enterprise Server.
- [ ] Configurando la opción `github.advanced_security.enabled` en `true` en el archivo `config.yml` en el repositorio `.github`.
### ¿Cómo puedes habilitar las funciones de GitHub Advanced Security para todos los repositories en una organización en GitHub Enterprise Cloud?
> https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories
1. [x] En la sección `Code security and analysis` de la configuración de la organización
1. [ ] Conectándote directamente a la instancia de GitHub Enterprise Cloud a través de SSH y usando los comandos administrativos del shell `ghe-config`.
> Esa es una opción al usar GitHub Enterprise Server
1. [ ] Solicitando una actualización al soporte de GitHub
1. [ ] En la página de administrador del sitio de tu cuenta empresarial
### Como mantenedor de un repository, ¿dónde deberías poner las instrucciones sobre cómo reportar una vulnerabilidad de seguridad en tu código base?
> https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository#about-security-policies
1. [x] En el archivo `SECURITY.md`
1. [ ] En el archivo `CONTRIBUTING.md`
1. [ ] En el archivo `README.md`
1. [ ] En el archivo `CODE_OF_CONDUCT.md`
### ¿Qué es una política de seguridad de GitHub?
> https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository#about-security-policies
1. [x] Es un documento que instruye a los usuarios sobre cómo informar de manera responsable las vulnerabilidades de seguridad en un proyecto. Generalmente se define en un archivo `SECURITY.md` en un repositorio.
1. [ ] Es una herramienta para corregir automáticamente las vulnerabilidades de seguridad en tu código.
1. [ ] Es una función que te permite encriptar tu repositorio.
1. [ ] Una política de seguridad de GitHub es un servicio de suscripción que proporciona protección antivirus para tus proyectos.
### ¿Cómo puedes establecer una política de seguridad predeterminada para todos los repositorios en la Organización de GitHub `my-org`?
> https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file#supported-file-types
1. [x] Creando un archivo `SECURITY.md` en el repositorio `my-org/.github`
1. [ ] Editando la política de seguridad en la configuración de `Code Security and analysis` de la organización
1. [ ] Las políticas de seguridad predeterminadas solo pueden ser configuradas por el soporte de GitHub
1. [ ] Puedes establecer una política de seguridad predeterminada para todos los repositorios en la Organización de GitHub `my-org` agregando un archivo `SECURITY.md` a cada repositorio individual.
### ¿Qué endpoint de la API se puede utilizar para recuperar una lista de todas las alertas de Dependabot para una enterprise?
> https://docs.github.com/en/rest/dependabot/alerts?apiVersion=2022-11-28#list-dependabot-alerts-for-an-enterprise
1. [x] `GET /enterprises/{enterprise}/dependabot/alerts`
1. [ ] `GET /orgs/{org}/dependabot/alerts`
> Ese es un endpoint correcto para una organización, pero no para una enterprise
1. [ ] `GET /repos/{owner}/{repo}/dependabot/alerts`
> Ese es un endpoint correcto para un repositorio, pero no para una enterprise
1. [ ] `GET /github/{enterprise}/dependabot/alerts`
### ¿Qué endpoint de la API se puede utilizar para recuperar una lista de todas las alertas de análisis de secretos para una organización?
> https://docs.github.com/en/rest/secret-scanning/secret-scanning?apiVersion=2022-11-28#list-secret-scanning-alerts-for-an-organization
1. [x] `GET /orgs/{org}/secret-scanning/alerts`
1. [ ] `GET /enterprises/{enterprise}/secret-scanning/alerts`
> Ese es un endpoint correcto para una empresa, pero no para una organización
1. [ ] `GET /repos/{owner}/{repo}/secret-scanning/alerts`
> Ese es un endpoint correcto para un repositorio, pero no para una organización
1. [ ] `GET /github/{org}/secret-scanning/alerts`
### ¿Qué endpoint de API se puede usar para recuperar una lista de todas las alertas de análisis de código en un repositorio?
> https://docs.github.com/en/rest/code-scanning/code-scanning?apiVersion=2022-11-28#list-code-scanning-alerts-for-a-repository
1. [x] `GET /repos/{owner}/{repo}/code-scanning/alerts`
1. [ ] `GET /orgs/{org}/{repo}/code-scanning/alerts`
1. [ ] `GET /{enterprise}/{org}/{repo}/code-scanning/alerts`
1. [ ] `GET /github/{repo}/code-scanning/alerts`
### ¿Cuál de estas afirmaciones define mejor una dependencia vulnerable?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
1. [x] Una dependencia vulnerable es una dependencia de la que depende un proyecto, que contiene fallos de seguridad que podrían ser explotados, comprometiendo la seguridad del proyecto.
1. [ ] Una dependencia vulnerable es una dependencia de la que depende un proyecto, que no ha sido actualizada en mucho tiempo.
1. [ ] Una dependencia vulnerable es una dependencia de la que depende un proyecto, que no es ampliamente utilizada o popular.
1. [ ] Una dependencia vulnerable es una dependencia de la que depende un proyecto, que no está verificada por GitHub.
### ¿Qué son las actualizaciones de seguridad de Dependabot?
> https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates
1. [x] Es una función de Dependabot que crea automáticamente pull requests para actualizar dependencias vulnerables en tu repository.
1. [ ] Es una función de Dependabot que crea una lista de dependencias vulnerables en tu repository.
1. [ ] Es una función de Dependabot que genera alertas cuando se detecta una vulnerabilidad de seguridad en una de tus dependencias.
> Esas son las alertas de Dependabot; las actualizaciones de seguridad de Dependabot se basan en las alertas de Dependabot.
1. [ ] Es una función de Dependabot que crea automáticamente pull requests para actualizar las dependencias en tu repository cuando se lanza una nueva versión.
> Esas son las actualizaciones de versión de Dependabot.
### Las alertas de Dependabot están habilitadas por defecto en:
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#configuration-of-dependabot-alerts
1. [x] Las alertas de Dependabot no están habilitadas por defecto en ningún repositorio.
1. [ ] Solo repositorios públicos.
> GitHub detecta dependencias vulnerables en repositorios públicos y muestra el gráfico de dependencias, pero no genera alertas de Dependabot por defecto.
1. [ ] Todos los repositorios.
1. [ ] Solo repositorios privados.
### ¿Quién puede habilitar las alertas de Dependabot en un repositorio?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts#configuration-of-dependabot-alerts
1. [x] Propietarios del repositorio y personas con acceso de administrador
1. [ ] Solo el propietario del repositorio
1. [ ] Las alertas de Dependabot están habilitadas en todos los repositorios por GitHub y no pueden ser deshabilitadas o habilitadas por ningún individuo.
1. [ ] Las alertas de Dependabot se habilitan añadiendo una GitHub Action al repositorio, por lo que cualquiera con acceso de escritura al repositorio puede habilitarlas.
### ¿Cuál es el nivel de acceso más bajo necesario para ver las alertas de Dependabot en un repositorio dentro de una organización?
> https://docs.github.com/en/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#access-requirements-for-security-features
1. [x] Write
1. [ ] Read
1. [ ] Maintain
1. [ ] Triage
1. [ ] Admin
### Para habilitar Dependabot Alerts en todos los repositories de una organización, deberías:
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts#enabling-or-disabling-dependabot-alerts-for-all-existing-repositories
1. [x] Ir a la configuración de `Code security and analysis` de la organización y habilitar Dependabot Alerts para todos los repositories de una vez.
1. [ ] Hacer que todos los repositories de la organización sean privados.
1. [ ] En todos los repositories de la organización, ejecutar la GitHub Action `actions/enable-ghas` con el parámetro `alerts` configurado en `true`.
1. [ ] Crear un script que habilite Dependabot Alerts en todos los repositories de la organización.
### ¿Cuál de estos es un archivo de configuración válido de `dependabot.yml`?
> https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
1. [x]
```yaml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
```
1. [ ]
```yaml
version: 2
config:
- directory: "/"
schedule:
interval: "daily"
```
1. [ ]
```yaml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "everyday"
```
1. [ ]
```yaml
version: 2
config:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
```
### ¿Cuál de estos no es un canal admitido por GitHub para recibir alertas de Dependabot?
> https://docs.github.com/en/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts#configuring-notifications-for-dependabot-alerts
1. [x] SMS/Llamada
1. [ ] Bandeja de notificaciones de github.com
1. [ ] GitHub Mobile
1. [ ] GitHub CLI
> Las advertencias se muestran como callbacks cuando haces push a repositorios con dependencias inseguras.
1. [ ] Correo electrónico
### ¿Qué son las reglas de auto-triage de Dependabot?
> https://docs.github.com/en/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules
1. [x] Es una función que permite a Dependabot descartar automáticamente alertas de Dependabot que cumplan con ciertos criterios.
1. [ ] Las reglas de auto-triage se definen en el archivo de configuración `dependabot.yml` para especificar qué gestores de paquetes deben utilizarse para escanear tu proyecto en busca de vulnerabilidades.
1. [ ] Las reglas de auto-triage de Dependabot se utilizan para eliminar automáticamente dependencias antiguas en tu proyecto.
1. [ ] Las reglas de auto-triage definen la frecuencia con la que Dependabot debe escanear tu proyecto en busca de vulnerabilidades.
### ¿Cómo puedes automatizar la desestimación de alertas de baja gravedad de Dependabot?
> https://docs.github.com/en/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules
1. [x] Usando las reglas de auto-triage de Dependabot.
1. [ ] Configurando el campo `severity` en el archivo `dependabot.yml` a alto
1. [ ] Eliminando todas las dependencias que causan alertas de baja gravedad
1. [ ] Configurando el campo `dismiss-severity` en el archivo `dependabot.yml` a bajo
### Para habilitar las actualizaciones de seguridad de Dependabot en todos los repositorios de una organización, debes:
> https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories
1. [x] Ir a la configuración de `Code security and analysis` de la organización y habilitar Dependabot Security Updates para todos los repositorios a la vez.
1. [ ] Hacer que todos los repositorios de la organización sean privados.
1. [ ] Ejecutar la GitHub Action `actions/enable-ghas` con el parámetro `security-updates` configurado en `true` en todos los repositorios de la organización.
1. [ ] Crear un script que habilite Dependabot Security Updates en todos los repositorios de la organización.
### La herramienta que verifica si una pull request introduce dependencias con vulnerabilidades de seguridad se llama:
> https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review
1. [x] Dependency Review
1. [ ] Dependabot Alerts
1. [ ] Dependabot Security Updates
1. [ ] Dependabot Version Updates
### Necesitas habilitar GitHub Actions para
> https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates#about-dependabot-version-updates
1. [x] Dependency Review
1. [ ] Dependabot Security Updates
1. [ ] Dependabot Version Updates
1. [ ] All of these
> GitHub Actions no es necesario para que Dependabot version updates y Dependabot security updates se ejecuten en GitHub. Sin embargo, los pull requests abiertos por Dependabot pueden activar workflows que ejecuten acciones.
1. [ ] None of these
> Dependency review utiliza la GitHub Action `actions/dependency-review-action`
### ¿Qué significa `CVSS`?
> https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels
1. [x] `Common Vulnerability Scoring System`
1. [ ] `Code Verification Security System`
1. [ ] `Critical Vulnerability Scanning Service`
1. [ ] `Cybersecurity Validation Scoring Scheme`
### ¿Qué significa `CVE`?
> https://docs.github.com/en/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories#cve-identification-numbers
1. [x] `Common Vulnerabilities and Exposures`
1. [ ] `Common Virus Elimination`
1. [ ] `Cybersecurity Verification Entity`
1. [ ] `Code Validation and Enumeration`
### ¿Qué significa `CWE`?
> https://cwe.mitre.org/
1. [x] `Common Weakness Enumeration`
1. [ ] `Cybersecurity Weakness Enumeration`
1. [ ] `Code Wrapping Engine`
1. [ ] `Critical Web Elements`
### ¿Qué comando de comentario de Dependabot completará con éxito un pull request?
> https://docs.github.com/en/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands
1. [ ] `@dependabot close`
1. [x] `@dependabot merge`
1. [ ] `@dependabot cancel merge`
1. [ ] `@dependabot rebase`
### Los trabajos que se ejecutan en runners de macOS alojados por GitHub consumen minutos a una tarifa __ que los runners de Linux consumen
> https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#minute-multipliers
1. [ ] la misma
1. [ ] 2x
1. [ ] 5x
1. [x] 10x
Detalles
¿Te resultó útil esta prueba de práctica?
Deja una ⭐ en el repository y considera retribuir a la comunidad mediante:
- contributing una o más preguntas de examen simuladas (toma minutos)