Injeção de argumento
O avatars.py da PampaCloud faz tudo "certo": não usa shell. Ele chama a ferramenta gust passando os argumentos como lista, subprocess.run(["gust", member]), então ; e | são inofensivos. Mesmo assim, o seu texto pode mudar o que o programa faz.
O problema: o nome do membro vira um argumento por conta própria, e o app esqueceu de pôr -- antes dele. Quando um argumento começa com -, o gust acha que é uma OPÇÃO, não um nome. Leia o manual (gust.txt), veja que opção faz o gust cuspir um segredo, e passe ela como se fosse o nome do membro.
Rode python3 simulate.py "ana" para ver o normal. A flag tem o formato tocaia{...}, por exemplo tocaia{exemplo_que_nao_e}.
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.