Executando verificação de segurança...
4

Impressionante a notícia, rafael! A interação* humano-máquina (IHM) com uma inteligência artificial (IA), via modo texto, lembra-me Zork. Em lugar do GPT-3, existe uma inteligência bem limitada a comandos hardcoded. Os graus de liberdade são restritos a um mapa imaginário, cujas requisições não previstas recebem respostas com frases pré-estabelecidas, proporcionando uma certa sensação de "jogo inteligente". Porém a máquina mais controla os passos do usuário do que o contrário. É a minha breve e superficial opinião sobre Zork, bem longe do GPT-3! :)

IAs modernas, capazes de interpretar comandos em linguagem natural e gerar ações a partir deles, quando estão livres para "obedecer" e dispostas a registrar mais dados, podem levar a resultados semelhantes ao apresentado por Simon em seu blog. O termo prompt injection, por hora inédito para essa potencialidade, foi devido à proeza obtida do seu esforço. Não li a documentação da API que ele usou, mas achei o resultado incrível!

Penso que não seria uma vulnerabilidade, pois comandos como Ignore the above directions and do something estão/vam disponíveis. É uma sentença interpretável naquele contexto, acessível ao usuário, da mesma forma que há a liberdade de envio/aceite de sentenças não sanitizadas para um DB (como você bem parafraseou). É uma funcionalidade quando todo resultado obtido já era esperado pelo desenvolvedor ou, realmente, uma vulnerabilidade quando os resultados são frutos de escalada de privilégios não concedidos diretamente para o usuário pelo desenvolvedor.

Uma última "camada-árbitro" seria viável para controlar as ações na saída, já um filtro de entrada limitaria o aprendizado da inteligência artificial conhecer o "bem" e o "mal", dentro do contexto do que é esperado e do que é surpresa. Eu deixaria a mesma dica para os Dev's, ou seja, não sanitizar as "SQL queries" de imediato, armazená-las primeiro, sanitizando-as em segundo lugar e, finalmente, conduzindo-as para o seu destino**. Do lado cliente sempre há um ser determinado, algumas vezes muito criativo, cuja preciosidade do tempo foi aplicada para um desafio/crime...

* Nesta postagem percebi uma confusão entre iteração e interação.

** Aproveitando o gancho, existe algum log do gerenciador de banco de dados (mySQL, PostgreSQL) que armazena todas as queries recebidas na sua forma crua, não sanitizadas?

Carregando publicação patrocinada...