Trailmarkはコードをグラフに変えます ノート

Trailmarkはコードをグラフに変えます

Trailmark は、ソースコードをクエリ可能なコールグラフに変換する新しいオープンソースライブラリです。このグラフは、関数、クラス、それらの関係、およびセマンティックメタデータを表します。Claude スキルは、Python API を介してこのグラフと直接対話できます。従来のセキュリティ分析はしばしば検出事項のリストに依存しますが、攻撃者はグラフで考え、防御側に不利な状況を作り出します。Trailmark は、Claude のような AI モデルにこのグラフベースの推論能力を提供することを目指しています。 突然変異テストは、コードに小さな変更を加えてテストの品質を評価する方法であり、多くの生き残った突然変異体を生成します。これらの突然変異体のフラットなリストでは、同等、デッドコード、または実際に重要なものとの区別がつきません。Trailmark は、Claude がセキュリティの関連性に基づいてこれらの突然変異体をトリアージできるようにします。例えば、信頼されていない入力からの到達可能性などが挙げられます。このライブラリは、コードを 3 つのフェーズで処理します。tree-sitter を使用した AST の解析、高性能グラフへのインデックス作成、および呼び出し元、呼び出し先、攻撃サーフェスなどの情報のクエリです。 Trailmark は 17 のプログラミング言語をサポートし、8 つの事前構築済み Claude Code スキルを提供しています。これらのスキルは、突然変異体のトリアージ、テストベクトルの生成、プロトコル図の作成などのタスクを支援します。例えば、「genotoxic」スキルはグラフ分析を使用して生き残った突然変異体を分類します。「vector-forge」は、特定されたカバレッジギャップを埋めるためのテストベクトルを生成します。Trailmark は、静的アナライザーや監査ツールの検出結果も統合し、それらをコードグラフにマッピングします。 暗号ライブラリでの内部使用により、十分にテストされたコードでは同等の突然変異体が大部分を占めることが多いことが明らかになりました。これはフラットなリストでは見落とされていた詳細です。グラフ分析は、libhydrogen の単一の置換プリミティブがすべての暗号操作に影響を与えるなど、アーキテクチャ上のボトルネックも浮き彫りにしました。突然変異テストは、テストがコードの動作を制約できていない場所を特定することにより、標準化されたテストベクトルがない新しい構造にとって価値があることが証明されています。さまざまなコードベース全体で、一般的なパターンが現れました。算術モジュールは高いブラスト半径を持ち、コーデックパーサーは主要なファジングターゲットであり、プロパティベースのテストはしばしばまばらです。最終的に、Trailmark は、さまざまな分析ツールを連携させ、より的を絞ったセキュリティ評価を可能にする接続組織として機能します。