GitHubは5月28日(現地時間)、コードスキャン機能の中核である静的解析エンジンCodeQLの最新バージョン2.25.5を公開した。今回のアップデートでは、C/C++、Java/Kotlin、GitHub Actionsに対するクエリの判定精度向上や新たな検出対象の追加が行われている。
JavaおよびKotlin向けには、Models-as-Data行でパスを読み取るだけのシンクを区別する新しい「path-injection[read]」シンク種別が導入された。これにより、例えばClassLoader.getResourceやFileInputStream、FileReaderのような読み取り専用のシンクと、より危険なシンクを区別できるようになった。また、zipslipに関するクエリでは、アーカイブエントリ名が読み取り専用シンクにしか到達しない場合、誤検知が減少した。
GitHub Actions関連では、poisonable_stepsのモデル化が拡張され、Pythonモジュール経由で実行されるスクリプトやディレクトリ内でのgo runを検出可能となった。さらにactions/unpinned-tagクエリがaction.ymlやaction.yamlなどの複合アクションメタデータも対象とし、より総合的な検出を実現した。helpファイルの記述修正や、query名の明確化も行われている。
C/C++向けでは、cpp/cleartext-transmissionクエリがfscanf系関数において、ソケット以外の入力ではアラートを出さなくなり、誤検知を低減した。
CodeQLの新バージョンは、github.com上のGitHubコードスキャン利用者に自動的に適用され、GitHub Enterprise Server 3.22でも利用可能となる。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
