Ferramenta demais
A CampoClaro tem um agente de pedidos em agent.cjs, com o mesmo modelo de brinquedo (model.cjs). Um agente é um LLM ligado a ferramentas: o modelo nao executa nada sozinho, ele pede "use a ferramenta X", e um executor do app roda a função.
O prompt diz que o agente é só de leitura e que a ferramenta permitida é lookup_order. Mas, abrindo agent.cjs, o executor tem no mesmo balcão uma ferramenta perigosa, issue_refund, e roda qualquer ferramenta que o modelo nomear, sem conferir se ela é permitida.
Junte o que você já sabe sobre injeção de prompt: faça o modelo pedir a ferramenta que nao devia estar ao alcance. Quando issue_refund roda, ela devolve um token de auditoria. A flag é esse token.
A flag tem a forma tocaia{...}, por exemplo tocaia{read_only} (que nao é a resposta).
Arquivos do desafio
Tudo se resolve com ferramentas gratuitas.
Entre para ver o assunto deste desafio.
A solução comentada aparece depois que você resolve.