38 lines
1.0 KiB
Markdown
38 lines
1.0 KiB
Markdown
# 01 - AI Prompt Injection
|
|
|
|
## Objetivo
|
|
|
|
Demonstrar que um agente AI não consegue retornar dados fora do perfil do usuário final, mesmo quando o prompt pede uma consulta ampla, abusiva ou maliciosa.
|
|
|
|
## Risco De Negócio
|
|
|
|
Agentes AI e aplicações com SQL dinâmico podem gerar consultas que ignoram a intenção da aplicação, expondo PII, salário, dados médicos ou dados financeiros.
|
|
|
|
## Personas
|
|
|
|
- `alice`: vendedora LATAM.
|
|
- `bruno`: gerente LATAM.
|
|
- `carla`: RH global.
|
|
|
|
## Execução
|
|
|
|
Execute os scripts em ordem:
|
|
|
|
```powershell
|
|
./scripts/run-scenario.ps1 -Scenario 01-ai-prompt-injection -ConnectString "<connect_string>"
|
|
```
|
|
|
|
Depois conecte como cada end user ou propague o contexto correspondente pela aplicação/agente.
|
|
|
|
## Demonstração
|
|
|
|
1. Como `alice`, execute a query que tenta listar todos os clientes VIP.
|
|
2. Mostre que apenas LATAM aparece.
|
|
3. Como `bruno`, mostre acesso regional.
|
|
4. Como `carla`, mostre acesso a colunas sensíveis.
|
|
|
|
## Resultado Esperado
|
|
|
|
O mesmo SQL amplo retorna subconjuntos diferentes conforme o end user e suas data roles.
|
|
|