GitHubは4月21日(現地時間)、静的解析エンジン「CodeQL」の機能拡張を発表した。
今回のアップデートにより、C/C++、C#、Go、Java/Kotlin、JavaScript/TypeScript、Python、Ruby、Rustといった複数言語において、データ拡張(models-as-data)を用いてカスタムサニタイザやバリデータを定義できるようになった。
従来はこれらの定義にカスタムのCodeQLコードが必要だったが、新たにYAML形式のデータ拡張ファイル上で宣言的に追加が可能となった。具体的には、barrierModel(サニタイズ関数のモデリング)とbarrierGuardModel(安全性を判定する条件分岐のモデリング)という2つの新しい述語が導入されている。
これにより、独自のサニタイズやバリデーションロジックを柔軟に静的解析対象へ反映でき、CodeQLモデルパックにも適用できる。新機能はCodeQL 2.25.2以降で利用可能だ。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
