Skip to main content
Desenvolver aplicações seguras protege tanto seus usuários quanto a plataforma X. Este guia cobre práticas essenciais de segurança para desenvolvedores da X API.

Requisitos principais

TLS obrigatório

Todas as solicitações de API devem usar HTTPS. HTTP puro é rejeitado.

Segurança de credenciais

Nunca exponha API keys ou tokens em código do lado do cliente, logs ou repositórios.

Protegendo credenciais

Suas API keys e tokens são as chaves do seu app. Mantenha-os seguros:
1

Use variáveis de ambiente

Armazene credenciais em variáveis de ambiente, não no código.
export X_API_KEY="your-api-key"
export X_API_SECRET="your-api-secret"
2

Nunca faça commit de segredos

Adicione arquivos de credenciais ao .gitignore. Use ferramentas como git-secrets para evitar commits acidentais.
3

Rotacione regularmente

Regenere chaves periodicamente e imediatamente se suspeitar de comprometimento.
4

Use permissões mínimas

Solicite apenas os escopos OAuth que seu app realmente precisa.

Se as credenciais forem comprometidas

  1. Regenere imediatamente no Developer Console
  2. Revogue tokens antigos — regenerar invalida automaticamente as credenciais antigas
  3. Audite o uso — verifique atividades de API não autorizadas
  4. Atualize seu app — implante novas credenciais em todos os ambientes

Segurança da aplicação

Validação de entrada

Nunca confie na entrada do usuário. Valide e sanitize todos os dados antes de usá-los:
# Bad - vulnerable to injection
query = f"from:{user_input}"

# Good - validate input first
import re
if re.match(r'^[a-zA-Z0-9_]{1,15}$', user_input):
    query = f"from:{user_input}"

Codificação de saída

Faça escape dos dados da X API antes de exibi-los em HTML para evitar XSS:
// Bad - vulnerable to XSS
element.innerHTML = tweet.text;

// Good - escape HTML
element.textContent = tweet.text;

Vulnerabilidades comuns a prevenir

VulnerabilidadePrevenção
XSSFaça escape de todo conteúdo gerado pelo usuário antes da renderização
CSRFUse tokens anti-CSRF em formulários; verifique o parâmetro state do OAuth
SQL InjectionUse consultas parametrizadas, nunca concatene a entrada do usuário
Open redirectsValide callback URLs contra uma allowlist

Segurança do OAuth

Parâmetro state

Sempre use o parâmetro state em fluxos OAuth para prevenir CSRF:
import secrets

# Generate state before authorization
state = secrets.token_urlsafe(32)
session['oauth_state'] = state

# Verify state after callback
if request.args.get('state') != session.get('oauth_state'):
    abort(403)  # State mismatch - possible CSRF

Armazenamento de tokens

Tipo de tokenRecomendação de armazenamento
Access tokensBanco de dados criptografado ou cofre seguro
Refresh tokensBanco de dados criptografado com controles de acesso adicionais
Bearer tokensVariáveis de ambiente ou configuração segura

Práticas de desenvolvimento seguro

Auditorias de segurança

Realize revisões de segurança regulares e testes de penetração.

Verificação de dependências

Mantenha as dependências atualizadas. Use ferramentas para detectar pacotes vulneráveis.

Logging

Registre eventos de segurança, mas nunca registre credenciais ou dados sensíveis.

Monitoramento

Configure alertas para padrões incomuns de uso da API.

Relatando problemas de segurança

Se você descobrir uma vulnerabilidade de segurança que afete o X:
Reporte em até 48 horas. Usuários da X Developer Platform devem notificar o X em no máximo 48 horas após suspeitar de um incidente de segurança.

X Bug Bounty

Reporte vulnerabilidades nos sistemas do X através do HackerOne.

Incidente no seu app

Se seu app que usa dados do X for violado, reporte pelo mesmo canal.

Checklist de conformidade

  • Todas as solicitações de API usam TLS/HTTPS
  • Credenciais armazenadas com segurança (não em código ou logs)
  • Tokens de usuário criptografados em repouso
  • Validação de entrada em todos os dados fornecidos pelo usuário
  • Codificação de saída para prevenir XSS
  • Proteção CSRF em fluxos OAuth
  • Logging de segurança ativado (sem dados sensíveis)
  • Plano de resposta a incidentes documentado
  • Dependências atualizadas regularmente
  • Escopos OAuth mínimos solicitados

Recursos

Guia de autenticação

Implemente OAuth corretamente.

Permissões do app

Configure as permissões mínimas necessárias.