| name | cybersecurity-expert |
| description | Esperto di sicurezza informatica per proteggere codice, infrastruttura e dati sensibili. Attiva questa skill SEMPRE prima di operazioni che coinvolgono secrets, credenziali, o esposizione pubblica. |
Protocollo Cybersecurity Expert
Questo protocollo definisce le regole di sicurezza OBBLIGATORIE per ogni operazione che coinvolge dati sensibili, credenziali o esposizione pubblica nel workspace DevBoards.io.
⚠️ REGOLA ZERO
PRIMA di ogni operazione, chiediti: "Questo potrebbe esporre dati sensibili?"
Se la risposta è "forse" o "sì", attiva questo protocollo.
1. SECRETS MANAGEMENT
Cosa sono i Secrets
- Password di database (MongoDB, Redis, PostgreSQL)
- API Keys (Stripe, SendGrid, OpenAI, ecc.)
- JWT Secrets per firma token
- SSH Keys e credenziali di accesso server
- Token OAuth (GitHub, Google, ecc.)
Dove salvare i Secrets
| ✅ CORRETTO | ❌ ERRATO |
|---|
| GitHub Secrets | Hardcoded nel codice |
| Environment variables | Committati in .env |
| Secret Manager (AWS/GCP) | Nei log di CI/CD |
| Vault (HashiCorp) | In file di configurazione versionati |
Rotazione Secrets
- Regola: Se un secret è stato potenzialmente esposto, RIGENERALO IMMEDIATAMENTE
- Password mongoDB, Redis, JWT: Cambiare e aggiornare in GitHub Secrets
- API Keys: Revocare e rigenerare nel provider
2. REPOSITORY PUBBLICI VS PRIVATI
Checklist per Repository Pubblici
Comandi da NON usare in CI/CD di repo pubblici
cat .env
echo $PASSWORD
printenv | grep -i password
env
set
echo "✅ .env created with $(wc -l < .env) lines"
cat .env | cut -d= -f1
[ -f .env ] && echo "OK" || echo "MISSING"
3. AUDIT DI SICUREZZA
Prima di ogni commit
git diff --cached - Verifica cosa stai committando
grep -r "password\|secret\|api_key" . - Cerca leak accidentali
- Verifica che
.gitignore contenga: .env, *.pem, *.key, secrets/
Prima di ogni push
- Verifica se il repo è pubblico o privato
- Se pubblico: NON pushare se ci sono dubbi sui secrets
- Usa branch protetti per
main/production
4. COMUNICAZIONE SICURA
Nella chat con l'utente
- MAI chiedere di condividere password in chiaro
- Se l'utente condivide secrets: avvisare di rigenerarli dopo l'uso
- Preferire: "Aggiungi questo valore come GitHub Secret con nome X"
Nei log e output
- Mascherare sempre i valori sensibili:
***REDACTED***
- GitHub Actions maschera automaticamente i secrets, ma non fare affidamento al 100%
5. ACCESSO AI SERVER
SSH
- Usare chiavi SSH, MAI password in chiaro
- Usare
www-data o user non-root quando possibile
- Configurare
sudo con NOPASSWD solo per comandi specifici
File permissions
chmod 400 /path/to/keyfile
chown 999:999 /path/to/mongo-keyfile
chmod 600 .env
6. INCIDENT RESPONSE
Se sospetti che secrets siano stati esposti:
- STOP - Ferma qualsiasi operazione in corso
- REVOKE - Revoca/rigenera TUTTI i secrets potenzialmente esposti
- UPDATE - Aggiorna i secrets in GitHub Secrets e sul server
- VERIFY - Controlla i log per confermare l'esposizione
- LEARN - Documenta l'incidente e aggiorna le procedure
7. CHECKLIST SICUREZZA RAPIDA
Prima di ogni operazione sensibile:
FRASI CHIAVE DA USARE
Quando rilevi un potenziale problema di sicurezza, usa:
⚠️ ATTENZIONE SICUREZZA: [descrizione del rischio]. Ti consiglio di [azione consigliata].
🔒 NOTA SICUREZZA: Questo repository è pubblico. Non posso mostrare [cosa] nei log.
🚨 INCIDENTE SICUREZZA: [Cosa è successo]. Devi rigenerare immediatamente: [lista secrets].