sarif utils
v0.2.2
現在のライブラリは、 .sarifファイルを使用するように指示されたユーティリティのセットを提供します。
SARIF-静的分析結果インターチェンジ形式は、Microsoftが詳しく説明した静的分析ツールの出力の標準のJSONベースの形式です。
異なる静的解析ツールがありますが、一般的にそれらはすべて1つの概念によって結合されています - ソフトウェアの脆弱性を検出します。
したがって、静的分析ツールの作業の出力では、一連のwarningsがあります。
コードの匂いを指し示しています。いくつかのツールはさらに進んで機会を提供しています
そのようなコードの臭いを自動的にfixには。
したがって、静的分析ツールのレポートの可能な形式の1つである可能性のあるSARIFファイルには、ターゲットファイルの対応する脆弱性を指し示すそのようなツールによって取得されたwarningsとfixesの対応するセクションが含まれます。
Fix-Patchesモジュールは、 SARIFのフォーマットされたファイルのfix objectセクションで動作するように設定されています。
fix object 、ツールで示される問題の提案された修正を表します。Fix-Patchesそのようなセクションを解析し、 SARIFで表示されるターゲットファイルのコピーを作成し、これらのコピーに修正を自動的に適用します。結果出力には、適用された修正を備えた提供されたターゲットファイルのコピーへのパスのリストが含まれます。
注: SARIFファイルが1つのファイルに同じ領域の複数の修正が含まれている場合、最初の修正のみがアピードされます。
ライブラリは、適用される修正パッチに使いやすいAPIを提供します。SARIF SARIFへのパスを提供するだけです。これには、ターゲットファイルの修正リスト( fix objects )と、これらのファイルへのパスのリストがSARIFで表示されます(絶対/相対パスを介して)。
val processedFiles : List < Path > = SarifFixAdapter (
sarifFile = sarifFilePath,
targetFiles = listOfTargetFilesPaths,
testRoot = " /path/to/test/root/directory/ " .toPath()
).process()