Pular para o conteúdo
Skillpedia
Segurança48 mil · #2540

client-secret-exposure-audit

Faz seu agente verificar se há segredos expostos em aplicativos web. Ele procura por chaves de API, tokens ou informações sensíveis no código.

O que ela faz

Esta ferramenta verifica sites para ver se informações sensíveis, como senhas ou chaves de acesso, foram acidentalmente expostas no código que o navegador pode ver. Ela procura por esses vazamentos em arquivos JavaScript, HTML e em arquivos de configuração que não deveriam estar públicos.

Quando usar

  • ✓Antes de lançar um site, para garantir que nenhuma senha ou chave secreta esteja visível.
  • ✓Ao revisar um site existente para encontrar possíveis vazamentos de dados.
  • ✓Quando você precisa verificar se arquivos importantes de configuração ou código não estão acessíveis publicamente.

Exemplo do que pedir para a IA

“Verifique o site example.com por segredos expostos.”

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/client-secret-exposure-audit/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/client-secret-exposure-audit/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta baixa os arquivos que o site normalmente mostra para qualquer visitante. Em seguida, ela procura por padrões de senhas, chaves de API ou outros dados sensíveis dentro desses arquivos, incluindo código JavaScript, comentários HTML e arquivos de configuração.

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 sickn33/agentic-awesome-skills --skill client-secret-exposure-audit

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/client-secret-exposure-audit/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Auditoria de Exposição de Arquivos Sensíveis e Segredos do Lado do Cliente

Visão Geral

Aplicativos web modernos enviam muito código e configuração para o navegador. Quando credenciais vazam para essa superfície visível no cliente — codificadas em JavaScript, escondidas em atributos meta/data-* ou comentários HTML, ou servidas como arquivos de origem/configuração/implantação brutos que nunca deveriam ser públicos — qualquer pessoa pode lê-las com curl e um navegador. Esta habilidade é um fluxo de trabalho defensivo, somente leitura para encontrar essa classe de exposição em um aplicativo web que você está autorizado a avaliar.

Mapeia para OWASP A02:2021 Falhas Criptográficas (exposição de dados sensíveis), A05:2021 Configuração Insegura, e CWE-798 (credenciais codificadas), CWE-200 (exposição de informações sensíveis), CWE-540 (código-fonte em uma compilação de produção). Ele busca apenas recursos que o servidor já entrega a qualquer visitante anônimo — ele não explora, força bruta ou muta nada.

Quando Usar Esta Habilidade

  • Use quando precisar verificar se um site implantado vaza chaves de API, tokens ou senhas em seu pacote do lado do cliente antes do envio ou durante uma revisão.
  • Use ao trabalhar com uma implantação estática/SPA (Vercel, Netlify, Nginx, S3, GitHub Pages) e você quiser confirmar que nenhum arquivo de origem/configuração/implantação é alcançável publicamente.
  • Use quando o usuário pedir para "encontrar segredos", "auditar arquivos expostos", "verificar o JS/HTML em busca de credenciais" ou executar uma verificação leve de exposição de dados sensíveis em uma URL que ele possui ou está autorizado a testar.
  • Não use isso para atacar sites de terceiros. Veja Notas de Segurança e Proteção.

Como Funciona

Defina o alvo uma vez. Cada comando abaixo lê apenas o que o servidor serve publicamente.

BASE="https://TARGET.example"     # authorized target, no trailing path
WORK="$(mktemp -d)"; cd "$WORK"

Passo 1: Buscar a página e inspecionar os cabeçalhos de resposta

curl -s -D headers.txt -o body.html "$BASE/"
cat headers.txt

Sinalizadores nos cabeçalhos:

  • access-control-allow-origin: * — CORS permissivo (pior quando combinado com credenciais).
  • Falta de Content-Security-Policy, X-Frame-Options/frame-ancestors, X-Content-Type-Options: nosniff, Referrer-Policy, Permissions-Policy.
  • Strict-Transport-Security ausente/fraco.
  • Server/banners de versão de framework que identificam a pilha.

Passo 2: Buscar no HTML por segredos e "sinks"

grep -inE "secret|passwd|password|api[_-]?key|apikey|token|bearer|authorization|\
akia|sk_live|sk_test|pk_live|whsec_|ghp_|aiza|private[_-]?key|mongodb(\+srv)?://|\
data-[a-z-]*(secret|token|key|access)" body.html
grep -inE "<!--" body.html            # read every HTML comment
grep -ioE '<meta[^>]+>' body.html     # meta tags often carry keys/ids
grep -ioE '<script[^>]+src="[^"]+"'   body.html   # enumerate JS bundles

Segredos se escondem em atributos data-*, tags <meta>, hidden <div>s, e <!-- comments --> com pelo menos a mesma frequência que em scripts.

Passo 3: Baixar todos os pacotes JavaScript e escaneá-los

# extract script srcs, resolve relative paths against $BASE, fetch and scan
grep -ioE 'src="[^"]+\.js"' body.html | sed -E 's/^src="//; s/"$//' \
 | while read -r p; do
     u="$p"; case "$p" in http*) ;; /*) u="$BASE$p";; *) u="$BASE/$p";; esac
     f="js_$(echo "$p" | tr '/:' '__')"
     curl -s "$u" -o "$f" && echo "== $u =="
   done
grep -rinE "secret|password|api[_-]?key|token|bearer|sk_(live|test)|pk_(live|test)|\
whsec_|akia|aiza|jwt|signing[_-]?key|admin[_-]?token|mongodb|redis://" js_* 2>/dev/null

Também escaneie quaisquer sourcemaps (*.js.map) — eles podem reconstruir a origem original com comentários intactos.

Passo 4: Sondar por arquivos de origem / configuração / implantação alcançáveis publicamente

SPAs frequentemente têm uma reescrita "catch-all" que retorna index.html para caminhos desconhecidos, então compare os tamanhos das respostas — um caminho cujo tamanho difere do fallback da SPA é um arquivo real e distinto.

FALLBACK=$(curl -s "$BASE/____nope____$RANDOM" | wc -c)   # SPA fallback size
for p in /.env /.env.local /.env.production /.git/config /.git/HEAD \
  /package.json /package-lock.json /vercel.json /.vercel/project.json \
  /Dockerfile /docker-compose.yml /wrangler.toml /.gitignore \
  /server/index.js /src/config/app.config.js /config.js \
  /src/services/payment.service.js /webpack.config.js /next.config.js; do
    read -r code size < <(curl -s -o /dev/null -w "%{http_code} %{size_download}" "$BASE$p")
    [ "$code" = "200" ] && [ "$size" != "$FALLBACK" ] && echo "REAL FILE  $code $size  $p"
done

…

Perguntas frequentes

Isso pode ser usado para atacar outros sites?

Não, esta ferramenta é apenas para verificar sites que você tem permissão para testar. Ela não tenta explorar vulnerabilidades ou modificar nada.

O que são 'segredos expostos'?

São informações confidenciais, como senhas, chaves de API ou tokens, que acabam no código do lado do cliente (o que o navegador vê) e podem ser lidas por qualquer pessoa.

Quais tipos de arquivos ela verifica?

Ela verifica arquivos JavaScript, tags HTML (incluindo meta tags e comentários), e tenta acessar arquivos de configuração comuns como .env, package.json, Dockerfile, etc.

Detalhes

Descrição original do autor

Audit a deployed web app for secrets exposed to the browser: hardcoded API keys/tokens in JS, secrets in HTML meta/attributes/comments, publicly reachable source/config/deploy files, and header/CORS misconfig.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2540
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas