CodeAuditAgent
전체 글
  • CWE
  • 보안
  • 기초

CWE ID로 버그에 대해 알 수 있는 것

CWE 식별자는 모호한 보안 발견 사항을 정확하고 추적 가능한 약점 유형으로 바꿔 줍니다. CWE를 읽는 법과 수정 우선순위를 정하는 데 활용하는 법을 짧게 정리했습니다.

· 5분 분량 · Lina Source LLC

CWE(Common Weakness Enumeration)는 MITRE가 관리하는 소프트웨어 약점 유형의 공개 목록입니다. 리포트에서 어떤 발견 사항에 CWE-89라는 라벨이 붙어 있으면, 팀원 모두가 그것이 정확히 어떤 종류의 버그인지, 즉 SQL 인젝션이라는 것을 알 수 있습니다.

ID가 중요한 이유

  • 정확합니다: CWE-79(크로스 사이트 스크립팅)와 CWE-601(오픈 리다이렉트)은 둘 다 웹 버그지만 수정 방법은 다릅니다.
  • 추적할 수 있습니다: 시간에 따라 CWE별 발견 건수를 세어 보면 특정 버그 유형이 실제로 줄어들고 있는지 알 수 있습니다.
  • 가이드로 이어집니다: 각 CWE 항목에는 사례, 탐지 방법, 완화 방안에 대한 링크가 있습니다.

CWE는 심각도가 아닙니다

CWE는 약점의 종류를 설명할 뿐, 해당 사례가 얼마나 심각한지를 나타내지 않습니다. 관리자 전용 스크립트의 SQL 인젝션과 공개 검색 엔드포인트의 SQL 인젝션은 같은 CWE-89를 공유하지만 위험도는 크게 다릅니다. 그래서 CodeAuditAgent의 모든 발견 사항에는 CWE와 함께 실제 악용 가능성에 기반한 심각도가 표시됩니다.

가장 자주 보게 될 ID

  • CWE-89: SQL 인젝션
  • CWE-79: 크로스 사이트 스크립팅
  • CWE-639: 사용자가 제어하는 키를 통한 인가 우회
  • CWE-798: 하드코딩된 자격 증명 사용
  • CWE-918: 서버 측 요청 위조