detecting-shadow-api-endpoints
Faz seu agente descobrir e listar pontos de acesso de API que não estão documentados. Isso ajuda a identificar e proteger APIs ocultas que podem ser um risco de segurança.
O que ela faz
Esta ferramenta encontra pontos de acesso de API (APIs) que não estão documentados ou sendo monitorados pela sua organização. Eles podem ser um risco de segurança porque não são conhecidos.
Quando usar
- ✓Para verificar se existem APIs escondidas que podem ser um risco.
- ✓Ao investigar um incidente de segurança para ver se APIs desconhecidas foram usadas.
- ✓Para garantir que todas as APIs em uso estejam documentadas e seguras.
Exemplo do que pedir para a IA
“Procure por APIs não documentadas que possam estar expostas.”
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
Ela compara o tráfego real de rede com a lista de APIs conhecidas e documentadas. Qualquer tráfego que não corresponda a uma API documentada é sinalizado como 'shadow API'.
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 detecting-shadow-api-endpointsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-shadow-api-endpoints/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.
Detecção de Endpoints de API Sombra
Visão Geral
APIs Sombra são endpoints de API que operam dentro do ambiente de uma organização sem serem rastreados, documentados ou protegidos. Elas surgem de ciclos de desenvolvimento rápidos, ambientes de teste esquecidos, versões de API descontinuadas que continuam em execução, integrações de terceiros ou projetos paralelos de desenvolvedores implantados sem governança. As APIs Sombra contornam os controles de autenticação e monitoramento, criando pontos de entrada ocultos para atacantes. Estudos mostram que até 30% dos endpoints de API em grandes organizações são indocumentados, tornando a detecção de APIs Sombra um componente crítico do gerenciamento da postura de segurança de API.
Quando Usar
- Ao investigar incidentes de segurança que exigem a detecção de endpoints de API sombra.
- Ao construir regras de detecção ou consultas de caça a ameaças para este domínio.
- Quando analistas de SOC precisam de procedimentos estruturados para este tipo de análise.
- Ao validar a cobertura de monitoramento de segurança para técnicas de ataque relacionadas.
Pré-requisitos
- Gateway de API ou proxy reverso com registro de tráfego (Kong, AWS API Gateway, Envoy).
- Capacidade de captura de tráfego de rede (broker de pacotes, espelhamento de porta).
- Acesso a repositórios de código-fonte e configurações de pipeline CI/CD.
- Acesso ao provedor de nuvem para escaneamento de configuração (AWS, GCP, Azure).
- Inventário de documentação de API (especificações OpenAPI, documentos Swagger).
- Python 3.8+ para ferramentas de descoberta personalizadas.
Métodos de Detecção
1. Análise e Comparação de Tráfego
Compare o tráfego de API ao vivo com as especificações OpenAPI documentadas para identificar endpoints indocumentados:
#!/usr/bin/env python3
"""Detector de Endpoints de API Sombra
Compara padrões de tráfego de API observados com especificações
OpenAPI documentadas para identificar endpoints indocumentados (sombra).
"""
import json
import re
import yaml
import sys
from collections import defaultdict
from datetime import datetime
from typing import Dict, List, Set, Tuple, Optional
from dataclasses import dataclass, field
@dataclass
class DiscoveredEndpoint:
method: str
path_pattern: str
first_seen: str
last_seen: str
request_count: int
source_ips: Set[str] = field(default_factory=set)
status_codes: Set[int] = field(default_factory=set)
has_auth_header: bool = False
documented: bool = False
class ShadowAPIDetector:
# Padrões comuns para segmentos de caminho parametrizados
PARAM_PATTERNS = [
(re.compile(r'/\d+'), '/{id}'),
(re.compile(r'/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'), '/{uuid}'),
(re.compile(r'/[a-zA-Z0-9]{20,40}'), '/{token}'),
]
def __init__(self):
self.documented_endpoints: Set[Tuple[str, str]] = set()
self.discovered_endpoints: Dict[Tuple[str, str], DiscoveredEndpoint] = {}
def load_openapi_spec(self, spec_path: str):
"""Carrega endpoints documentados da especificação OpenAPI."""
with open(spec_path, 'r') as f:
if spec_path.endswith('.json'):
spec = json.load(f)
else:
spec = yaml.safe_load(f)
paths = spec.get('paths', {})
for path, methods in paths.items():
# Normaliza parâmetros de caminho OpenAPI
normalized_path = re.sub(r'\{[^}]+\}', '{id}', path)
for method in methods:
if method.upper() in ('GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'):
self.documented_endpoints.add((method.upper(), normalized_path))
print(f"Carregados {len(self.documented_endpoints)} endpoints documentados de {spec_path}")
def normalize_path(self, path: str) -> str:
"""Normaliza um caminho observado substituindo segmentos dinâmicos por placeholders."""
# Remove a string de consulta
path = path.split('?')[0]
for pattern, replacement in self.PARAM_PATTERNS:
path = pattern.sub(replacement, path)
return path
def process_access_log(self, log_file: str, log_format: str = "common"):
"""Processa logs de acesso de API para descobrir endpoints."""
patterns = {
"common": re.compile(
r'(?P<ip>[\d.]+)\s+\S+\s+\S+\s+\[(?P<time>[^\]]+)\]\s+'
r'"(?P<method>\w+)\s+(?P<path>\S+)\s+\S+"\s+(?P<status>\d+)'
),
"json": None # Lida com logs JSON separadamente
}
with open(log_file, 'r') as f:
for line in f:
if log_format == "json":
try:
entry = json.loads(line)
…
Perguntas frequentes
O que é uma 'shadow API'?
É um ponto de acesso de API que existe e está em uso, mas não está registrado, documentado ou sendo monitorado pela equipe de segurança.
Por que as 'shadow APIs' são um problema?
Elas criam brechas de segurança desconhecidas, pois não têm as proteções e o monitoramento adequados, podendo ser usadas por atacantes.
Quais informações são necessárias para usar esta ferramenta?
É preciso ter acesso aos logs de tráfego de rede (de gateways de API), configurações de nuvem e repositórios de código, além de uma lista das APIs documentadas.
Detalhes
Descrição original do autor
Discover and inventory shadow API endpoints that operate outside documented OpenAPI/Swagger specs, using traffic analysis against API gateways (Kong, AWS API Gateway, Envoy), cloud configuration scanning, and source code repository mining for undocumented routes. Use when assessing API attack surface, auditing for forgotten test environments or deprecated API versions still running, or building an
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5710
- 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
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC