Qodana 2026.2、JVMコード向けにポスト量子暗号チェックを追加

Qodana 2026.2が公開され、新たなセキュリティ検査、ベンチマーク結果の公開、ポスト量子暗号チェック、そしてレポートの場所を指定する必要がなくなったカバレッジレポート機能が搭載されました。

Image

セキュリティ関連の機能は.NETリンターに組み込まれており、デフォルトで実行されます。QodanaはC#、JavaScript、TypeScriptにおいて信頼できないデータをファイルをまたいで追跡し、単一箇所のルールでは見逃してしまうSQLインジェクション、コマンドインジェクション、クロスサイトスクリプティング、パストラバーサルを検出します。検出結果はIDEおよびCI上で、チームが既に確認している他の情報と並んで表示されます。

JetBrainsは解析を2つに分けています。パターンルールは1箇所で不正なコードを検出し、テイントエンジンはデータの流れを追跡します。チームはOpenGrep形式で独自のルールを追加することも可能です。

誰でも閲覧できるベンチマーク結果

静的解析ベンチマーク評価ランナーであるSABERは、公開されているセキュリティベンチマークに対してQodanaを実行し、その検出結果を既知の期待される結果と比較します。このスイートは、C#とJavaScript向けのCodeQLベンチマーク、Sonarが公開した正解データと照合してスコア付けされる脆弱性のあるアプリ「WebGoat.NET」、そしてポスト量子暗号のデモプロジェクトをカバーしています。

実行結果と集計結果は、ゲストログインが可能なTeamCityサーバー上に置かれています。正解データとの比較では、スキャナーが検出した項目と見逃した項目の両方が記録され、いずれの列も一般公開されています。

暗号チェックは5段階のレベル

Qodana for JVMは、量子コンピュータによって解読されうる暗号方式を検出します。この検査グループはNISTのポスト量子暗号に関する推奨事項に従っており、量子時代以前のレガシーなアルゴリズムを検出する最低レベルから、最大限のセキュリティを除くすべてを検出する最高レベルまで段階的に設定されています。各レベルには、それより下位のレベルの検出項目もすべて含まれます。

早期に対策を始めるべき理由は、データの保存にあります。暗号化された通信を傍受・保存した攻撃者は、それを解読できるハードウェアが登場するまで待ち続けることが可能であり、この手法は「harvest now, decrypt later(今collect、後で復号)」として知られています。

ライセンスゲート、Laravel、カバレッジ

ビルドは依存関係のライセンスによって失敗させることができます。チームが禁止するライセンスと、Qodanaが識別できないライセンスをそれぞれ設定する2つの項目があり、インクリメンタル解析では新たに発生した違反のみがビルドを失敗させます。Laravelのチェックは、Qodana for PHPにおいてデフォルトで有効になっています。

カバレッジレポートについては、JVM、Android、JavaScript、PHP、Python、Go、.NETの各プロジェクトのデフォルトの場所を自動的に参照するようになったため、レポートをQodanaのディレクトリにコピーする必要がなくなりました。プルリクエストの解析では新たに追加されたコードのカバレッジが報告され、IDE上ではテストが触れていない変更箇所がハイライト表示されます。

KotlinとJavaのコードについても、今後のリリースで同様のパターンルールとファイルをまたいだテイント解析が提供される予定です。.NETリンターには、この両方が既に搭載されています。

翻訳元: https://www.helpnetsecurity.com/2026/08/03/qodana-2026-2-static-analysis-benchmarks/

ソース: helpnetsecurity.com