hunt-metrics-exposure – Other skill for AI agents
Hunt public /metrics, /health, and actuator endpoints leaking AI usage, DB pools, and operational intelligence.
Install the hunt-metrics-exposure skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/hunt-metrics-exposure-d2040.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /hunt-metrics-exposure – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/hunt-metrics-exposure-d2040.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $hunt-metrics-exposure – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/hunt-metrics-exposure-d2040.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /hunt-metrics-exposure – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/hunt-metrics-exposure-d2040.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /hunt-metrics-exposure – then describe the task you want done.
SKILL.md content
When to Use
The target uses modern observability tooling (Go, .NET, Java, Node.js). These frameworks often expose /metrics, /health, and /status endpoints that are forgotten behind auth. Unlike application data leaks, metrics leaks reveal the ENTIRE operational profile: which AI models are used, how many users are active, database connection exhaustion, and third-party service dependencies.
---
Phase 1 — Discover Metrics Endpoints
TARGET="https://target.com"
# Common observability paths
for ep in metrics health status ready live readyz healthz \
actuator/health actuator/metrics actuator/prometheus \
Telescope telescope horizon debug; do
code=$(curl --max-time 30 --connect-timeout 10 -sk -o /tmp/metrics_${ep}.txt -w "%{http_code}" \
"${TARGET}/${ep}" 2>/dev/null)
if [ "$code" = "200" ]; then
size=$(wc -c < /tmp/metrics_${ep}.txt)
echo " /${ep}: HTTP 200 (${size} bytes)"
fi
done---
Phase 2 — Analyze Prometheus Metrics
# Count unique metric families (each reveals a subsystem)
grep -c '^# HELP' /tmp/metrics_metrics.txt
# Extract AI/ML model usage
grep -i 'ai_\|model\|llm\|openai\|gemini\|copilot' /tmp/metrics_metrics.txt
# Extract database pool states
grep -i 'db_pool\|database\|connection' /tmp/metrics_metrics.txt
# Extract third-party dependencies
grep -i 'stripe\|openai\|sendgrid\|twilio\|email' /tmp/metrics_metrics.txt
# Extract request volumes (user activity)
grep -i 'http_request\|api_request\|grpc_request' /tmp/metrics_metrics.txt
# Extract circuit breaker states (service health)
grep -i 'circuit_breaker' /tmp/metrics_metrics.txt---
Phase 3 — Analyze Health/Status Endpoints
# Spring Boot Actuator
curl --max-time 30 --connect-timeout 10 -sk "${TARGET}/actuator/health" | python3 -m json.tool
curl --max-time 30 --connect-timeout 10 -sk "${TARGET}/actuator/metrics" | python3 -m json.tool
curl --max-time 30 --connect-timeout 10 -sk "${TARGET}/actuator/env" | python3 -m json.tool # May leak env vars
# Custom health endpoints
curl --max-time 30 --connect-timeout 10 -sk "${TARGET}/health" | python3 -m json.tool
curl --max-time 30 --connect-timeout 10 -sk "${TARGET}/api/health" | python3 -m json.tool
# Laravel Telescope (if exposed)
curl --max-time 30 --connect-timeout 10 -sk "${TARGET}/telescope/requests" | head -c 500---
What Metrics Reveal
| Metric | Intelligence Gained |
|--------|-------------------|
| ai_analyzer_output_total{model="gpt-5-mini"} | Which AI models are used, usage volume |
| db_pool_idle_connections{pool="api"} | Database pool sizing, connection exhaustion risk |
| circuit_breaker_state{client="stripe"} | Third-party dependencies and their health |
| clinical_copilot_sse_active | Real-time user count for specific features |
| http_requests_total | Request volume, peak hours, user activity |
| app_version / build_info | Deployed version, build timestamps |
---
Verification
- Confirmed exposure:
/metricsreturns Prometheus text format (lines starting with# HELPor# TYPE) - Actuator exposure:
/actuator/healthreturns JSON with component statuses - False positive: Endpoint returns
{"status":"ok"}only (minimal health check, not a metrics leak) - Severity upgrade: If
/actuator/envor/actuator/configpropsis exposed → CRITICAL (environment variables leaked)
---
What Next
- AI model usage metrics → pivot to
hunt-llm-ai(prompt injection on discovered models) - DB pool metrics showing overload → DoS attack surface identified
- Circuit breaker states for Stripe/email → infrastructure dependency map for chained attacks
- Combine with
hunt-schema-enumerationfor full target profile
---
Verification
Run this self-test to confirm metrics-exposure hunting readiness:
1. Skill integrity — confirm the skill file is readable and well-formed:
grep -q "name: hunt-metrics-exposure" SKILL.md && echo "PASS: skill frontmatter present" || echo "FAIL"
grep -q "revision_date:" SKILL.md && echo "PASS: revision date present" || echo "FAIL"
2. Category check — confirm the skill has a category:
grep -q "category:" SKILL.md && echo "PASS: category present" || echo "FAIL"
3. Pitfalls section — confirm pitfalls are documented:
grep -q "^## Pitfalls" SKILL.md && echo "PASS: pitfalls section present" || echo "FAIL"
All 3 tests verify the skill is properly structured and ready for use.
---
Pitfalls
- Prometheus /metrics without secrets — metrics endpoints exposing request counts are informational. Need labels containing PII, internal hostnames, or credentials.
- Spring Boot Actuator /actuator/metrics — metrics are intentionally exposed for monitoring. Only report if they leak sensitive data (usernames in labels, internal IPs).
- JMX without auth — JMX exposure without authentication is critical only if write operations (MBean invocation) are possible. Read-only JMX is informational.
- Health endpoint without sensitive data —
/health,/status,/readyendpoints are designed to be public. Need leaked internal data.
Related skills
- hybrid-search-implementation – Combine vector and keyword search for improved retrieval. Use when implementing RAG…
- transcribe – Transcribe audio files to text with optional diarization and known-speaker hints. Use…
- findmy – Track Apple devices/AirTags via FindMy.app on macOS.
- fitness-nutrition – Workout planning, macros, and body metrics via wger/USDA.
- axiom – First-principles assumption auditor. Classifies each hidden assumption (fact /…
- gif-search – Search/download GIFs from Tenor via curl + jq.
- company-os – The meta-framework for how a company runs — the connective tissue between all C-suite…
- grill-me – Adversarial plan interview before implementation.