SuperAPI AI 工具集

jfrog security (xray)

安全与审计

查看项目

更新于 10-16 18:05

技能介绍

用途

JFrog Security(Xray)技能用于让 AI 智能体通过 API 操作 JFrog 安全平台,完成软件供应链安全相关的扫描、策略管理、违规处理、报告生成与运行时监控等任务。它面向需要在开发与交付流程中集成 JFrog Xray 能力的场景。

认证与前置检查

所有请求都需要访问令牌,通过请求头传递:

Authorization: Bearer $JFROG_ACCESS_TOKEN

基础地址:

  • Xray:https://$JFROG_URL/xray/api/...
  • Runtime:https://$JFROG_URL/runtime/api/...

API 传输优先使用 jf api(JFrog CLI 2.100.0+),路径仅写 URL 部分,认证信息从 jf config 读取。当 CLI 缺失或版本低于 2.100.0 时,回退到使用 curl 配合 $JFROG_URL 与 bearer token 的方式。

需要认证时,按 login-flow.md 流程解析当前 JFrog 环境。jf CLI 为必需项,缺失时会自动安装。智能体通过 jf config show 检查已保存的凭据;若存在多个环境会询问使用哪一个;若不存在,则引导完成网页登录流程并通过 jf config add 保存凭据。

操作前先做预检:GET $JFROG_URL/xray/api/v1/system/ping(预期返回 HTTP 200)。若不可用,告知用户该实例未部署 Xray 并停止。

核心概念

扫描架构

JFrog Security 覆盖整个 SDLC:

  • IDE:通过 JFrog 插件在开发者 IDE 中实时扫描
  • Pull Request:合并前扫描 PR 制品(Frogbot)
  • Build/Binary:构建发布后通过 Xray watches 扫描
  • 持续监控:对所有已索引仓库持续扫描新出现的 CVE

关键实体

  • Policy:定义何为违规(安全、许可证或运营风险)的规则集合
  • Watch:将策略关联到资源(仓库、构建、发布包)以触发扫描
  • Violation:扫描中发现的策略违规
  • Component:Xray 识别的软件包(名称 + 版本 + 类型)
  • Ignore Rule:用于抑制特定违规的例外规则

风险类型

  • 恶意包:JFrog 威胁研究识别的已知恶意包
  • 软件漏洞:带严重级别与 CVSS 评分的 CVE
  • 许可证风险:不合规或传染性许可证(GPL、AGPL 等)
  • 运营风险:生命周期终止、维护活跃度低、高风险代码模式

主要 API 操作

扫描制品

POST $JFROG_URL/xray/api/v1/summary/artifact,请求体包含 paths 数组,返回漏洞与许可证摘要。

扫描构建

POST $JFROG_URL/xray/api/v1/summary/build,请求体包含 build_name 与 build_number。

策略

  • 创建安全策略:POST $JFROG_URL/xray/api/v2/policies,可定义规则、最低严重级别、阻止下载、使构建失败等动作
  • 列出策略:GET $JFROG_URL/xray/api/v2/policies

Watch

POST $JFROG_URL/xray/api/v2/watches,包含 general_data、project_resources(资源类型与名称)以及 assigned_policies。

违规

POST $JFROG_URL/xray/api/v1/violations,支持按 watch_name、min_severity、type 过滤,并支持分页(limit、offset)。

忽略规则

POST $JFROG_URL/xray/api/v1/ignore_rules,可填写备注、漏洞列表与到期日期。

报告

POST $JFROG_URL/xray/api/v1/reports/vulnerabilities,可指定报告名称、类型、资源(仓库)与过滤条件(如最低严重级别)。

高级安全(JAS)

需要 Advanced Security 订阅,启用后提供:

  • 上下文分析:分析漏洞在代码中是否真正可达,可减少约 80% 噪音
  • 密钥检测:扫描代码与二进制中的泄露凭据、API 密钥、令牌
  • SAST:源代码漏洞的静态应用安全测试
  • IaC 扫描:检查 Terraform、CloudFormation、Kubernetes YAML 中的错误配置
  • 应用配置暴露:检测不安全的应用程序配置

这些功能在 Xray 系统级别启用,并自动应用于被 watch 的资源。

运行时安全

监控 Kubernetes 中运行的容器以发现实时威胁。概念包括:

  • Runtime Sensor:部署在 K8s 集群中的轻量代理,监控容器行为
  • Runtime Controller:在部署前验证镜像的准入控制器
  • 镜像完整性:验证镜像未被篡改
  • 包谱系:将运行中的二进制追溯回其源构建

Runtime REST API

基础地址:https://$JFROG_URL/runtime/api/v1/

  • POST /clusters:列出集群(分页)
  • GET /clusters/{id}:获取集群详情
  • GET /images/tags:列出镜像标签
  • POST /workloads:列出工作负载
  • GET /registration-token:获取注册令牌
  • POST /registration-token/revoke:撤销并创建新令牌

文档:https://jfrog.com/help/r/jfrog-security-user-guide/products/runtime/apis

参考文件与相关模式

参考文件:

  • xray-api-reference.md:完整的 Xray REST API 端点目录
  • scanning-guide.md:分步扫描工作流指南

相关模式:

  • xray-security:覆盖 SDLC 的 SCA 扫描与策略
  • jas-security:带上下文分析的高级安全
  • run-time-security:Kubernetes 运行时监控
  • curation-security:下载前包验证

完成操作后,查看 skills/jfrog-patterns/flow-suggestions.md 的 Security Actions 部分以获取流程上下文并提供下一步建议。

文档

  • Xray REST APIs
  • Xray User Guide
  • Advanced Security
  • Runtime Security
  • Runtime APIs

限制

高级安全(JAS)功能需要 Advanced Security 订阅。Xray 未部署的实例无法使用相关操作。API 传输优先使用 JFrog CLI 2.100.0+,低版本或缺失时回退到 curl。