GitLabがリファクタリングと再フォーマットを通じて脆弱性... ノート
GitLab 日本語

GitLabがリファクタリングと再フォーマットを通じて脆弱性を追跡する方法

セキュリティスキャンでは、コメントの追加やファイルのフォーマット変更といったコードの軽微な変更により、同じ脆弱性が二重に報告されるという問題にしばしば直面します。これは無駄な監査作業につながり、スキャン結果への信頼を損ないます。この問題に対処するため、2022年に高度な脆弱性追跡機能が導入され、Scope+Offsetフィンガープリンティング手法を使用して、最も狭い囲むスコープと行オフセットによって検出結果を特定します。しかし、この手法には依然として限界があり、特にコメントや空行の追加といった非機能的な変更では、オフセットがずれ、トラッカーが重複した脆弱性と見なしてしまう可能性がありました。これを解決するため、フィンガープリントの計算時に非機能的なコードを無視する改良された手法が開発され、コメントの追加やファイルのフォーマット変更がフィンガープリントを変更しなくなりました。この正規化された手法は、複数のプログラミング言語にわたる439個のソースファイルからなるベンチマークで評価され、重複はゼロで、ユニークなフィンガープリントを全体で43%削減しました。一方、元のScope+Offset手法は、1,361個の重複フィンガープリントを蓄積し、ベースラインから77%増加しました。正規化されたScope+Offset手法は、現在GitLabでscope_offset_compressed追跡アルゴリズムとして利用可能であり、複数のプログラミング言語をサポートし、SASTツールの任意の組み合わせと組み合わせて使用できます。この手法に関する研究「Vulnerability Tracking using Normalized Scope+Offset」は、ASE 2026 Industry Showcaseで発表される予定であり、その発見はセキュリティスキャンの精度と効率の向上に重要な意味を持ちます。この手法の開発は、Julian Thome、Hua Yan、Lucas Charles、Craig Smith、Jason Leasureを含む数名の研究者の協力によるもので、彼らは研究と記事に貢献しました。