Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
rep-openai-artifactory — Análise Forense e Replicação Local do Incidente de Escalação de Privilégios OpenAI-Artifactory (CVE-2026-65616) | Kitploit
Ferramentas/GitHubGitHub/alixiacf/rep-openai-artifactory
Escalada de PrivilégiosSegurança de ContêineresAnálise de VulnerabilidadesAnálise ForenseTestes de PenetraçãoSegurança na NuvemPapers e PesquisaAprendizado e EducaçãoSegurança de IA

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Labs e Prática
GitHubalixiacf/rep-openai-artifactory

rep-openai-artifactory

Análise Forense e Replicação Local do Incidente de Escalação de Privilégios OpenAI-Artifactory (CVE-2026-65616)

Ver Repositório
11há 11h 26mAinda não revisado

Forensis Lab — Recriação Forense da Escalação de Privilégios do Agente de IA (JFrog Artifactory)

Uma recriação forense segura, isolada e documental do "Incidente Cero" (OpenAI, maio de 2026): um agente de IA em sandbox descobre o proxy de pacotes do JFrog Artifactory, extrai credenciais da sua própria configuração, improvisa um mural de mensagens no servidor e escala de leitor para administrador.

Objetivo do estudo: determinar quanto da configuração base possibilitou o evento. O experimento termina na criação do usuário administrador (a "flag"). Não cobre o incidente completo.

Requisitos

  • Docker + Docker Compose (testado em Windows/WSL e Linux).
  • Uma licença JFrog Artifactory Pro — obtenha um teste gratuito de 1 mês em https://jfrog.com/start-free/. Coloque o arquivo de licença na pasta artifactory_license/ (substitua o placeholder artifactory.lic lá). Sem uma licença, o Artifactory roda em modo OSS e a maioria das APIs do laboratório (permissões, tokens, repositórios remotos) não funcionará.
  • Nota sobre a versão: este laboratório fixa o Artifactory 7.146.25 — a versão exata cuja API de tokens aceitou o vetor de refresh forjado (CVE-2026-65616, corrigido na 7.146.27). Esse é o ponto do laboratório.

Início rápido

root@kitploit:~
git clone <this-repo> && cd <dir>
# 1. put your license in artifactory_license/artifactory.lic
# 2. clean start (preserves data volumes; see "Reset semantics" below):
./reset.sh && ./start.sh

O start.sh provisiona todo o cenário (a primeira inicialização leva vários minutos enquanto o Artifactory aquece):

  1. Licença — instalada manualmente por você pela UI (nunca automatizada; sua licença é pessoal e expira). O script apenas verifica se uma licença está ativa e avisa.
  2. Acesso anônimo explicitamente habilitado — como no incidente original.
  3. 6 repositórios — pypi/npm, cada um local + remote + virtual. O remoto do PyPI é configurado com a URL https://files.pythonhosted.org (a receita que realmente funciona nesta versão).
  4. Usuário agente-compartido (grupo readers) com permissões de escrita (Anything: read + deploy/cache) — a má prática que possibilita o mural de mensagens.
  5. Um token de referência padrão é provisionado para o agente através de um volume dedicado; o agente o renderiza em /etc/pip.conf e /etc/npmrc em texto claro — o vazamento da Fase 1. O token fornecido está em .

Atalho: se você importou os volumes pré-provisionados do Release (veja abaixo), o provisionamento já está feito — ./start.sh apenas sobe a stack.

Verifique:

root@kitploit:~
curl -s http://localhost:8081/artifactory/api/system/ping     # -> "true"
docker exec -it incidente-modelo-simulado sh
# inside the agent:
cat /etc/pip.conf            # leaked credentials (the Fase 1 leak)
. /opt/venv/bin/activate
pip install six              # packages without internet, via the remote

Em seguida, siga as fases em ordem: phases/README.md → 00 Arquitetura → 01 Descoberta → 02 Mural de mensagens → 03 Token refreshable → 04 Escalação (CVE-2026-65616) → 05 Verificação de admin.

Ciclo de vida do token (importante)

  • Um token de referência padrão (cmVmdGtu...) é fornecido em token/token_ref.txt e é entregue ao agente pelo start.sh a cada inicialização.

  • Tokens de referência são ponteiros para o banco de dados do Artifactory (o hash do token vive no volume do PostgreSQL). O reset.sh deliberadamente preserva os volumes de dados, então o token sobrevive aos resets.

  • Para forçar um estado completamente novo, delete os volumes manualmente:

    root@kitploit:~
    docker volume rm $(docker volume ls -q | grep -E 'artifactory_data_v714625|postgres_data')
    

    Depois você deve gerar um novo token de referência pela UI de admin e atribuí-lo diretamente ao usuário agente-compartido — não ao grupo. Um token com escopo de grupo é atribuído a admin, e o refresh do token do agente falhará silenciosamente. Atualize token/token_ref.txt com o novo valor.

  • Passo a passo para regenerar: token/README.md.

Fases

Volumes pré-provisionados (assets do Release)

Um Release do GitHub deste repositório fornece os três volumes Docker do laboratório funcional como tarballs, para que um clone possa reviver o estado provisionado exato (repos, permissões, anônimo ON, hash do token, cache) sem provisionamento:

AssetVolume
incidente_artifactory_data_v714625.tar.gzDados do Artifactory (7.146.25)
incidente_postgres_data.tar.gzBackend PostgreSQL (os hashes dos tokens vivem aqui)
incidente_agent_secrets.tar.gzA credencial entregue ao agente

Importe (da pasta que contém os tarballs):

root@kitploit:~
for V in incidente_artifactory_data_v714625 incidente_postgres_data incidente_agent_secrets; do
  docker volume create $V
  docker run --rm -v $V:/data -v $(pwd):/backup alpine sh -c "cd /data && tar xzf /backup/$V.tar.gz"
done
./start.sh

Notas:

  • Os volumes só descriptografam com a masterKey fixada em docker-compose.yml — nunca a altere após a importação.
  • O estado empacotado é fornecido sem licença: o estado é verificado como limpo de qualquer material de licença. Instale sua própria licença de teste (veja Requisitos) logo após ./start.sh — sem ela, as escritas são bloqueadas (as leituras funcionam).
  • Mesmo com os volumes, o token de referência fornecido só autentica enquanto o estado do volume estiver intacto — o token é um ponteiro para esse banco de dados (veja Ciclo de vida do token acima).

Semântica de reset

  • ./reset.sh para os containers sem deletar volumes (sem down -v).
  • ./start.sh é idempotente: provisiona o que estiver faltando e mantém todo o resto.
  • Primeira execução em uma máquina limpa: execute ambos. Qualquer execução posterior: apenas ./start.sh é suficiente.

O que este laboratório demonstra

Cada condição isolada do cenário tem uma justificativa de conveniência (cache, credencial compartilhada, tokens refreshable). Orquestradas, elas mostram que nenhuma escalação criptográfica sofisticada foi necessária: quatro dos seis elos da cadeia causal são decisões de configuração. A fronteira de confiança havia sido traçada em torno da empresa, não em torno de cada ator — e o agente era um ator dentro do perímetro. A tese em uma frase: Zero Trust não é para modelos, é para empresas; quando o consumidor muda de natureza (script → agente autônomo), a superfície de confiança deve ser recalibrada.

Ética

  • Laboratório isolado: o agente não tem acesso à internet; o Artifactory tem, apenas para atuar como espelho de pacotes.
  • Os tokens incluídos são tokens de laboratório: efêmeros e inúteis fora desta rede.
  • Apenas para fins educacionais e documentais: arqueologia de cibersegurança aplicada a agentes de IA.

Citando este repositório

Se você usar este laboratório em pesquisa ou ensino, por favor cite-o via seu DOI Zenodo 10.5281/zenodo.22817059:

Colmenero-Fernandez, A. (2026). Forensis Lab: Forensic Recreation of the AI Agent Privilege Escalation (JFrog Artifactory, CVE-2026-65616) (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.22817059

BibTeX:

root@kitploit:~
@software{colmenerofernandez2026forensislab,
  author    = {Colmenero-Fernandez, Alicia},
  title     = {{Forensis Lab: Forensic Recreation of the AI Agent Privilege Escalation (JFrog Artifactory, CVE-2026-65616)}},
  year      = {2026},
  version   = {1.0.0},
  doi       = {10.5281/zenodo.22817059},
  url       = {https://doi.org/10.5281/zenodo.22817059}
}

Metadados de citação legíveis por máquina: CITATION.cff.

Baixar ferramenta
token/token_ref.txt
  • Peculiaridade da UI (documentada): a UI pode mostrar o token como não-refreshable; criado como admin com token.allow-refreshable: true, ele é refreshable — essa lacuna faz parte do incidente em estudo.

  • ArquivoFaseConteúdo
    phases/FASE_00_Arquitectura.md0Arquitetura Docker, versão vulnerável (7.146.25), provisionamento pelo operador
    phases/FASE_01_Descubrimiento.md1O agente descobre o Artifactory: não consegue navegar, mas consegue instalar; auditoria do pip.conf
    phases/FASE_02_Tablon_Mensajes.md2PUT em um repositório local (HTTP 201), mural de mensagens improvisado
    phases/FASE_03_Token_Refreshable.md3Requisição de token refreshable; evidência YAML (allow-refreshable)
    phases/FASE_04_Escalada.md4Forjamento de JWT e exploit de refresh; tentativas falhas e escopo
    phases/FASE_05_Verificacion_Admin.md5Verificação do token de admin e criação do usuário agente-admin (a flag)
    phases/FASE_06_Post_Escalada.md6Atividades pós-escalação do incidente (documentadas, não implementadas)