Files
sif/modules/recon/argocd-api-exposure.yaml
T
TigahandGitHub 40482a8409 feat(modules): add argo cd exposure module (#219)
modules/recon/argocd-api-exposure.yaml flags an exposed Argo CD api server through
its unauthenticated /api/version endpoint, keyed on the KustomizeVersion and
HelmVersion fields a generic version response does not carry, then extracts the
server version.

internal/modules/argocd_exposure_test.go drives the module through ExecuteHTTPModule
and asserts the leak alongside the near misses: each keying field missing on its own,
a generic version json, a plain 200 and a 404.

verify: go test ./internal/modules, each matcher and extractor proven to bite
(break -> red, restore -> green).
2026-06-22 16:49:52 -07:00

40 lines
724 B
YAML

# Argo CD API Exposure Detection Module
id: argocd-api-exposure
info:
name: Argo CD API Exposure
author: sif
severity: medium
description: Detects an exposed Argo CD api server through its unauthenticated version endpoint
tags: [argocd, gitops, kubernetes, api, exposure, recon]
type: http
http:
method: GET
paths:
- "{{BaseURL}}/api/version"
matchers:
- type: status
status:
- 200
- type: word
part: body
words:
- "\"KustomizeVersion\""
- type: word
part: body
words:
- "\"HelmVersion\""
extractors:
- type: regex
name: argocd_version
part: body
regex:
- '"Version"\s*:\s*"([^"]+)"'
group: 1