Files
sif/modules/recon/kubeflow-pipelines-exposure.yaml
T
TigahandGitHub c24617d16c feat(recon): add kubeflow pipelines and metaflow exposure modules (#290)
detect an anonymously reachable kubeflow pipelines apiserver, whose
same api accepts pipeline run submission with an attacker-supplied
workflow manifest (arbitrary container execution), and a metaflow
metadata service leaking flow and owner enumeration. match distinctive
snake_case json keys with status 200, fail closed on empty instances
to avoid the bare-substring false-positive class.
2026-07-22 12:46:15 -07:00

38 lines
979 B
YAML

# Kubeflow Pipelines API Exposure Detection Module
id: kubeflow-pipelines-exposure
info:
name: Kubeflow Pipelines API Exposure
author: sif
severity: high
description: Detects a Kubeflow Pipelines api server reachable without going through the istio/dex auth proxy, listing registered pipelines over its rest api; the same api accepts pipeline run submission, which executes arbitrary containers on the backing cluster
tags: [kubeflow, mlops, pipelines, kubernetes, data-orchestration, rce, exposure, unauth, recon]
type: http
http:
method: GET
paths:
- "{{BaseURL}}/apis/v1beta1/pipelines"
matchers:
- type: word
part: body
words:
- "\"pipelines\""
- "\"total_size\""
- "\"next_page_token\""
condition: and
- type: status
status:
- 200
extractors:
- type: regex
name: kubeflow_pipeline_count
part: body
regex:
- '"total_size"\s*:\s*([0-9]+)'
group: 1