Skip to content
Back to skills

Pre Deployment Security Check

ASecurity

Verifica que no haya credenciales, secrets o archivos sensibles antes de pushear a GitHub. Busca API keys hardcodeadas, .env con valores reales, y valida .gitignore.

  • 4 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added September 12, 2026
developmentgobashvuenodeazuregitapidatabasefrontendbackend

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill pre-deployment-security-check --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pre Deployment Security Check?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pre Deployment Security Check
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-pre-deployment-security-check/badge)](https://www.skillsdirectory.com/skills/aibot88-pre-deployment-security-check)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "Pre-Deployment Security Check"
description: "Verifica que no haya credenciales, secrets o archivos sensibles antes de pushear a GitHub. Busca API keys hardcodeadas, .env con valores reales, y valida .gitignore."
trigger-phrases: ["push to github", "prepare for deploy", "pre-deploy check", "security check before push"]
allowed-tools: ["bash", "grep", "read", "glob"]
---

# 🔒 Pre-Deployment Security Check

Realiza validaciones críticas de seguridad antes de hacer push a GitHub. Evita la fuga de credenciales.

## Proceso de Validación

### 1️⃣ Buscar Variables de Entorno Sensibles en Código

Busca en archivos de código (no en .env, config files):
- `GEMINI_API_KEY`
- `JWT_SECRET`
- `DATABASE_PASSWORD`
- `AZURE_AD_CLIENT_SECRET`
- Credenciales hardcodeadas en archivos `.ts`, `.js`, `.tsx`, `.jsx`

```bash
# Comandos a ejecutar:
grep -r "GEMINI_API_KEY\s*=" backend/src --include="*.ts" --include="*.js"
grep -r "JWT_SECRET\s*=" backend/src --include="*.ts"
grep -r "DATABASE_PASSWORD\s*=" backend/src --include="*.ts"
grep -r "password:\s*['\"]" backend/src --include="*.ts"
grep -r "secret:\s*['\"]" backend/src --include="*.ts"
```

### 2️⃣ Verificar que .env NO esté tracked en Git

```bash
git status | grep ".env" # No debe aparecer
git ls-files | grep ".env" # No debe aparecer
```

### 3️⃣ Validar Contenido de .env.example

El archivo `.env.example` debe tener valores de PLACEHOLDER, no reales:
```bash
grep -E "your_|placeholder|example|dev_key" backend/.env.example
```

### 4️⃣ Revisar .gitignore

Validar que incluya:
- `.env*` (excepto .env.example)
- `dist/`
- `node_modules/`
- `.env.production`
- `*.key`
- `*.pem`

### 5️⃣ Buscar Secretos Comunes

Usar patrones regex para detectar:
- API keys de formato conocido
- Tokens de Bearer
- Conexiones de base de datos
- URLs con credenciales (user:pass@host)

```bash
grep -r "mongodb://.*:.*@" backend/src --include="*.ts"
grep -r "postgres://.*:.*@" backend/src --include="*.ts"
grep -r "Bearer\s*[A-Za-z0-9\-_.]" backend/src --include="*.ts"
```

### 6️⃣ Verificar Archivos de Configuración

Revisar archivos que podrían contener secrets:
- `.env` (debe estar en .gitignore)
- `.env.production` (debe estar en .gitignore)
- `secrets.json` (debe estar en .gitignore)
- `credentials.json` (debe estar en .gitignore)

### 7️⃣ Listar Cambios a Commitar

```bash
git status --short
git diff --cached --name-only
```

## Salida Esperada

```
✅ SECURITY CHECK REPORT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✓ No hardcoded API keys encontradas
✓ No hardcoded passwords encontradas
✓ .env NO está en tracking
✓ .env.production NO está en tracking
✓ .gitignore está correctamente configurado
✓ No URLs con credenciales encontradas

📋 Cambios a hacer push:
  M backend/src/services/sync.service.ts
  M frontend/app/page.tsx
  A backend/src/new-module.ts

✅ SEGURO PARA PUSHEAR
```

O en caso de problemas:

```
🔴 SECURITY CHECK FAILED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

❌ CRÍTICO: Encontradas credenciales hardcodeadas
   Archivo: backend/src/config/database.ts:15
   Contenido: GEMINI_API_KEY = "AIzaSy..."

❌ .env está en tracking (debe estar en .gitignore)

❌ Archivo detectado: secrets.json (debe estar en .gitignore)

🔧 ACCIONES RECOMENDADAS:
1. Elimina las credenciales de database.ts
2. Usa process.env.GEMINI_API_KEY en su lugar
3. Añade .env a .gitignore
4. Ejecuta: git rm --cached .env
5. Ejecuta: git rm --cached secrets.json
6. Vuelve a ejecutar este check
```

## Uso

Invoca este skill cuando estés listo para hacer push:

```
"Push al repo, pero primero hazme un security check"
"Quiero hacer push, verifica que no haya credenciales expuestas"
"Pre-deploy security check por favor"
```

Claude automáticamente ejecutará las validaciones y te reportará si es seguro proceder.

Files in this skill

  • SKILL.md3.9 KB
  • source.json736 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.