SuperAPI AI 工具集

jfrog-package-curation

安全与审计

查看项目

更新于 10-15 23:31

技能介绍

用途:该技能面向 JFrog 平台上的包检查与下载流程,帮助判断某个包(npm、Maven、PyPI、Go、NuGet、Docker、Gradle 等)是否安全、是否被允许、是否符合审查策略,并在包操作失败时定位原因。前置条件要求先阅读 ../jfrog/SKILL.md 了解平台概念、领域模型、CLI 配置与 API 模式;在自行构造 GraphQL 字段前应阅读 ../jfrog/references/onemodel-graphql.md 和 ../jfrog/references/onemodel-query-examples.md,必要时用 GET "$JFROG_URL/onemodel/api/v1/supergraph/schema" 校验查询。

主要能力:1)检查并下载:先在 Public Catalog 用 OneModel GraphQL 查找,未找到再查 Stored Packages,确定最新版本后检查该版本是否存在于 JFrog 平台;存在则用 jf rt dl 从平台下载,不存在则检查审查授权(通过 jf api /artifactory/api/system/version 判断 addons 是否含 curation),已授权时调用 /xray/api/v1/curation/package_status/all_repos 判断是否被策略允许,未授权则通过远程仓库下载。2)排障:针对 ETARGET、pip "no matching distribution"、NU1102、403 / "blocked by curation policy"、豁免未生效等问题,需要 JFrog MCP curation 工具(jfs_curation_*),按 references/rca-procedure.md 执行预检、两门模型、症状分类与完整的 RCA 流程。

使用方式要点:GraphQL 查询通过 jf api 执行;二进制制品下载必须用 jf rt dl,不能用 jf api;目标必须是完整文件路径而非目录;远程仓库需去掉尾部 -cache 后缀再下载。审查 API 的 packageType 仅支持小写 npm、pypi、maven、go、nuget、docker、gradle。判断结果时需依据 jf api 的退出码与 stderr 中的 "returned 403",而非 stdout 的 HTTP 状态码。

适用场景:下载前判断包是否被允许;包操作被审查策略阻止或版本缺失时排查根因;确认豁免是否生效。

限制:排障路径依赖 JFrog MCP curation 工具,无对应 jf CLI 等价物;部分平台概念、CLI 配置和 API 模式需参考外部文档;资料未提供具体价格、配额或服务等级信息。