Skip to main content

CodeQL 분석을 위한 JavaScript 및 TypeScript 쿼리

default 또는 security-extended 쿼리 도구 모음을 선택할 때 CodeQL에서 JavaScript 또는 TypeScript로 작성된 코드를 분석하는 데 사용하는 쿼리를 살펴봅니다.

누가 이 기능을 사용할 수 있는 있나요?

Code scanning는 GitHub Enterprise Server의 조직 소유 리포지토리에서 사용할 수 있습니다. 이 기능을 사용하려면 GitHub Advanced Security에 대한 라이선스가 필요합니다. 자세한 내용은 "GitHub Advanced Security 정보"을(를) 참조하세요.

CodeQL에는 JavaScript 및 TypeScript 코드 분석을 위한 많은 쿼리가 포함되어 있습니다. default 쿼리 도구 모음의 모든 쿼리는 기본적으로 실행됩니다. security-extended 쿼리 도구 모음을 사용하도록 선택하면 추가 쿼리가 실행됩니다. 자세한 내용은 "CodeQL 쿼리 도구 모음"을(를) 참조하세요.

JavaScript 및 TypeScript 분석을 위한 기본 제공 쿼리

이 표에는 CodeQL 작업과 CodeQL CLI의 최신 릴리스에서 사용할 수 있는 쿼리가 나열되어 있습니다. 자세한 내용은 CodeQL 설명서 사이트에서 CodeQL 변경 로그를 참조하세요.

참고: GitHub Enterprise Server 3.11의 초기 릴리스에는 CodeQL 작업과 CodeQL CLI 2.14.6이(가) 포함되었는데, 여기에는 이러한 쿼리가 모두 포함되지 않을 수도 있습니다. 사이트 관리자가 CodeQL 버전을 최신 릴리스로 업데이트할 수 있습니다. 자세한 내용은 "어플라이언스에 대한 코드 검사 구성"을(를) 참조하세요.

쿼리 이름관련 CWE기본값확장자동 수정
보관 파일의 압축을 푸는 중 임의 파일 액세스("Zip Slip")022
잘못된 HTML 필터링 regexp020, 080, 116, 184, 185, 186
대/소문자를 구분하는 미들웨어 경로178
중요한 정보의 일반 텍스트 저장312, 315, 359
중요한 쿠키의 일반 텍스트 전송614, 311, 312, 319
중요한 정보의 일반 텍스트 로깅312, 359, 532
클라이언트 쪽 교차 사이트 스크립팅079, 116
클라이언트 쪽 URL 리디렉션079, 116, 601
코드 삽입094, 095, 079, 116
자격 증명 전송에 대한 CORS 잘못된 구성346, 639, 942
암호화적으로 안전한 원본에서 편향된 난수 만들기327
무제한 대상 원본과 창 간 통신201, 359
사용자 제어 원본에서 빌드된 데이터베이스 쿼리089, 090, 943
암호화되지 않은 통신 채널을 사용하여 종속성 다운로드300, 319, 494, 829
사용자 제어 데이터의 역직렬화502
SSL 인증서 유효성 검사 사용 중지295, 297
Electron webSecurity 사용 중지79
SCE 사용 중지116
HTML로 재해석된 DOM 텍스트079, 116
두 번 컴파일1176
두 번 이스케이프 또는 이스케이프 취소116, 020
보안에 취약한 연결을 통해 중요한 파일 다운로드829
Electron allowRunningInsecureContent 사용494
HTML로 재해석된 예외 텍스트079, 116
비공개 파일 노출200, 219, 548
작업에 식 삽입094
하드 코드된 자격 증명259, 321, 798
전자 메일 생성의 호스트 헤더 중독640
부적절한 코드 삭제094, 079, 116
신뢰할 수 없는 원본의 기능 포함830
불완전한 HTML 특성 삭제079, 116, 020
불완전한 다중 문자 삭제020, 080, 116
호스트 이름에 대한 불완전한 정규식020
불완전한 문자열 이스케이프 또는 인코드020, 080, 116
불완전한 URL 체계 검사020, 184
불완전한 URL 부분 문자열 삭제020
잘못된 접미사 검사020
비효율적인 정규식1333, 730, 400
스택 추적을 통한 정보 노출209, 497
보안에 취약한 임의성338
보안에 취약한 URL 허용 목록183, 625
비밀 또는 공개 키 검증이 누락된 JWT347
루프 경계 삽입834, 730
CSRF 미들웨어 누락352
트래픽률 제한 누락770, 307, 400
지나치게 허용적인 정규식 범위020
제어되지 않은 데이터에 사용되는 다항식 정규식1333, 730, 400
프로토타입 오염 할당078, 079, 094, 400, 471, 915
프로토타입 오염 함수078, 079, 094, 400, 471, 915
프로토타입 오염 통화 통합078, 079, 094, 400, 471, 915
교차 사이트 스크립팅 반영079, 116
정규식 삽입730, 400
부분 문자열 자체로 대체116
리소스 소진400, 770
전체 개체 통과로 인한 리소스 소진400
두 번째 순서 명령 삽입078, 088
GET 요청에서 읽은 중요한 데이터598
클라이언트에 노출되는 중요한 서버 쿠키1004
서버 충돌248, 730
서버 쪽 요청 위조918
서버 쪽 URL 리디렉션601
환경 값에서 빌드된 셸 명령078, 088
빌드 아티팩트에 중요한 정보 저장312, 315, 359
저장된 교차 사이트 스크립팅079, 116
템플릿 개체 삽입073, 094
매개 변수 변조를 통한 유형 혼동843
제어되지 않은 명령줄078, 088
경로 식에 제어되지 않은 데이터 사용됨022, 023, 036, 073, 099
cat 프로세스의 불필요한 사용078
안전하지 않은 동적 메서드 액세스094
자체 닫는 HTML 태그의 안전하지 않은 확장079, 116
라이브러리 입력에서 생성된 안전하지 않은 HTML079, 116
안전하지 않은 jQuery 플러그 인079, 116
라이브러리 입력에서 생성된 안전하지 않은 셸 명령078, 088
유효성 검사가 수행되지 않은 동적 메서드 호출754
손상되었거나 약한 암호화 알고리즘 사용327, 328
약한 암호화 키 사용326
외부에서 제어되는 형식 문자열 사용134
계산 작업이 부족한 비밀번호 해시 사용916
쓸모없는 정규식 문자 이스케이프020
XML 외부 엔터티 확장611, 827
XML 내부 엔터티 확장776, 400
XPath 삽입643
서버 쪽 요청 위조918
구성 파일의 빈 비밀번호258, 862
세션 중단 실패384
아웃바운드 네트워크 요청의 파일 데이터200
코드로 해석되는 하드 코드된 데이터506
간접 제어되지 않은 명령줄078, 088
보안에 취약한 임시 파일377, 378
로그 삽입117
postMessage 처리기에서 원본 검증 누락020, 940
정규식 앵커 누락020
파일에 기록된 네트워크 데이터912, 434
구성 파일의 비밀번호256, 260, 313, 522
잠재적인 파일 시스템 경합 상태367
원격 속성 삽입250, 400
SameSite 제한이 없는 중요한 쿠키1275
라이브러리 입력에서 생성된 안전하지 않은 코드094, 079, 116
보안 확인의 사용자 제어 우회807, 290