Skip to content

CodeQLのautobuildとは何か

This content is a draft and will not be included in production builds.

CodeQLのActionには build-mode パラメータが存在していて、以下の値を設定できる。

  • none
  • autobuild
  • manual

ビルドが不要なスクリプト言語などは none を選択する。自動ビルドに対応している言語の場合は autobuild を設定すればいい。

しかし manual の場合は何をすればいいのか。ソースコードを読むと autobuild の場合は autobuild.sh または autobuild.bat を実行していることが読み取れる。

上記に書かれている codeql database が何をしているのか詳しくは調べられていないけど、以下の記事やドキュメントから推測する限りでは、ビルドコマンドで実行したプロセスを監視しておいて、そのプロセスが読んだファイルや書き込んだファイル等を使って検査しているのだろう。例えばGoの場合、コンパイラ自体に何か特別な細工がしてあって、その実行トレースを読んでいる。