Skip to main content

Búsqueda de vulnerabilidades existentes en el código

El Chat de Copilot puede ayudar a encontrar vulnerabilidades comunes en el código y sugerir correcciones.

Aunque muchos desarrolladores pueden considerarlos "conocimiento común", la gran mayoría de los puntos débiles de seguridad recién introducidos se deben a vulnerabilidades como el scripting entre sitios (XSS), la inyección de código SQL y la falsificación de solicitudes entre sitios (CSRF). Estas vulnerabilidades se pueden mitigar mediante prácticas de codificación segura, como usar consultas con parámetros, validar las entradas y evitar datos confidenciales codificados de forma rígida. GitHub Copilot puede ayudar a detectar y resolver estos problemas.

Note

Aunque el Copilot Chat puede ayudar a encontrar algunas vulnerabilidades de seguridad comunes y corregirlas, no debes confiar en Copilot para un análisis de seguridad exhaustivo. El uso de herramientas y características de seguridad garantizará con mayor exhaustividad la seguridad del código. Para obtener más información sobre las características de seguridad de GitHub, consulta Características de seguridad de GitHub.

Escenario de ejemplo

El código de JavaScript siguiente tiene una posible vulnerabilidad de XSS que podría aprovecharse si el parámetro name no se sanea correctamente antes de mostrarse en la página.

function displayName(name) {
  const nameElement = document.getElementById('name-display');
  nameElement.innerHTML = `Showing results for "${name}"`
}

Ejemplos de indicaciones

Puedes pedir al Copilot Chat que analice el código para detectar vulnerabilidades de seguridad comunes y que proporcione explicaciones y correcciones para los problemas que encuentre.

Analyze this code for potential security vulnerabilities and suggest fixes.

Respuesta de ejemplo

Note

La respuesta siguiente es un ejemplo. Las respuestas de Copilot Chat no son deterministas, por lo que puedes obtener una respuesta diferente a la aquí mostrada.

Copilot responde con una explicación de la vulnerabilidad y con cambios sugeridos en el código para su corrección.

function displayName(name) {
  const nameElement = document.getElementById('name-display');
  nameElement.textContent = `Showing results for "${name}"`;
}

Información adicional