많은 개발자가 “상식”으로 간주할 수 있지만, 새로 도입된 대부분의 보안 약점은 XSS(사이트 간 스크립팅), SQL 삽입, CSRF(교차 사이트 요청 위조)와 같은 취약성 때문입니다. 이러한 취약성은 매개 변수가 있는 쿼리 사용, 입력 유효성 검사, 하드 코딩된 중요한 데이터 방지와 같은 보안 코딩 방법을 따라 완화할 수 있습니다. GitHub Copilot은 이러한 문제를 감지하고 해결하는 데 도움이 될 수 있습니다.
Note
Copilot Chat는 일반적인 보안 취약성을 찾아 수정하는 데 도움이 될 수 있지만, 포괄적인 보안 분석을 위해 Copilot에 의존하면 안 됩니다. code scanning을 사용하면 코드가 더 철저하게 보호됩니다. code scanning을 사용하도록 설정하는 방법에 대한 자세한 내용은 코드 스캔을 위한 기본 설정 구성을(를) 참조하세요.
예제 시나리오
아래 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}"`;
}