このプロジェクトについて

purlvalidatorは、Apache-2.0ライセンスの下で提供される、Package-URL (PURL) を検証するためのGoライブラリです。完全にオフラインで動作するため、エアギャップ環境や制限された環境に適しており、PURLで表されるパッケージが実際に存在するかどうかを確認します。 このライブラリには、MineCodeによって抽出された既知のPackage-URLを含む、事前構築済みの有限状態変換器 (FST) が同梱されています。このFSTを使用してルックアップを行い、ベースPURL(バージョン、修飾子、またはサブパスを含まないPURL)が存在するかどうかを確認します。 現在サポートされているエコシステムには、apk, cargo, composer, conan, cpan, cran, debian, maven, npm, nuget, pypi, および swiftが含まれます。 Validate関数は、ベースPURLがパッケージ化されたデータ内に存在する場合はtrueを、構文的には正しいが未知である場合はfalseを返し、入力が有効なPURLではない場合や、バージョン、修飾子、サブパスが含まれている場合はエラーを返します。新しく抽出されたパッケージURLから生成された最新のFSTを含むパッチリリースが毎日公開されています。本プロジェクトには、FSTの構築、テストの実行、およびリンティングのためのmakeターゲットが含まれています。