这个项目能做什么

purlvalidator 是一个采用 Apache-2.0 许可的 Go 库,用于验证 Package-URLs (PURLs)。它完全离线运行,适用于气隙或受限环境,并可检查 PURL 所代表的软件包是否真实存在。 该库随附一个预构建的有限状态转换器 (FST),其中包含由 MineCode 挖掘的已知 Package-URLs。它使用此 FST 进行查找,以确认基础 PURL(不含版本、限定符或子路径的 PURL)是否存在。 目前支持的生态系统包括 apk, cargo, composer, conan, cpan, cran, debian, maven, npm, nuget, pypi 和 swift。 Validate 函数在基础 PURL 存在于打包数据中时返回 true;当 PURL 语法正确但未知时返回 false;而当输入不是有效的 PURL 或包含版本、限定符或子路径时则返回错误。该项目每天发布一个补丁版本,其中包含由新挖掘的软件包 URL 生成的最新 FST。项目还包括用于构建 FST、运行测试和 linting 的 make 目标。