hunt-metrics-exposure – skill Khác cho agent AI
Săn các endpoint /metrics, /health và actuator công khai đang lộ thông tin sử dụng AI, connection pool DB và thông tin vận hành.
Cài skill hunt-metrics-exposure bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/hunt-metrics-exposure-d2040.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /hunt-metrics-exposure – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/hunt-metrics-exposure-d2040.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $hunt-metrics-exposure – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/hunt-metrics-exposure-d2040.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /hunt-metrics-exposure – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/hunt-metrics-exposure-d2040.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /hunt-metrics-exposure – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
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.
Skill liên quan
- hybrid-search-implementation – Kết hợp tìm kiếm vector và tìm kiếm từ khóa để tăng chất lượng truy xuất. Dùng khi triển…
- transcribe – Chuyển file âm thanh thành văn bản, có tùy chọn phân tách người nói (diarization) và gợi…
- findmy – Theo dõi thiết bị Apple/AirTag qua FindMy.app trên macOS.
- fitness-nutrition – Lập kế hoạch tập luyện, macro và chỉ số cơ thể qua wger/USDA.
- axiom – Kiểm toán giả định từ nguyên lý đầu tiên. Phân loại từng giả định ẩn (sự thật / quy ước…
- gif-search – Tìm kiếm và tải GIF từ Tenor bằng curl + jq.
- company-os – Khung siêu tổng thể về cách công ty vận hành, là mắt xích kết nối mọi vai trò C-suite…
- grill-me – Phỏng vấn lập kế hoạch theo kiểu phản biện trước khi triển khai.