InfoGrab DocsInfoGrab Docs

GitLab Advanced SAST CWE 커버리지

요약

GitLab Advanced SAST는 지원되는 언어로 작성된 코드에서 여러 유형의 잠재적 보안 취약점을 찾아냅니다. GitLab은 각 잠재적 취약점에 대응하는 공통 약점 열거(Common Weakness Enumeration, CWE) 식별자를 할당합니다.

GitLab Advanced SAST는 지원되는 언어로 작성된 코드에서 여러 유형의 잠재적 보안 취약점을 찾아냅니다.

GitLab은 각 잠재적 취약점에 대응하는 공통 약점 열거(Common Weakness Enumeration, CWE) 식별자를 할당합니다. CWE 식별자는 보안 약점을 식별하는 업계 표준 방식이지만, 다음 사항을 알아 두어야 합니다.

  • CWE는 트리 구조로 배열됩니다. 예를 들어 CWE-22: Path Traversal은 CWE-23: Relative Path Traversal의 상위 항목입니다. 상대 경로 탐색 약점(CWE-23)을 구체적으로 탐지하는 스캐너는 정의상 더 일반적인 경로 탐색 범주(CWE-22)의 일부도 탐지합니다.
  • 명확성을 위해 이 표는 GitLab Advanced SAST 규칙에 할당된 정확한 CWE 식별자만 표시합니다. 상위 식별자는 표시하지 않습니다.

GitLab Advanced SAST에서 사용하는 규칙에 관한 자세한 내용은 SAST 규칙을 참고합니다.

언어별 CWE 커버리지#

GitLab Advanced SAST는 각 프로그래밍 언어에서 다음 유형의 약점을 찾아냅니다.

CWE CWE 설명 C C++ C# Go Java JavaScript, TypeScript PHP Python Ruby
CWE-15 시스템 또는 구성 설정의 외부 제어 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-22 제한된 디렉터리로의 경로명 부적절한 제한('경로 탐색') ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-23 상대 경로 탐색 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ✅ ❌
CWE-73 파일 이름 또는 경로의 외부 제어 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ✅
CWE-76 동등한 특수 요소의 부적절한 중립화 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-77 명령에 사용된 특수 요소의 부적절한 중립화('명령 인젝션') ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-78 OS 명령에 사용된 특수 요소의 부적절한 중립화('OS 명령 인젝션') ✅ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-79 웹 페이지 생성 중 입력의 부적절한 중립화('크로스 사이트 스크립팅') ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-80 웹 페이지 내 스크립트 관련 HTML 태그의 부적절한 중립화(기본 XSS) ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-88 명령 내 인수 구분자의 부적절한 중립화('인수 인젝션') ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-89 SQL 명령에 사용된 특수 요소의 부적절한 중립화('SQL 인젝션') ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-90 LDAP 쿼리에 사용된 특수 요소의 부적절한 중립화('LDAP 인젝션') ❌ ❌ ✅ ❌ ✅ ❌ ❌ ✅ ❌
CWE-91 XML 인젝션(블라인드 XPath 인젝션) ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-94 코드 생성의 부적절한 제어('코드 인젝션') ❌ ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅
CWE-95 동적으로 평가되는 코드 내 지시문의 부적절한 중립화('Eval 인젝션') ❌ ❌ ❌ ❌ ✅ ✅ ❌ ✅ ✅
CWE-113 HTTP 헤더 내 CRLF 시퀀스의 부적절한 중립화('HTTP 요청/응답 분할') ❌ ❌ ❌ ❌ ✅ ✅ ❌ ✅ ❌
CWE-116 출력의 부적절한 인코딩 또는 이스케이프 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ✅ ❌
CWE-117 로그에 대한 부적절한 출력 중립화 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-118 인덱싱 가능한 리소스의 잘못된 접근('범위 오류') ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌
CWE-125 범위를 벗어난 읽기 ✅ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-131 버퍼 크기의 잘못된 계산 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-155 와일드카드 또는 일치 기호의 부적절한 중립화 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌
CWE-180 잘못된 동작 순서: 정규화 이전 검증 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-182 데이터가 안전하지 않은 값으로 축약 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-185 잘못된 정규식 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ✅
CWE-190 정수 오버플로 또는 랩어라운드 ✅ ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌
CWE-191 정수 언더플로(랩 또는 랩어라운드) ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-208 관찰 가능한 타이밍 불일치 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-209 민감한 정보를 포함한 오류 메시지 생성 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-242 본질적으로 위험한 함수 사용 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌
CWE-243 작업 디렉터리 변경 없이 chroot Jail 생성 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-252 확인되지 않은 반환 값 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-253 함수 반환 값의 잘못된 확인 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-256 비밀번호의 평문 저장 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-271 권한 해제/축소 오류 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-272 최소 권한 위반 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-276 잘못된 기본 권한 ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ✅
CWE-295 부적절한 인증서 검증 ❌ ❌ ✅ ❌ ✅ ✅ ✅ ✅ ✅
CWE-297 호스트가 일치하지 않는 인증서의 부적절한 검증 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-306 중요 기능에 대한 인증 누락 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-311 민감한 데이터의 암호화 누락 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-319 민감한 정보의 평문 전송 ❌ ❌ ❌ ❌ ✅ ✅ ✅ ✅ ❌
CWE-322 엔터티 인증 없는 키 교환 ❌ ❌ ❌ ✅ ❌ ❌ ❌ ✅ ❌
CWE-323 암호화에서 논스, 키 쌍 재사용 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-326 불충분한 암호화 강도 ❌ ❌ ❌ ✅ ✅ ❌ ❌ ✅ ✅
CWE-327 취약하거나 위험한 암호화 알고리즘 사용 ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ❌
CWE-328 취약한 해시 사용 ❌ ❌ ❌ ❌ ❌ ✅ ✅ ❌ ✅
CWE-338 암호학적으로 취약한 의사 난수 생성기(PRNG) 사용 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
CWE-346 출처 검증 오류 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-347 암호화 서명의 부적절한 검증 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ✅ ❌
CWE-348 신뢰도가 낮은 소스 사용 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-352 크로스 사이트 요청 위조(CSRF) ❌ ❌ ✅ ❌ ✅ ❌ ❌ ✅ ✅
CWE-358 표준에 대한 부적절하게 구현된 보안 검사 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-362 부적절한 동기화 상태에서 공유 리소스를 사용하는 동시 실행('경쟁 조건') ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-369 0으로 나누기 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-377 안전하지 않은 임시 파일 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ✅ ❌
CWE-398 코드 품질 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-400 통제되지 않은 리소스 소비 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-401 유효 수명 이후 메모리 해제 누락 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-404 부적절한 리소스 종료 또는 해제 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-409 고도로 압축된 데이터의 부적절한 처리(데이터 증폭) ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌
CWE-413 부적절한 리소스 잠금 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-415 이중 해제 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-416 해제 후 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-448 초기화 시 하드코딩된 리터럴 과다 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-457 초기화되지 않은 변수 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-459 불완전한 정리 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-466 예상 범위를 벗어난 포인터 값 반환 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-467 포인터 유형에 sizeof() 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-469 크기 결정을 위한 포인터 뺄셈 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-470 클래스 또는 코드 선택에 외부에서 제어되는 입력 사용('안전하지 않은 리플렉션') ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-476 NULL 포인터 역참조 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-477 구식 함수 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-489 활성 디버그 코드 ❌ ❌ ❌ ✅ ✅ ❌ ❌ ✅ ❌
CWE-497 권한 없는 제어 영역에 민감한 시스템 정보 노출 ❌ ❌ ❌ ❌ ❌ ❌ ✅ ✅ ❌
CWE-501 신뢰 경계 위반 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-502 신뢰할 수 없는 데이터 역직렬화 ❌ ❌ ✅ ❌ ✅ ✅ ✅ ✅ ✅
CWE-521 취약한 비밀번호 요구 사항 ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌
CWE-522 불충분하게 보호된 자격 증명 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-552 외부 당사자가 접근할 수 있는 파일 또는 디렉터리 ❌ ❌ ❌ ✅ ✅ ❌ ❌ ❌ ❌
CWE-554 ASP.NET 구성 오류: 입력 검증 프레임워크 미사용 ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌
CWE-561 데드 코드 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-562 스택 변수 주소 반환 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-563 사용하지 않는 변수에 대한 할당 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-573 호출자의 부적절한 사양 준수 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-587 포인터에 고정 주소 할당 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-588 비구조체 포인터의 하위 항목 접근 시도 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-598 민감한 쿼리 문자열과 함께 GET 요청 메서드 사용 ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌
CWE-599 OpenSSL 인증서 검증 누락 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-601 신뢰할 수 없는 사이트로의 URL 리디렉션('오픈 리디렉트') ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-606 루프 조건에 대한 확인되지 않은 입력 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ✅ ❌
CWE-611 XML 외부 엔터티 참조의 부적절한 제한 ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ❌
CWE-613 불충분한 세션 만료 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-614 'Secure' 속성이 없는 HTTPS 세션의 민감한 쿠키 ❌ ❌ ✅ ✅ ✅ ✅ ✅ ❌ ❌
CWE-639 사용자가 제어하는 키를 통한 인가 우회 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-643 XPath 표현식 내 데이터의 부적절한 중립화('XPath 인젝션') ❌ ❌ ✅ ❌ ✅ ✅ ❌ ✅ ❌
CWE-667 부적절한 잠금 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-670 항상 잘못된 제어 흐름 구현 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-672 만료 또는 해제 이후 리소스에 대한 작업 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-676 잠재적으로 위험한 함수 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-684 지정된 기능의 잘못된 제공 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-685 인수 개수가 잘못된 함수 호출 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-686 인수 유형이 잘못된 함수 호출 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-687 인수 값이 잘못 지정된 함수 호출 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-704 잘못된 유형 변환 또는 캐스트 ✅ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-732 중요 리소스에 대한 잘못된 권한 할당 ✅ ✅ ❌ ✅ ✅ ❌ ❌ ✅ ❌
CWE-749 노출된 위험한 메서드 또는 함수 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ✅
CWE-754 비정상 또는 예외 조건에 대한 부적절한 검사 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-757 협상 중 보안성이 낮은 알고리즘 선택('알고리즘 다운그레이드') ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-758 정의되지 않았거나 명시되지 않았거나 구현에 따라 달라지는 동작에 대한 의존 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-762 일치하지 않는 메모리 관리 루틴 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-764 중요 리소스의 다중 잠금 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-770 제한 또는 스로틀링 없는 리소스 할당 ✅ ✅ ❌ ✅ ❌ ✅ ❌ ✅ ❌
CWE-772 유효 수명 이후 리소스 해제 누락 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-775 유효 수명 이후 파일 디스크립터 또는 핸들 해제 누락 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-776 DTD 내 재귀적 엔터티 참조의 부적절한 제한('XML 엔터티 확장') ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-780 OAEP 없는 RSA 알고리즘 사용 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-787 범위를 벗어난 쓰기 ✅ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-789 과도한 크기 값을 사용한 메모리 할당 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-798 하드코딩된 자격 증명 사용 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-805 잘못된 길이 값을 사용한 버퍼 접근 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-821 잘못된 동기화 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-823 범위를 벗어난 포인터 오프셋 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-824 초기화되지 않은 포인터 접근 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-825 만료된 포인터 역참조 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-833 교착 상태 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-843 호환되지 않는 유형을 사용한 리소스 접근('유형 혼동') ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-908 초기화되지 않은 리소스 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-913 동적으로 관리되는 코드 리소스의 부적절한 제어 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-915 동적으로 결정되는 객체 속성의 부적절하게 제어된 수정 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-917 표현식 언어 문에 사용된 특수 요소의 부적절한 중립화('표현식 언어 인젝션') ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-918 서버 측 요청 위조(SSRF) ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-942 신뢰할 수 없는 도메인을 허용하는 크로스 도메인 정책 ❌ ❌ ❌ ✅ ✅ ✅ ❌ ✅ ❌
CWE-943 데이터 쿼리 로직 내 특수 요소의 부적절한 중립화 ❌ ❌ ❌ ✅ ✅ ✅ ❌ ❌ ❌
CWE-1004 'HttpOnly' 플래그가 없는 민감한 쿠키 ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-1021 렌더링된 UI 레이어 또는 프레임의 부적절한 제한 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-1024 호환되지 않는 유형의 비교 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1061 불충분한 캡슐화 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1077 잘못된 연산자를 사용한 부동 소수점 비교 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1079 가상 소멸자 메서드가 없는 부모 클래스 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1098 적절한 복사 제어 요소 없이 포인터 항목을 포함하는 데이터 요소 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1104 유지 관리되지 않는 서드파티 구성 요소 사용 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌
CWE-1116 부정확한 주석 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1164 관련 없는 코드 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1204 취약한 초기화 벡터(IV) 생성 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-1260 보호된 메모리 범위 간 중첩의 부적절한 처리 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1275 SameSite 속성이 부적절한 민감한 쿠키 ❌ ❌ ❌ ❌ ❌ ✅ ✅ ✅ ❌
CWE-1321 객체 프로토타입 속성의 부적절하게 제어된 수정('프로토타입 오염') ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-1327 제한되지 않은 IP 주소에 대한 바인딩 ❌ ❌ ❌ ✅ ❌ ❌ ❌ ✅ ❌
CWE-1333 비효율적인 정규식 복잡도 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ✅
CWE-1335 정수의 잘못된 비트 시프트 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1336 템플릿 엔진에 사용된 특수 요소의 부적절한 중립화 ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌
CWE-1390 취약한 인증 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ✅ ❌
CWE-1341 동일한 리소스 또는 핸들의 다중 해제 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1419 리소스의 잘못된 초기화 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌

Swift 및 Objective-C CWE 커버리지#

Swift 및 Objective-C 분석은 beta 단계이며 별도의 CI/CD job인 gitlab-advanced-sast-ext로 실행됩니다. 자세한 내용은 Swift 및 Objective-C 구성을 참고합니다.

GitLab Advanced SAST는 Swift와 Objective-C를 합쳐 다음 유형의 약점을 찾아냅니다. 두 언어의 커버리지가 동일하지는 않으며 beta 기간 동안 계속 확대됩니다.

CWE CWE 설명
CWE-22 제한된 디렉터리로의 경로명 부적절한 제한('경로 탐색')
CWE-78 OS 명령에 사용된 특수 요소의 부적절한 중립화('OS 명령 인젝션')
CWE-79 웹 페이지 생성 중 입력의 부적절한 중립화('크로스 사이트 스크립팅')
CWE-89 SQL 명령에 사용된 특수 요소의 부적절한 중립화('SQL 인젝션')
CWE-90 LDAP 쿼리에 사용된 특수 요소의 부적절한 중립화('LDAP 인젝션')
CWE-134 외부에서 제어되는 형식 문자열 사용
CWE-200 권한 없는 행위자에게 민감한 정보 노출
CWE-295 부적절한 인증서 검증
CWE-312 민감한 정보의 평문 저장
CWE-319 민감한 정보의 평문 전송
CWE-321 하드코딩된 암호화 키 사용
CWE-327 취약하거나 위험한 암호화 알고리즘 사용
CWE-328 취약한 해시 사용
CWE-329 CBC 모드에서 예측 가능한 IV 생성
CWE-330 불충분하게 무작위한 값 사용
CWE-347 암호화 서명의 부적절한 검증
CWE-367 검사 시점과 사용 시점(TOCTOU) 경쟁 조건
CWE-477 구식 함수 사용
CWE-502 신뢰할 수 없는 데이터 역직렬화
CWE-522 불충분하게 보호된 자격 증명
CWE-532 로그 파일에 민감한 정보 삽입
CWE-598 민감한 쿼리 문자열과 함께 GET 요청 메서드 사용
CWE-601 신뢰할 수 없는 사이트로의 URL 리디렉션('오픈 리디렉트')
CWE-611 XML 외부 엔터티 참조의 부적절한 제한
CWE-639 사용자가 제어하는 키를 통한 인가 우회
CWE-643 XPath 표현식 내 데이터의 부적절한 중립화('XPath 인젝션')
CWE-916 계산 노력이 불충분한 비밀번호 해시 사용
CWE-917 표현식 언어 문에 사용된 특수 요소의 부적절한 중립화('표현식 언어 인젝션')
CWE-918 서버 측 요청 위조(SSRF)
CWE-1333 비효율적인 정규식 복잡도
Note

이 페이지가 궁금한 점에 답이 되었는지 알려 주시기 바랍니다. 그렇지 않다면 에픽 15343에 사용 사례를 댓글로 남겨 주시기 바랍니다.

GitLab Advanced SAST CWE 커버리지

GitLab v19.5
Tier: Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

GitLab Advanced SAST는 지원되는 언어로 작성된 코드에서 여러 유형의 잠재적 보안 취약점을 찾아냅니다. GitLab은 각 잠재적 취약점에 대응하는 공통 약점 열거(Common Weakness Enumeration, CWE) 식별자를 할당합니다.

GitLab Advanced SAST는 지원되는 언어로 작성된 코드에서 여러 유형의 잠재적 보안 취약점을 찾아냅니다.

GitLab은 각 잠재적 취약점에 대응하는 공통 약점 열거(Common Weakness Enumeration, CWE) 식별자를 할당합니다. CWE 식별자는 보안 약점을 식별하는 업계 표준 방식이지만, 다음 사항을 알아 두어야 합니다.

  • CWE는 트리 구조로 배열됩니다. 예를 들어 CWE-22: Path Traversal은 CWE-23: Relative Path Traversal의 상위 항목입니다. 상대 경로 탐색 약점(CWE-23)을 구체적으로 탐지하는 스캐너는 정의상 더 일반적인 경로 탐색 범주(CWE-22)의 일부도 탐지합니다.
  • 명확성을 위해 이 표는 GitLab Advanced SAST 규칙에 할당된 정확한 CWE 식별자만 표시합니다. 상위 식별자는 표시하지 않습니다.

GitLab Advanced SAST에서 사용하는 규칙에 관한 자세한 내용은 SAST 규칙을 참고합니다.

언어별 CWE 커버리지#

GitLab Advanced SAST는 각 프로그래밍 언어에서 다음 유형의 약점을 찾아냅니다.

CWE CWE 설명 C C++ C# Go Java JavaScript, TypeScript PHP Python Ruby
CWE-15 시스템 또는 구성 설정의 외부 제어 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-22 제한된 디렉터리로의 경로명 부적절한 제한('경로 탐색') ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-23 상대 경로 탐색 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ✅ ❌
CWE-73 파일 이름 또는 경로의 외부 제어 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ✅
CWE-76 동등한 특수 요소의 부적절한 중립화 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-77 명령에 사용된 특수 요소의 부적절한 중립화('명령 인젝션') ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-78 OS 명령에 사용된 특수 요소의 부적절한 중립화('OS 명령 인젝션') ✅ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-79 웹 페이지 생성 중 입력의 부적절한 중립화('크로스 사이트 스크립팅') ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-80 웹 페이지 내 스크립트 관련 HTML 태그의 부적절한 중립화(기본 XSS) ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-88 명령 내 인수 구분자의 부적절한 중립화('인수 인젝션') ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-89 SQL 명령에 사용된 특수 요소의 부적절한 중립화('SQL 인젝션') ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-90 LDAP 쿼리에 사용된 특수 요소의 부적절한 중립화('LDAP 인젝션') ❌ ❌ ✅ ❌ ✅ ❌ ❌ ✅ ❌
CWE-91 XML 인젝션(블라인드 XPath 인젝션) ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-94 코드 생성의 부적절한 제어('코드 인젝션') ❌ ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅
CWE-95 동적으로 평가되는 코드 내 지시문의 부적절한 중립화('Eval 인젝션') ❌ ❌ ❌ ❌ ✅ ✅ ❌ ✅ ✅
CWE-113 HTTP 헤더 내 CRLF 시퀀스의 부적절한 중립화('HTTP 요청/응답 분할') ❌ ❌ ❌ ❌ ✅ ✅ ❌ ✅ ❌
CWE-116 출력의 부적절한 인코딩 또는 이스케이프 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ✅ ❌
CWE-117 로그에 대한 부적절한 출력 중립화 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-118 인덱싱 가능한 리소스의 잘못된 접근('범위 오류') ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌
CWE-125 범위를 벗어난 읽기 ✅ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-131 버퍼 크기의 잘못된 계산 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-155 와일드카드 또는 일치 기호의 부적절한 중립화 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌
CWE-180 잘못된 동작 순서: 정규화 이전 검증 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-182 데이터가 안전하지 않은 값으로 축약 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-185 잘못된 정규식 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ✅
CWE-190 정수 오버플로 또는 랩어라운드 ✅ ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌
CWE-191 정수 언더플로(랩 또는 랩어라운드) ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-208 관찰 가능한 타이밍 불일치 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-209 민감한 정보를 포함한 오류 메시지 생성 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-242 본질적으로 위험한 함수 사용 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌
CWE-243 작업 디렉터리 변경 없이 chroot Jail 생성 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-252 확인되지 않은 반환 값 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-253 함수 반환 값의 잘못된 확인 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-256 비밀번호의 평문 저장 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-271 권한 해제/축소 오류 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-272 최소 권한 위반 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-276 잘못된 기본 권한 ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ✅
CWE-295 부적절한 인증서 검증 ❌ ❌ ✅ ❌ ✅ ✅ ✅ ✅ ✅
CWE-297 호스트가 일치하지 않는 인증서의 부적절한 검증 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-306 중요 기능에 대한 인증 누락 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-311 민감한 데이터의 암호화 누락 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-319 민감한 정보의 평문 전송 ❌ ❌ ❌ ❌ ✅ ✅ ✅ ✅ ❌
CWE-322 엔터티 인증 없는 키 교환 ❌ ❌ ❌ ✅ ❌ ❌ ❌ ✅ ❌
CWE-323 암호화에서 논스, 키 쌍 재사용 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-326 불충분한 암호화 강도 ❌ ❌ ❌ ✅ ✅ ❌ ❌ ✅ ✅
CWE-327 취약하거나 위험한 암호화 알고리즘 사용 ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ❌
CWE-328 취약한 해시 사용 ❌ ❌ ❌ ❌ ❌ ✅ ✅ ❌ ✅
CWE-338 암호학적으로 취약한 의사 난수 생성기(PRNG) 사용 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
CWE-346 출처 검증 오류 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-347 암호화 서명의 부적절한 검증 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ✅ ❌
CWE-348 신뢰도가 낮은 소스 사용 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-352 크로스 사이트 요청 위조(CSRF) ❌ ❌ ✅ ❌ ✅ ❌ ❌ ✅ ✅
CWE-358 표준에 대한 부적절하게 구현된 보안 검사 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-362 부적절한 동기화 상태에서 공유 리소스를 사용하는 동시 실행('경쟁 조건') ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-369 0으로 나누기 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-377 안전하지 않은 임시 파일 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ✅ ❌
CWE-398 코드 품질 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-400 통제되지 않은 리소스 소비 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-401 유효 수명 이후 메모리 해제 누락 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-404 부적절한 리소스 종료 또는 해제 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-409 고도로 압축된 데이터의 부적절한 처리(데이터 증폭) ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌
CWE-413 부적절한 리소스 잠금 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-415 이중 해제 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-416 해제 후 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-448 초기화 시 하드코딩된 리터럴 과다 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-457 초기화되지 않은 변수 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-459 불완전한 정리 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-466 예상 범위를 벗어난 포인터 값 반환 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-467 포인터 유형에 sizeof() 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-469 크기 결정을 위한 포인터 뺄셈 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-470 클래스 또는 코드 선택에 외부에서 제어되는 입력 사용('안전하지 않은 리플렉션') ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-476 NULL 포인터 역참조 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-477 구식 함수 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-489 활성 디버그 코드 ❌ ❌ ❌ ✅ ✅ ❌ ❌ ✅ ❌
CWE-497 권한 없는 제어 영역에 민감한 시스템 정보 노출 ❌ ❌ ❌ ❌ ❌ ❌ ✅ ✅ ❌
CWE-501 신뢰 경계 위반 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-502 신뢰할 수 없는 데이터 역직렬화 ❌ ❌ ✅ ❌ ✅ ✅ ✅ ✅ ✅
CWE-521 취약한 비밀번호 요구 사항 ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌
CWE-522 불충분하게 보호된 자격 증명 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-552 외부 당사자가 접근할 수 있는 파일 또는 디렉터리 ❌ ❌ ❌ ✅ ✅ ❌ ❌ ❌ ❌
CWE-554 ASP.NET 구성 오류: 입력 검증 프레임워크 미사용 ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌
CWE-561 데드 코드 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-562 스택 변수 주소 반환 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-563 사용하지 않는 변수에 대한 할당 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-573 호출자의 부적절한 사양 준수 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-587 포인터에 고정 주소 할당 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-588 비구조체 포인터의 하위 항목 접근 시도 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-598 민감한 쿼리 문자열과 함께 GET 요청 메서드 사용 ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌
CWE-599 OpenSSL 인증서 검증 누락 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-601 신뢰할 수 없는 사이트로의 URL 리디렉션('오픈 리디렉트') ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-606 루프 조건에 대한 확인되지 않은 입력 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ✅ ❌
CWE-611 XML 외부 엔터티 참조의 부적절한 제한 ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ❌
CWE-613 불충분한 세션 만료 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-614 'Secure' 속성이 없는 HTTPS 세션의 민감한 쿠키 ❌ ❌ ✅ ✅ ✅ ✅ ✅ ❌ ❌
CWE-639 사용자가 제어하는 키를 통한 인가 우회 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-643 XPath 표현식 내 데이터의 부적절한 중립화('XPath 인젝션') ❌ ❌ ✅ ❌ ✅ ✅ ❌ ✅ ❌
CWE-667 부적절한 잠금 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-670 항상 잘못된 제어 흐름 구현 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-672 만료 또는 해제 이후 리소스에 대한 작업 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-676 잠재적으로 위험한 함수 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-684 지정된 기능의 잘못된 제공 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-685 인수 개수가 잘못된 함수 호출 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-686 인수 유형이 잘못된 함수 호출 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-687 인수 값이 잘못 지정된 함수 호출 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-704 잘못된 유형 변환 또는 캐스트 ✅ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-732 중요 리소스에 대한 잘못된 권한 할당 ✅ ✅ ❌ ✅ ✅ ❌ ❌ ✅ ❌
CWE-749 노출된 위험한 메서드 또는 함수 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ✅
CWE-754 비정상 또는 예외 조건에 대한 부적절한 검사 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-757 협상 중 보안성이 낮은 알고리즘 선택('알고리즘 다운그레이드') ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-758 정의되지 않았거나 명시되지 않았거나 구현에 따라 달라지는 동작에 대한 의존 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-762 일치하지 않는 메모리 관리 루틴 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-764 중요 리소스의 다중 잠금 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-770 제한 또는 스로틀링 없는 리소스 할당 ✅ ✅ ❌ ✅ ❌ ✅ ❌ ✅ ❌
CWE-772 유효 수명 이후 리소스 해제 누락 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-775 유효 수명 이후 파일 디스크립터 또는 핸들 해제 누락 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-776 DTD 내 재귀적 엔터티 참조의 부적절한 제한('XML 엔터티 확장') ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-780 OAEP 없는 RSA 알고리즘 사용 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-787 범위를 벗어난 쓰기 ✅ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-789 과도한 크기 값을 사용한 메모리 할당 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-798 하드코딩된 자격 증명 사용 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-805 잘못된 길이 값을 사용한 버퍼 접근 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-821 잘못된 동기화 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-823 범위를 벗어난 포인터 오프셋 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-824 초기화되지 않은 포인터 접근 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-825 만료된 포인터 역참조 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-833 교착 상태 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-843 호환되지 않는 유형을 사용한 리소스 접근('유형 혼동') ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-908 초기화되지 않은 리소스 사용 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-913 동적으로 관리되는 코드 리소스의 부적절한 제어 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-915 동적으로 결정되는 객체 속성의 부적절하게 제어된 수정 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅
CWE-917 표현식 언어 문에 사용된 특수 요소의 부적절한 중립화('표현식 언어 인젝션') ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-918 서버 측 요청 위조(SSRF) ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-942 신뢰할 수 없는 도메인을 허용하는 크로스 도메인 정책 ❌ ❌ ❌ ✅ ✅ ✅ ❌ ✅ ❌
CWE-943 데이터 쿼리 로직 내 특수 요소의 부적절한 중립화 ❌ ❌ ❌ ✅ ✅ ✅ ❌ ❌ ❌
CWE-1004 'HttpOnly' 플래그가 없는 민감한 쿠키 ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
CWE-1021 렌더링된 UI 레이어 또는 프레임의 부적절한 제한 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
CWE-1024 호환되지 않는 유형의 비교 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1061 불충분한 캡슐화 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1077 잘못된 연산자를 사용한 부동 소수점 비교 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1079 가상 소멸자 메서드가 없는 부모 클래스 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1098 적절한 복사 제어 요소 없이 포인터 항목을 포함하는 데이터 요소 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1104 유지 관리되지 않는 서드파티 구성 요소 사용 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌
CWE-1116 부정확한 주석 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1164 관련 없는 코드 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1204 취약한 초기화 벡터(IV) 생성 ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-1260 보호된 메모리 범위 간 중첩의 부적절한 처리 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1275 SameSite 속성이 부적절한 민감한 쿠키 ❌ ❌ ❌ ❌ ❌ ✅ ✅ ✅ ❌
CWE-1321 객체 프로토타입 속성의 부적절하게 제어된 수정('프로토타입 오염') ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
CWE-1327 제한되지 않은 IP 주소에 대한 바인딩 ❌ ❌ ❌ ✅ ❌ ❌ ❌ ✅ ❌
CWE-1333 비효율적인 정규식 복잡도 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ✅
CWE-1335 정수의 잘못된 비트 시프트 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1336 템플릿 엔진에 사용된 특수 요소의 부적절한 중립화 ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌
CWE-1390 취약한 인증 ❌ ❌ ❌ ❌ ✅ ❌ ❌ ✅ ❌
CWE-1341 동일한 리소스 또는 핸들의 다중 해제 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CWE-1419 리소스의 잘못된 초기화 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌

Swift 및 Objective-C CWE 커버리지#

Swift 및 Objective-C 분석은 beta 단계이며 별도의 CI/CD job인 gitlab-advanced-sast-ext로 실행됩니다. 자세한 내용은 Swift 및 Objective-C 구성을 참고합니다.

GitLab Advanced SAST는 Swift와 Objective-C를 합쳐 다음 유형의 약점을 찾아냅니다. 두 언어의 커버리지가 동일하지는 않으며 beta 기간 동안 계속 확대됩니다.

CWE CWE 설명
CWE-22 제한된 디렉터리로의 경로명 부적절한 제한('경로 탐색')
CWE-78 OS 명령에 사용된 특수 요소의 부적절한 중립화('OS 명령 인젝션')
CWE-79 웹 페이지 생성 중 입력의 부적절한 중립화('크로스 사이트 스크립팅')
CWE-89 SQL 명령에 사용된 특수 요소의 부적절한 중립화('SQL 인젝션')
CWE-90 LDAP 쿼리에 사용된 특수 요소의 부적절한 중립화('LDAP 인젝션')
CWE-134 외부에서 제어되는 형식 문자열 사용
CWE-200 권한 없는 행위자에게 민감한 정보 노출
CWE-295 부적절한 인증서 검증
CWE-312 민감한 정보의 평문 저장
CWE-319 민감한 정보의 평문 전송
CWE-321 하드코딩된 암호화 키 사용
CWE-327 취약하거나 위험한 암호화 알고리즘 사용
CWE-328 취약한 해시 사용
CWE-329 CBC 모드에서 예측 가능한 IV 생성
CWE-330 불충분하게 무작위한 값 사용
CWE-347 암호화 서명의 부적절한 검증
CWE-367 검사 시점과 사용 시점(TOCTOU) 경쟁 조건
CWE-477 구식 함수 사용
CWE-502 신뢰할 수 없는 데이터 역직렬화
CWE-522 불충분하게 보호된 자격 증명
CWE-532 로그 파일에 민감한 정보 삽입
CWE-598 민감한 쿼리 문자열과 함께 GET 요청 메서드 사용
CWE-601 신뢰할 수 없는 사이트로의 URL 리디렉션('오픈 리디렉트')
CWE-611 XML 외부 엔터티 참조의 부적절한 제한
CWE-639 사용자가 제어하는 키를 통한 인가 우회
CWE-643 XPath 표현식 내 데이터의 부적절한 중립화('XPath 인젝션')
CWE-916 계산 노력이 불충분한 비밀번호 해시 사용
CWE-917 표현식 언어 문에 사용된 특수 요소의 부적절한 중립화('표현식 언어 인젝션')
CWE-918 서버 측 요청 위조(SSRF)
CWE-1333 비효율적인 정규식 복잡도
Note

이 페이지가 궁금한 점에 답이 되었는지 알려 주시기 바랍니다. 그렇지 않다면 에픽 15343에 사용 사례를 댓글로 남겨 주시기 바랍니다.