Skip to main content

security-secrets

Proteção de secrets - Nunca exponha credenciais em logs, terminal ou git

Aller à l'installation

Informations de source

Dépôt
criptogus/liquid-ai
Dernière activité de la source
25 janvier 2026 à 23:45
Langue détectée de SKILL.md
portugais
Étoiles
7
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
security-secrets
description
Proteção de secrets - Nunca exponha credenciais em logs, terminal ou git
version
1.0.0
category
security
triggers
["secret","secrets","env","environment",".env","api key","credential","password","token","auth","segurança","security"]
tools
[]
author
liquid-ai
based_on
varlock-claude-skill
# Security Secrets - Proteção de Credenciais Esta skill garante que secrets e credenciais NUNCA apareçam em sessões do Claude, terminais, logs ou commits git. ## Regra Fundamental > **NUNCA exponha, exiba, logue ou commite secrets. JAMAIS.** ## O Que São Secrets? | Tipo | Exemplos | Risco | |------|----------|-------| | **API Keys** | `GOOGLE_AI_API_KEY`, `STRIPE_SECRET_KEY` | Acesso não autorizado | | **Database** | `DATABASE_URL`, connection strings | Data breach | | **Auth Tokens** | JWT secrets, OAuth tokens | Impersonation | | **Passwords** | Senhas de serviços, admin passwords | Comprometimento total | | **Private Keys** | SSH keys, SSL certificates | Acesso a sistemas | | **Webhooks** | URLs com tokens embutidos | Execução de ações | ## Regras de Proteção (NÃO NEGOCIÁVEIS) ### 1. NUNCA Exibir Valores ```bash # ❌ PROIBIDO echo $DATABASE_URL cat .env printenv | grep API # ✅ CORRETO echo "DATABASE_URL está configurado: $([ -n "$DATABASE_URL" ] && echo 'sim' || echo 'não')" ``` ### 2. NUNCA Logar Secrets ```typescript // ❌ PROIBIDO console.log('API Key:', process.env.API_KEY); console.log('Config:', JSON.stringify(config)); // ✅ CORRETO console.log('API Key configurada:', !!process.env.API_KEY); console.log('Config keys:', Object.keys(config)); ``` ### 3. NUNCA Commitar Secrets ```gitignore # .gitignore OBRIGATÓRIO .env .env.* *.pem *.key secrets/ credentials.json ``` ### 4. NUNCA Incluir em Prompts ```markdown ❌ PROIBIDO: "Minha API key é sk-abc123..." ✅ CORRETO: "Preciso configurar a API key do Stripe" ``` ## Arquivos Sensíveis - NUNCA LER/EXIBIR | Arquivo | Motivo | |---------|--------| | `.env` | Variáveis de ambiente | | `.env.local` | Overrides locais | | `.env.production` | Secrets de produção | | `credentials.json` | Google Cloud credentials | | `*.pem`, `*.key` | Chaves privadas | | `secrets.yaml` | Kubernetes secrets | | `docker-compose.override.yml` | Pode conter secrets | ## Detecção de Vazamentos ### Padrões Suspeitos ```regex # API Keys (sk|pk)[-_][a-zA-Z0-9]{20,} AKIA[0-9A-Z]{16} ghp_[a-zA-Z0-9]{36} # Connection Strings (postgres|mysql|mongodb):\/\/[^:]+:[^@]+@ # Tokens eyJ[a-zA-Z0-9-_]+\.eyJ[a-zA-Z0-9-_]+ # Generic Secrets (password|secret|token|key)\s*[:=]\s*['\"][^'\"]+['\"] ``` ### Se Detectar Vazamento 1. **PARE IMEDIATAMENTE** 2. **NÃO EXIBA** o valor encontrado 3. **ALERTE** o usuário: "Detectei um possível secret no arquivo X. Não vou exibi-lo." 4. **SUGIRA** rotação das credenciais ## Como Trabalhar com Secrets ### Verificar Existência (Sem Expor) ```typescript // ✅ Verificar se existe const hasApiKey = !!process.env.API_KEY; const envVars = ['API_KEY', 'DB_URL', 'JWT_SECRET']; const missing = envVars.filter(v => !process.env[v]); if (missing.length > 0) { console.log('Variáveis faltando:', missing.join(', ')); } ``` ### Mascarar em Logs ```typescript // ✅ Mascarar valores function maskSecret(value: string): string { if (!value || value.length < 8) return '***'; return value.slice(0, 4) + '...' + value.slice(-4); } console.log('API Key:', maskSecret(process.env.API_KEY)); // Output: "API Key: sk-a...xyz9" ``` ### Configurar Ambiente ```bash # ✅ Copiar template (sem valores) cp .env.example .env echo "Edite .env e adicione suas credenciais" # ✅ Verificar arquivo existe [ -f .env ] && echo ".env configurado" || echo "Crie o arquivo .env" ``` ## Checklist de Segurança ### Antes de Commitar - [ ] `.env` está no `.gitignore`? - [ ] Não há secrets hardcoded no código? - [ ] Connection strings usam variáveis de ambiente? - [ ] Logs não expõem credenciais? ### Antes de Compartilhar Código - [ ] Removeu arquivos sensíveis? - [ ] Substituiu secrets por placeholders? - [ ] Verificou histórico do git? ### Em Code Review - [ ] Nenhuma API key no diff? - [ ] Nenhuma senha em strings? - [ ] Nenhum token em URLs? ## Respostas Padrão ### Quando Pedirem para Exibir Secret > "Não posso exibir o valor de secrets por segurança. Posso verificar se a variável está configurada ou ajudar a configurá-la de forma segura." ### Quando Encontrar Secret em Código > "Detectei uma possível credencial hardcoded em [arquivo:linha]. Recomendo: > 1. Mover para variável de ambiente > 2. Adicionar arquivo ao .gitignore > 3. Rotacionar a credencial se já foi commitada" ### Quando Secret Vazar > "⚠️ ALERTA: Este secret pode ter sido exposto. Ações imediatas: > 1. Rotacione a credencial AGORA > 2. Verifique logs de acesso > 3. Revise histórico do git > 4. Considere usar git-filter-repo para limpar histórico" ## Ferramentas Recomendadas | Ferramenta | Uso | |------------|-----| | `git-secrets` | Previne commits com secrets | | `truffleHog` | Escaneia histórico git | | `detect-secrets` | Pre-commit hook | | `dotenv-vault` | Criptografia de .env | --- **Esta skill ativa AUTOMATICAMENTE quando:** - Código menciona variáveis de ambiente - Arquivos .env são referenciados - Discussão sobre API keys ou credenciais - Configuração de serviços externos
Voir sur GitHub