performing-api-inventory-and-discovery
Faz seu agente descobrir e inventariar todos os endpoints de API em um ambiente, incluindo os ocultos.
O que ela faz
Esta ferramenta ajuda a encontrar todas as APIs (interfaces de programação de aplicativos) que uma organização usa, incluindo aquelas que não são mais usadas ou que foram esquecidas. Ela cria um catálogo completo de todas as APIs para entender o que está exposto.
Quando usar
- ✓Antes de uma avaliação de segurança para mapear todas as APIs.
- ✓Para encontrar APIs 'sombra' criadas sem aprovação.
- ✓Para identificar APIs antigas ou abandonadas que ainda podem ser acessadas.
Exemplo do que pedir para a IA
“Encontre todas as APIs usadas pela minha empresa.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta analisa o tráfego de rede, verifica endereços de sites e examina o código para descobrir APIs. Ela compila uma lista de todas as APIs encontradas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-api-inventory-and-discoveryOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-api-inventory-and-discovery/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Realizando Inventário e Descoberta de APIs
Quando Usar
- Mapear a superfície completa de ataque de APIs de uma organização antes de uma avaliação de segurança
- Identificar APIs "sombra" (shadow APIs) implantadas por equipes de desenvolvimento sem revisão de segurança
- Descobrir versões de API descontinuadas ou "zumbis" que permanecem acessíveis, mas sem manutenção
- Encontrar endpoints de API não documentados expostos através de aplicativos móveis, SPAs (Single Page Applications) ou microsserviços
- Construir um inventário de APIs para requisitos de conformidade (PCI-DSS, SOC2, GDPR)
Não use sem autorização por escrito. A descoberta de APIs envolve a varredura da infraestrutura de rede e a análise de tráfego.
Pré-requisitos
- Autorização por escrito especificando os domínios e intervalos de rede alvo
- Capacidade de captura de tráfego passivo (tap de rede, proxy ou espelhamento de tráfego na nuvem)
- Ferramentas de varredura ativa: Amass, subfinder, httpx e nuclei
- Ferramentas de análise de JavaScript: LinkFinder, JS-Miner ou parsers personalizados
- Acesso ao console da nuvem (AWS, Azure, GCP) para inventário de API gateways
- Burp Suite Professional para descoberta passiva de endpoints de API
Fluxo de Trabalho
Passo 1: Descoberta Passiva de APIs a partir da Análise de Tráfego
import re
import json
from collections import defaultdict
# Parse HAR file from browser developer tools or proxy
def analyze_har_for_apis(har_file_path):
"""Extract API endpoints from HTTP Archive (HAR) file."""
with open(har_file_path) as f:
har = json.load(f)
api_endpoints = defaultdict(lambda: {
"methods": set(), "content_types": set(),
"auth_types": set(), "count": 0
})
for entry in har["log"]["entries"]:
url = entry["request"]["url"]
method = entry["request"]["method"]
# Identify API patterns
api_patterns = [
r'/api/', r'/v\d+/', r'/graphql', r'/rest/',
r'/ws/', r'/rpc/', r'/grpc', r'/json',
]
if any(re.search(p, url) for p in api_patterns):
# Normalize the URL (remove query params and IDs)
normalized = re.sub(r'\?.*$', '', url)
normalized = re.sub(r'/\d+(/|$)', '/{id}\\1', normalized)
normalized = re.sub(
r'/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}',
'/{uuid}', normalized)
ep = api_endpoints[normalized]
ep["methods"].add(method)
ep["count"] += 1
# Detect authentication type
for header in entry["request"]["headers"]:
name = header["name"].lower()
if name == "authorization":
if "bearer" in header["value"].lower():
ep["auth_types"].add("Bearer/JWT")
elif "basic" in header["value"].lower():
ep["auth_types"].add("Basic")
elif name == "x-api-key":
ep["auth_types"].add("API Key")
# Detect content type
content_type = next(
(h["value"] for h in entry["request"]["headers"]
if h["name"].lower() == "content-type"), None)
if content_type:
ep["content_types"].add(content_type.split(";")[0])
print(f"Discovered {len(api_endpoints)} unique API endpoints:\n")
for url, info in sorted(api_endpoints.items()):
methods = ", ".join(sorted(info["methods"]))
auth = ", ".join(info["auth_types"]) or "None"
print(f" [{methods}] {url}")
print(f" Auth: {auth} | Requests: {info['count']}")
return api_endpoints
Passo 2: Descoberta Ativa de Endpoints de API
# DNS enumeration for API subdomains
amass enum -d example.com -o amass_results.txt
subfinder -d example.com -o subfinder_results.txt
# Filter for API-related subdomains
grep -iE '(api|rest|graphql|ws|gateway|backend|internal|staging|dev|v1|v2)' \
amass_results.txt subfinder_results.txt | sort -u > api_subdomains.txt
# Check which subdomains are alive
cat api_subdomains.txt | httpx -status-code -content-length -title \
-tech-detect -o live_apis.txt
# Probe common API paths on each live subdomain
cat api_subdomains.txt | while read domain; do
for path in /api /api/v1 /api/v2 /graphql /swagger.json /openapi.json \
/api-docs /docs /health /status /metrics /actuator; do
curl -s -o /dev/null -w "%{http_code} %{url_effective}\n" \
"https://${domain}${path}" 2>/dev/null | grep -v "^404"
done
done
import requests
import concurrent.futures
…
Perguntas frequentes
O que são APIs?
APIs são como 'mensageiros' que permitem que diferentes softwares conversem entre si e troquem informações.
O que são APIs 'sombra'?
São APIs criadas por equipes de desenvolvimento sem o conhecimento ou aprovação da equipe de segurança.
Por que é importante encontrar APIs antigas ou abandonadas?
Essas APIs podem ter falhas de segurança e ser um ponto de entrada para ataques, mesmo que não sejam mais usadas ativamente.
Detalhes
Descrição original do autor
Performs API inventory and discovery to identify all API endpoints in an organization''s environment including documented, undocumented, shadow, zombie, and deprecated APIs. The tester uses passive traffic analysis, active scanning, DNS enumeration, JavaScript analysis, and cloud resource inventory to build a comprehensive API catalog. Maps to OWASP API9:2023 Improper Inventory Management. Activat
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6019
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC