SuperAPI AI 工具集

JFrog Runtime

安全与审计

查看项目

更新于 10-16 09:10

技能介绍

JFrog Runtime 用于监控 Kubernetes 环境的运行时安全与运行状态,主要通过 API 与 JFrog 平台交互。

用途

  • 监控已注册到 JFrog Runtime 的 Kubernetes 集群
  • 检查节点健康状况与运行时传感器安装、版本情况
  • 列出正在运行的容器镜像,并获取其安全与运行状态信息

核心概念

  • Runtime Cluster:注册到 JFrog Runtime 用于监控的 Kubernetes 集群
  • Runtime Sensor:部署在 K8s 集群中、监控容器行为的轻量级代理
  • Runtime Controller:在部署前校验镜像的准入控制器
  • Node:集群中的单台机器,各自带有传感器状态与健康信息

认证与访问方式

所有请求都需要通过 Authorization 头携带访问令牌:

Authorization: Bearer $JFROG_ACCESS_TOKEN

基础 URL 为 https://$JFROG_URL/runtime/api/v1/...

API 传输优先使用 jf api(JFrog CLI 2.100.0+),相关规则见 jf-api-patterns.md(仅路径 URL;认证来自 jf config)。当 CLI 缺失或版本低于 2.100.0 时,才回退使用带 $JFROG_URL 与 bearer token 的 curl 示例。

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

主要能力

列出运行时集群

返回所有运行时集群及其节点数量与控制器状态。注意:该端点使用 POST 并携带请求体,而非 GET。

curl -s -X POST "$JFROG_URL/runtime/api/v1/clusters"
-H "Authorization: Bearer $JFROG_ACCESS_TOKEN"
-H "Content-Type: application/json"
-d '{"limit": 50}' | jq .

响应包含 total_count、pagination 以及 clusters 数组。每个集群含有:

  • id、name、provider、regions
  • controller_status(running 或 stopped)、controller_version
  • nodes_count、running_nodes_count、failed_nodes_count、disabled_nodes_count

获取指定集群

返回包括完整节点列表在内的详细信息。

curl -s -X GET "$JFROG_URL/runtime/api/v1/clusters/${CLUSTER_ID}/"
-H "Authorization: Bearer $JFROG_ACCESS_TOKEN" | jq .

注意集群 ID 后有结尾斜杠。

响应包含一个 cluster 对象(含所有集群字段)以及 nodes 数组。每个节点含有:

  • id、name、hostname、architecture
  • internal_ip、internal_dns、region
  • status、sensor_installed、sensor_version

列出正在运行的镜像

列出跨集群所有正在运行的容器镜像及其安全与运行状态。

curl -s -X GET "$JFROG_URL/runtime/api/v1/live/images?num_of_rows=100&statistics=true&timePeriod=now&page_num=1"
-H "Authorization: Bearer $JFROG_ACCESS_TOKEN" | jq .

查询参数:

  • num_of_rows(integer,默认 100):返回镜像数量
  • statistics(boolean,默认 true):是否包含聚合统计
  • timePeriod(string,默认 now):查询的时间窗口
  • filters(string,默认空):过滤表达式
  • page_num(integer,默认 1):页码

响应包含:

  • images 数组——每个镜像含 name、registry、repositoryPath、status、clustersCount、workloadsCount、cloudProviders,以及通过 riskiestTagVulns 提供的漏洞信息(按严重程度计数)
  • statistics 数组——键值对形式的聚合统计
  • totalCount——匹配的镜像总数

常见工作流

监控集群健康

  1. 列出所有集群以获取总览
  2. 检查 controller_status 为 "stopped" 或 failed_nodes_count 较高的集群
  3. 获取指定集群详情以检查各个节点

识别存在漏洞的运行镜像

  1. 使用 statistics=true 列出正在运行的镜像
  2. 检查每个镜像的 riskiestTagVulns 中的 critical/high 漏洞数量
  3. 使用 jfrog-security skill 获取特定软件包的详细漏洞信息

官方文档

  • Runtime Security
  • Runtime APIs