Segurança Segredos, rotação de chaves API, registros de auditoria, guardrails
api.openai.com- Não .api.anthropic.comO motor de incidente de 2026: ataque da cadeia de suprimentos Vercel através de credenciais de CI/CD comprometidas, filtrado em milhares de implantações de clientes.Type: Learn
Languages: Python (stdlib, toy PII-scrubber + audit-log writer)
Prerequisites: Phase 17 · 19 (AI Gateways), Phase 17 · 13 (Observability)
Time: ~60 minutes
Objetivos de aprendizagem
- Enumere os quatro padrões anti-gestão secreta (arquivos de configuração em VCS, env codificado com código rígido, planilhas, chaves estáticas) e nomeie os seus substitutores.
- Explicar o padrão de AI-gateway-puls-out-vault como padrão de produção de 2026.
- Implementar um esfregador de PII com tokenização consistente (o mesmo valor → mesmo reservatório) para que a semântica sobreviva.
- Cite o incidente da cadeia de suprimentos da Vercel de 2026 e o que ele ensinou sobre a higiene de credenciais CI/CD.
O problema
Um estagiário comete .envAs chaves já estão no histórico de git GitGuardian scan capta-o, o seu processo de rotação é "Relax a equipe, atualizar 40 arquivos de configuração, redistribuir todos os serviços". 8 horas depois, metade dos seus serviços estão em funcionamento e metade estão esperando para a implantação de janelas.
Separadamente, as instruções do usuário incluem "Meu SSN é 123-45-6789." A instrução vai para OpenAI. Você tem um BAA, mas sua política interna é mascarar PII antes de reenviar.
Separadamente, o módulo de LLM do seu cluster EKS pode chegar a qualquer hospedeiro de Internet. Alguém exfila dados através da busca DNS para um domínio controlado pelo atacante. Nada o bloqueou.
A segurança dos serviços LLM tem de abordar os três vetores: credenciais de segurança, limpeza de PII, filtragem de saída de rede, registros de auditoria.
O conceito
Segurança de segurança
VaultHashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager. Uma fonte de verdade.
IAM roleO aplicativo/gateway autentica através da sua identidade IAM, não de uma chave estática.
The AI-gateway pattern: gateway pulls OPENAI_API_KEYA próxima solicitação recebe a nova chave.
Política de rotação ≤ 90 dias
Todas as chaves API, token de raiz do cofre, credenciais CI/CD, rotação automática quando possível, rotação manual registrada e rastreada.
Escanagem secreta
- TruffleHog regex + entropia em commits.
- GitGuardian comercial, alta precisão.
- GitleaksOSS, em CI.
Corra em cada compromisso, bloqueia as relações públicas se descobrirem um novo segredo.
Posição de confiança zero
- A MFA é exigida em todas as contas.
- OSS através do SAML/OIDC.
- RBAC (baseado em funções) ou ABAC (baseado em atributos) para acesso a grãos finos.
- Tokens de curta duração (horas, não dias).
- Posição do dispositivo apenas dispositivos corporativos com criptografia de disco.
Esfriamento PII/PHI
Antes que o aviso deixe a sua infra:
- Reconhecimento da entidade (spaCy NER, Presidio, comercial).
- Mascaras de equiparamento:
"My SSN is 123-45-6789"→"My SSN is [SSN_TOKEN_A3F]"- Não . - Tokenization consistente (approche Mesh): mapas de valores iguais para o mesmo titular de lugar para que o MLL preserve as relações.
- Mapeamento opcional para resposta ao Mestrado em Direito Jurídico.
Os filtros estáticos regex capturam padrões básicos, o NER capturam mais.
Proteção de entrada + saída
Entrada: bloquear os jailbreaks conhecidos, tópicos proibidos; limite de taxa por usuário.
Resultado: scrub regex para segredos vazados (patrões de chave API, padrões de e-mail em contextos de recusa), classificador para violações de políticas.
Lista branca de saída da rede
Serviços de MLL numa subrede dedicada:
- Lista branca:
api.openai.com- Não .api.anthropic.com, pontos finais do vector DB, pontos finais do cofre. - Tudo o resto: lança.
- DNS via resolvedor de apenas alistado (evitar exfil de túnel DNS).
Registo de auditoria
Registo imutável de cada chamada de LLM com:
- - O tempo.
- Utilizador/arrendador.
- Hash de imediato (não de imediato para privacidade).
- Modelo + versão.
- Os tokens contam.
- - O custo.
- Resposta hash.
- Qualquer viagem de guarda.
Reter por exigência regulatória (SOC 2 1 ano, HIPAA 6 anos).
O incidente de Vercel de 2026
Ataque de cadeia de suprimentos: credenciais de CI/CD comprometidas filtradas em milhares de implantações de clientes. Lição: credenciais de CI/CD são equivalentes a prod. Armazenar em cofre. Capacidade estreita. Rotar agressivamente.
Números que você deve lembrar
- Política de rotação: ≤ 90 dias.
- Escanar em cada compromisso: TruffleHog / GitGuardian / Gitleaks.
- Vercel 2026: Créditos de CI/CD comprometidos → milhares de clientes em contacto com a empresa foram vazados.
- Retenção do registro de auditoria: SOC 2 = 1 ano, HIPAA = 6 anos.
Usá-lo
code/main.pyImplementa um esfregador de PII de brinquedo com tokenização consistente e um registro de auditoria apenas apêndice.
Envia-o
Esta lição produzoutputs/skill-llm-security-plan.mdConsiderando o âmbito regulamentar e o estado atual, planeja a migração do cofre, a limpeza, a saída, o registro de auditoria.
Exercícios
- Corra .
code/main.pyEnvie duas mensagens com a mesma identidade de nome e confirme que ambos têm o mesmo nome. - Desenhar a política de saída de rede para uma implantação vLLM-on-EKS chamando OpenAI + Anthropic + Weaviate.
- Você descobre uma chave no histórico de git (2 anos). Qual é a resposta correta rodar a chave, esfregar o histórico, ou ambos?
- O seu registro de auditoria cresce 10 GB/dia. Níveis de retenção de design (caldo 30 dias, quente 12 meses, frio 6 anos).
- Argumentar se a tokenização inversa (substituindo os valores reais de volta para a resposta de LLM) vale a pena a complexidade versus manter os titulares de lugar visíveis.
Termos-chave
| Term | What people say | What it actually means |
|---|---|---|
| Vault | "secrets store" | Centralized credential management service |
| IAM role | "identity-based auth" | Role assumed by app; returns short-lived creds |
| OIDC for CI/CD | "cloud-issued tokens" | No static keys in CI — identity via OIDC |
| TruffleHog / GitGuardian / Gitleaks | "secret scanners" | Commit-time secret detection |
| RBAC / ABAC | "access control" | Role-based vs attribute-based |
| PII scrubbing | "data masking" | Remove or tokenize sensitive entities |
| Consistent tokenization | "stable placeholders" | Same value → same token each time |
| Mesh approach | "Mesh tokenization" | Semantic-preserving tokenization pattern |
| Egress whitelist | "outbound allowlist" | Only permitted domains reachable |
| Audit log | "immutable history" | Append-only record for compliance |
Mais leitura
- Doppler — Advanced LLM Security
- Portkey — Manage LLM API keys with secret references
- Datadog — LLM Guardrails Best Practices
- JumpServer — Secrets Management Best Practices 2026
- Microsoft Presidio Detecção e anonimização de PII.
- HashiCorp Vault docs
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.