많은 개발자가 “상식”으로 간주할 수 있지만, 새로 도입된 대부분의 보안 약점은 XSS(사이트 간 스크립팅), SQL 삽입, CSRF(교차 사이트 요청 위조)와 같은 취약성 때문입니다. 이러한 취약성은 매개 변수가 있는 쿼리 사용, 입력 유효성 검사, 하드 코딩된 중요한 데이터 방지와 같은 보안 코딩 방법을 따라 완화할 수 있습니다. GitHub Copilot은 이러한 문제를 감지하고 해결하는 데 도움이 될 수 있습니다.
Note
Copilot Chat는 일반적인 보안 취약성을 찾아 수정하는 데 도움이 될 수 있지만, 포괄적인 보안 분석을 위해 Copilot에 의존하면 안 됩니다. 보안 도구와 기능을 사용하면 코드가 더 철저하게 보호됩니다. GitHub 보안 기능에 대한 자세한 내용은 GitHub security features(GitHub 보안 기능)을(를) 참조하세요.
예제 시나리오
아래 JavaScript 코드에는 페이지에 표시되기 전에 name
매개 변수가 제대로 삭제되지 않은 경우 악용될 수 있는 잠재적인 XSS 취약성이 있습니다.
function displayName(name) {
const nameElement = document.getElementById('name-display');
nameElement.innerHTML = `Showing results for "${name}"`
}
예시 프롬프트
Copilot Chat에게 일반적인 보안 취약성에 대한 코드를 분석하고 발견한 문제에 대한 설명과 수정 사항을 제공하도록 요청할 수 있습니다.
Analyze this code for potential security vulnerabilities and suggest fixes.
예제 응답
Note
다음 응답이 예제입니다. Copilot Chat 응답은 비결정적이므로 여기에 표시된 응답과 다른 응답을 얻을 수 있습니다.
Copilot는 취약성에 대한 설명과 함께 응답하고 이를 해결하기 위한 코드 변경 사항을 제안했습니다.
function displayName(name) {
const nameElement = document.getElementById('name-display');
nameElement.textContent = `Showing results for "${name}"`;
}