CodeQL 4

#4 CodeQL - 쿼리 파일 작성해서 실행하기

본 글에서는 codeql에서 제공하는 기본 CodeQL 쿼리 파일이 아닌 우리가 직접 CodeQL 쿼리 파일을 작성해보고 실행시키는 방법을 서술하려 한다. Python을 기준으로 작성되었으나 Non-compiled 언어라면 어떤 언어든 가능하다. 언제쯤 MSBuild를 사용한 C++ CodeQL DB 구축에 성공할 지 모르겠다.. #환경 현재 시스템에 세팅된 CodeQL 설정은 아래와 같다. Working Dir: ~\Documents\CodeQL CodeQL CLI: ~\Documents\CodeQL\codeql-cli (version 2.6.0) CodeQL Lib: ~\Documents\CodeQL\codeql-repo (https://github.com/github/codeql) #테스트용 Pyt..

CodeQL 2021.09.08

#2 CodeQL - CodeQL CLI 구성

CodeQL CLI는 CodeQL DB를 만들고 DB에 쿼리하는 Command Line 프로그램이다. VS Code의 확장기능(Extension)으로도 사용가능하다. CodeQL CLI는 아래와 같은 명령 구조를 가진다. codeql [command] [subcommand] #CodeQL CLI 다운로드 우선 CodeQL CLI 프로그램을 다운로드 해야한다. CodeQL CLI는 github 계정의 codeql-cli-binaries 레포지토리에서 공개하고 있다. https://github.com/github/codeql-cli-binaries/releases 본인 운영체제에 맞는 버전을 다운로드한 후 적당한 위치에 압축을 푼다. 본 서에서는 ~/Documents/CodeQL/codeql-cli에 압축을..

CodeQL 2021.07.28

#3 CodeQL - 기본 제공 Javascript QL 사용하기

Abstract 본 글은 GeekMasher라는 분이 작성한 CodeQL 소개글에 나온 Javascript CodeQL 스캔 방법을 따라한 게시글이다. Javascript는 Non-Compiled 언어이기 때문에 데이터베이스 구축이 쉽다(아직 C/C++ CodeQL 데이터베이스 구축을 성공하지 못했다...). How to use JS CodeQL example query 현재 시스템에 세팅된 CodeQL 설정은 아래와 같다. Working Dir: ~\Documents\CodeQL CodeQL CLI: ~\Documents\CodeQL\codeql-cli CodeQL Lib: ~\Documents\CodeQL\codeql-repo (https://github.com/github/codeql) Create..

CodeQL 2021.06.22

#1 CodeQL - Hello, CodeQL

Abstract CodeQL은 LGTM이 개발한 코드 스캐닝 도구다. 소스코드를 대상으로 데이터베이스를 구축하고 해당 데이터베이스에 쿼리하는 형태로 구성되며, 변수나 함수, 클래스 선언부는 물론 변수에 할당된 값의 흐름까지도 추적할 수 있다. CodeQL은 github계정의 codeql 레포지토리에 공개되어있다. https://github.com/github/codeql Hello, CodeQL CodeQL을 개발한 LGTM 사이트에서 CodeQL 쿼리를 직접 실행할 수 있는 웹 쿼리 콘솔을 제공한다. 깃허브에 업로드한 자신의 프로젝트나 공개된 다른 사람의 깃허브 프로젝트를 대상으로 CodeQL을 실행할 수 있다. 프로젝트 하나 뿐만 아니라 여러 개의 프로젝트를 대상으로도 가능하다. 본 글에서는 깃허브에..

CodeQL 2021.06.12