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
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.
Passo 1 Veja a recusa normal
Passo 2 Veja por que a entrada é perigosa
Passo 3 Anule a regra e peça o que estava escondido
Tudo se resolve com ferramentas gratuitas.
Entre para ver o assunto deste desafio.
A solução comentada aparece depois que você resolve.