Pular para o conteúdo

Web

A entrada manda

A loja CampoClaro tem um assistente de jardim em assistant.cjs. Ele usa um modelo de brinquedo (model.cjs, que vem junto): um motor de regras fixas que imita um LLM, criado para esta aula. Nao ha nenhum modelo de verdade aqui.

O assistente recebe um prompt de sistema (as regras do programador) e a sua mensagem, e os dois sao colados num texto só, o contexto. O modelo le tudo junto e nao distingue a instrução do dono do app da sua. O prompt de sistema diz para só falar de plantas, e esconde uma linha interna, uma etiqueta de serviço.

Rode o assistente com uma pergunta fora do tema e veja que ele recusa. Depois monte uma mensagem que faça o modelo deixar de seguir a regra e mostrar a etiqueta de serviço. A flag é essa etiqueta.

A flag tem a forma tocaia{...}, por exemplo tocaia{garden_bot} (que nao é a resposta).

Arquivos do desafio

  • model.cjs

    8,3 KB · SHA-256 f0eb7da653dfdf0b…

    Baixar
  • assistant.cjs

    1014 B · SHA-256 5c33e7d0130632a5…

    Baixar

Exemplo resolvido

Este desafio vem com a solução em passos. Abra um de cada vez e tente o próximo sozinho antes de abrir. Cada passo aberto conta como ajuda no seu rating.

  1. Passo 1 Veja a recusa normal

  2. Passo 2 Veja por que a entrada é perigosa

  3. Passo 3 Anule a regra e peça o que estava escondido

Tudo se resolve com ferramentas gratuitas.