
Il 19 aprile 2026, Vercel ha confermato che degli attaccanti hanno compromesso uno strumento di IA di terze parti (Context.ai), hanno preso il controllo dell'account Google Workspace di un dipendente Vercel e hanno letto variabili d'ambiente che non erano contrassegnate come "sensibili" in un sottoinsieme limitato di progetti cliente. Se hai deployato qualcosa su Vercel negli ultimi 30 giorni, devi assumere che una delle tue variabili d'ambiente potrebbe essere già in mani sbagliate — e devi muoverti rapidamente.
La verità scomoda: la maggior parte dei vibe-coder inserisce i valori di .env direttamente da un template senza mai toccare l'interruttore "Sensibile". Questa è esattamente la categoria di variabili che l'attaccante ha letto. Questo piano ti guida attraverso i prossimi 60 minuti — cosa controllare, cosa ruotare e come rafforzare il tuo stack in modo che la prossima violazione di piattaforma non metta KO la tua app.
TL;DR: Cosa fare nei prossimi 60 minuti
Se non leggi nient'altro, fai ora queste sei cose:
- Metti in pausa i deploy automatici sui tuoi branch di produzione.
- Esegui
vercel env pulle cerca nell'output pattern di segreti (sk_live_,AKIA,ghp_,eyJ). - Ruota ogni chiave API memorizzata come variabile d'ambiente non sensibile — inizia con le chiavi di pagamento, database, autenticazione e provider cloud.
- Aggiungi nuovamente i segreti ruotati usando l'interruttore "Sensibile" di Vercel, poi rideploya.
- Apri il tuo registro attività Vercel per il periodo 1–20 aprile e segnala qualsiasi deploy, accesso o evento di token che non riconosci.
- Controlla il registro di audit della tua organizzazione GitHub per lo stesso periodo — nuovi PAT, chiavi di deploy o modifiche ai workflow.
Di seguito trovi la spiegazione completa, con i comandi, i pattern e l'ordine di rotazione di cui avrai bisogno.
Cosa è successo davvero nella violazione Vercel di aprile 2026
Vercel ha reso noto il 19 aprile 2026 che un attaccante ha compromesso Context.ai, uno strumento di produttività AI di terze parti usato da un dipendente Vercel. Da lì, l'attaccante ha preso il controllo dell'account Google Workspace del dipendente, si è infiltrato nell'ambiente interno di Vercel e ha avuto accesso alle variabili d'ambiente che non erano contrassegnate come "sensibili".
Le variabili contrassegnate come "sensibili" usano un percorso di lettura cifrato separato, e Vercel afferma che non ci sono prove che queste siano state esposte. Tutto il resto — variabili d'ambiente ordinarie che memorizzano chiavi API, URL di database, segreti JWT — era leggibile. Un post su un forum di crimine informatico sostiene di stare vendendo dati Vercel per 2 milioni di dollari, anche se Vercel non ha confermato l'esfiltrazione. In ogni caso, la mossa prudente è assumere una compromissione ai fini della rotazione, anche se Vercel non ti ha scritto direttamente.
L'azienda ha valutato l'attaccante come "altamente sofisticato in base alla sua velocità operativa e alla comprensione dettagliata dei sistemi di Vercel." Traduzione: non era uno script kiddie — prendi sul serio l'orologio.
Sei stato colpito? Come verificare in 5 minuti
Risposta breve: se usi Vercel e non sei stato rigoroso con l'interruttore "Sensibile", trattati come colpito. Ecco il triage in 5 minuti:
- Apri il registro attività di Vercel e filtra dal 1° aprile 2026 a oggi. Cerca accessi sconosciuti, creazioni di token o deploy.
- Vai su Google Workspace Admin → Sicurezza → Controlli API e cerca l'indicatore di compromissione pubblicato: l'ID client OAuth
110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com. Se è autorizzato, revocalo immediatamente. - Controlla se qualcuno nel tuo team ha mai effettuato l'accesso a Context.ai tramite Google SSO. Se sì, tratta i loro account come a rischio più elevato.
- Guarda la scheda Variabili d'Ambiente del tuo progetto Vercel. Conta quante NON sono contrassegnate come "Sensibile". Ognuna di esse è nel raggio di impatto.
Se hai ricevuto un'email da Vercel che inizia con "We identified a security incident affecting your account" — sei nel gruppo degli impattati confermati. Vai direttamente alla sezione di rotazione e inizia ORA.
Il piano di risposta d'emergenza in 60 minuti
L'ordine è determinato dal raggio di impatto. Non saltare i passaggi — ognuno sblocca il successivo.
Passo 1: Congelare l'ambiente (primi 10 minuti)
Ferma l'emorragia prima di iniziare l'analisi forense:
- Metti in pausa i deploy automatici sui branch
main/production(Dashboard Vercel → Progetto → Impostazioni → Git). - Disabilita temporaneamente la Vercel GitHub App su
github.com/organizations/<tuo-org>/settings/installationsse sospetti una compromissione più profonda. - Esporta il tuo registro di audit Vercel in CSV e salvalo localmente. Ne avrai bisogno se questo diventa un incidente notificabile ai sensi del GDPR.
- Attiva Observability Plus (anche una settimana di prova) per conservare i log estesi.
Questo è il passaggio "preserva le prove". Ruotare prima di fare uno snapshot del log distrugge la tua linea temporale.
Passo 2: Recuperare le variabili d'ambiente e scansionarle per i segreti
Apri il terminale ed esegui:
vercel link
vercel env pull .env.vercel-auditPoi scansiona l'output. Il modo più veloce è la CLI di GitGuardian:
ggshield secret scan path .env.vercel-auditSe non vuoi installare nulla, usa grep con questi pattern — rilevano l'80% dei segreti trapelati nei file d'ambiente:
grep -E "AKIA[0-9A-Z]{16}|sk_live_[0-9a-zA-Z]{24}|ghp_[0-9a-zA-Z]{36}|ghs_[0-9a-zA-Z]{36}|npm_[0-9a-zA-Z]{36}|eyJ[a-zA-Z0-9_-]+|-----BEGIN" .env.vercel-auditOgni corrispondenza è un candidato alla rotazione. Ogni segreto senza corrispondenza che è comunque una credenziale (URL di database, password Redis, chiavi di firma webhook) è ANCHE un candidato alla rotazione — grep cattura solo l'ovvio.
Passo 3: Ruotare i segreti in ordine di priorità (non alfabetico)
È qui che la maggior parte dei team sbaglia. Ruotano 40 segreti in ordine casuale, una chiave di sessione invalida tutti gli accessi attivi e i ticket di supporto esplodono. Fallo a livelli:
Tier 0 — Da ruotare nei prossimi 30 minuti:
- Tutti i Personal Access Token di GitHub (fine-grained e classici)
- Tutti i token di env var sensibili Vercel esistenti
- Token di Deployment Protection
Tier 1 — Da ruotare oggi:
- Chiavi segrete dei processori di pagamento (Stripe
sk_live_, Adyen, Braintree) AUTH_SECRET,NEXTAUTH_SECRET, chiavi di firma JWT, cookie di sessione- Stringhe di connessione database con accesso in scrittura (
DATABASE_URL, Mongo, Redis) - Chiavi dei provider cloud (AWS IAM, account di servizio GCP, segreti client Azure)
- Segreti di firma webhook (aggiornare sia al mittente CHE al destinatario)
Tier 2 — Da ruotare questa settimana:
- Chiavi SaaS di terze parti (email, SMS, analytics, CRM)
- Segreti client OAuth
- Credenziali SMTP, chiavi CDN
Tier 3 — Da ruotare quando è conveniente:
- Token analytics di sola lettura, DSN di Sentry, chiavi pubbliche/anonime
Ordine critico delle operazioni:
- Per i database: crea il nuovo utente prima di revocare il vecchio, altrimenti porterai il sito offline durante la rotazione.
- Per le chiavi di sessione: pianifica un evento di logout — tutte le sessioni attive verranno invalidate.
- Per i webhook: aggiorna entrambi i lati nella stessa finestra di deploy.
- Rideploya dopo ogni modifica alle variabili d'ambiente. Vercel incorpora i valori al momento della build, non a runtime.
Passo 4: Aggiungere tutto nuovamente come "Sensibile"
Quando rimetti i nuovi valori, attiva l'interruttore "Sensibile" per ognuno di essi. I valori sensibili usano un percorso cifrato separato e, secondo il bollettino di sicurezza di Vercel, non sono stati esposti in questo incidente. Questa è la modifica con un solo clic che avrebbe protetto la maggior parte dei clienti colpiti.
Passo 5: Auditare il repository per modifiche indesiderate
Confronta HEAD sul tuo branch principale con un commit noto come sano prima del 1° aprile. Concentrati su:
- Script
package.json— in particolarepostinstall,prepare,preinstall - Lockfile (
package-lock.json,pnpm-lock.yaml) per dipendenze nuove e inaspettate .github/workflows/*.ymlper nuovi workflow o action non pinnatevercel.jsonper modifiche ai comandi di build o redirect sospettinext.config.jsper nuovi header o redirect verso domini sconosciuti
Se pubblichi pacchetti npm, esegui anche npm view <pkg> time --json e verifica che niente sia stato pubblicato senza la tua autorizzazione.
Passo 6: Cacciare i sistemi a valle
Gli attaccanti non si fermano alle variabili d'ambiente — le usano. Interroga i tuoi sistemi a valle per il periodo dal 1° aprile a oggi:
- AWS CloudTrail:
CreateUser,AttachUserPolicyinaspettati, burst diGetObjectsu S3, accessi da nuovi IP. - Log di audit del database: grandi query
SELECT *, esportazioni, connessioni da regioni insolite. - Stripe / Adyen: nuove chiavi API, rimborsi sospetti, creazioni di clienti da posizioni strane.
- Provider di autenticazione: accessi impossible-travel, reimpostazioni di password non autorizzate, nuove app OAuth.
Qualsiasi risultato qui trasforma questo da esercizio di rotazione in un incidente reale — scala e considera gli obblighi di notifica (GDPR: 72 ore).
Cosa i "vibe-coder" si perdono: la superficie di attacco nascosta
Se hai imparato a programmare con strumenti AI — come Claude Code, Cursor o Copilot — probabilmente hai deployato la tua prima app Vercel prima di aver mai letto un documento di sicurezza. Va bene. Ma ci sono quattro trappole nascoste che colpiscono i vibe-coder più duramente degli sviluppatori esperti:
- Il trabocchetto
NEXT_PUBLIC_. Qualsiasi cosa con il prefissoNEXT_PUBLIC_viene inclusa nel JavaScript client. Se hai messo una chiave API lì "solo per testare", era già pubblica prima della violazione. Scansiona il tuo output di build:grep -rE "sk_|AKIA|eyJ" .next/static/. - La fuga da Linear / Slack. Se il tuo team incolla segreti in ticket Linear o thread Slack "solo per un attimo", quei segreti sono nei log di terze parti. Controlla il tuo registro di audit Linear e cerca gli stessi pattern regex.
- L'assunzione di
.env.localin repository privato. I repository privati non sono privati se la tua Vercel GitHub App è stata compromessa. Ogni file.env.*committato è nel raggio di impatto. - Deploy di anteprima con segreti di produzione. La maggior parte dei vibe-coder riutilizza le variabili d'ambiente di produzione per gli ambienti di anteprima. Questo raddoppia la tua superficie di attacco. Separali.
Questo è il noioso lavoro di infrastruttura che gli strumenti di codifica AI saltano. La soluzione non è smettere di usare l'AI — è abbinare la velocità dell'AI a una base di sicurezza solida. Se stai ancora capendo dove vive la tua app, il nostro confronto Vercel vs. Netlify e l'analisi Railway vs. Render vs. Fly.io sono buoni punti di partenza.
Come rafforzare il tuo stack in modo che la prossima violazione non ti bruci
Le violazioni di piattaforma sono un quando, non un se. Questa è la base che ogni app in produzione dovrebbe avere entro lunedì:
- Per impostazione predefinita, contrassegna ogni nuova variabile d'ambiente come "Sensibile" in Vercel. Rendilo un'abitudine del tuo team.
- Usa credenziali a breve durata. Sostituisci le chiavi AWS/GCP a lunga durata con la federazione GitHub OIDC — il tuo provider cloud si fida direttamente dell'identità CI, nessun segreto a lunga durata da far trapelare.
- Installa la scansione dei segreti pre-commit (gitleaks, Trufflehog). Impedisce ai segreti di entrare nel repository fin dall'inizio.
- Limita la tua GitHub App a repository specifici, non all'intera organizzazione.
- Revisione trimestrale delle app OAuth su Google Workspace, Microsoft 365, GitHub e Vercel. Elimina tutto ciò che non riconosci.
- **Esegui scansioni di segreti come **hook Claude Code — applicazione deterministica pre-commit anche quando l'AI se ne dimentica.
- Fissa la tua versione di Next.js e monitora gli avvisi. Vercel è il principale responsabile di Next.js, quindi gli incidenti qui hanno un effetto a cascata.
- Segmenta i tuoi segreti backend. Se usi Supabase o Firebase, usa la sicurezza a livello di riga e le chiavi di ruolo servizio con parsimonia — una chiave di servizio trapelata è una compromissione totale del database.
Hai bisogno di aiuto per mettere tutto al sicuro? Ecco come Techsy può intervenire
Il discorso onesto: la maggior parte dei team piccoli non ha un ingegnere della sicurezza, e leggere un piano di risposta agli incidenti di 60 passi alle 2 di notte non è come nessuno vorrebbe trascorrere il proprio lunedì.
In Techsy, negli ultimi due anni abbiamo gestito risposta agli incidenti e rafforzamento delle piattaforme per oltre 40 app Next.js e Node.js in produzione. Per l'incidente Vercel nello specifico, offriamo:
- Risposta d'emergenza 72 ore — Eseguiamo la rotazione Tier 0/Tier 1, scansionamo le tue variabili d'ambiente contro oltre 200 firme di segreti e effettuiamo un audit completo dei tuoi log Vercel, GitHub e cloud. Tempo di consegna tipico: un giorno lavorativo.
- Audit di rafforzamento della piattaforma — Migrazione a variabili sensibili, rotazione delle credenziali OIDC, scansione segreti pre-commit, scoping della GitHub App e un runbook scritto in modo che il tuo io futuro sappia cosa fare durante la prossima violazione.
- DevSecOps continuativo — Revisioni trimestrali OAuth, scansione continua dei segreti e simulazioni di incidenti in modo che "non può capitare a noi" diventi un'affermazione che puoi realmente sostenere.
Siamo ingegneri, non un fornitore di sicurezza a caselle da spuntare. Se stai andando nel panico in questo momento, contattaci per una chiamata di triage gratuita di 30 minuti — ti diremo onestamente se hai bisogno di noi o se puoi gestirlo con il piano qui sopra.
Domande frequenti
L'hack di Vercel è confermato o solo una voce?
Confermato. Vercel ha pubblicato un bollettino di sicurezza ufficiale il 19 aprile 2026, riconoscendo l'accesso non autorizzato tramite uno strumento AI di terze parti compromesso (Context.ai) e un account Google Workspace di un dipendente dirottato. Le variabili d'ambiente non contrassegnate come "sensibili" sono state accedute. Un post separato su BreachForums afferma di stare vendendo i dati per 2 milioni di dollari; quella parte non è verificata.
Non ho ricevuto un'email da Vercel. Sono al sicuro?
Probabilmente sì, ma "probabilmente" non è una postura di sicurezza. Vercel ha dichiarato di aver contattato il sottoinsieme limitato di clienti con impatto confermato. Se la tua email non è arrivata, il tuo rischio è minore — ma tutte le variabili d'ambiente non sensibili sulla piattaforma Vercel erano nel raggio di impatto. Fai comunque il triage di 10 minuti.
Qual è la differenza tra variabili d'ambiente "sensibili" e quelle normali in Vercel?
Le variabili d'ambiente "sensibili" usano un percorso di lettura cifrato separato e non possono essere visualizzate nel dashboard dopo la creazione. Le variabili d'ambiente normali sono leggibili da chiunque abbia accesso al progetto (incluso, in questo incidente, l'attaccante). La correzione è gratuita e richiede un clic per variabile.
Devo ruotare TUTTI i miei segreti, o solo quelli su Vercel?
Ruota ogni segreto memorizzato in una variabile d'ambiente Vercel non sensibile. Se hai usato la stessa chiave altrove (un anti-pattern comune), ruotala ovunque. Non dimenticare .env.local nei deploy di anteprima, nei sistemi CI come GitHub Actions e in qualsiasi riferimento incollato in Linear o Slack.
Come scansiono rapidamente le mie variabili d'ambiente per trovare segreti reali?
Esegui vercel env pull .env.audit poi ggshield secret scan path .env.audit. Se non riesci a installare GitGuardian, usa il comando grep su una sola riga del Passo 2 del piano — rileva chiavi AWS, chiavi Stripe, token GitHub, token npm, JWT e blocchi PEM.
Dovrei abbandonare Vercel dopo questo incidente?
Non solo per questo incidente. La risposta di Vercel — IoC pubblico, cronologia, guida alla rotazione — è stata ragionevolmente trasparente. Ogni piattaforma avrà prima o poi una violazione. Ciò che conta è se hai progettato per questo: variabili sensibili per impostazione predefinita, credenziali a breve durata, ambienti segmentati. Se stai comunque valutando alternative, i nostri articoli Vercel vs. Netlify e Railway vs. Render vs. Fly.io analizzano i compromessi.
Quanto tempo ho per notificare i clienti se sono stato colpito?
Il GDPR ti dà 72 ore dal momento in cui sei a conoscenza di una violazione notificabile. La California (CCPA) ha trigger specifici per classe di dati. I contratti SOC 2/ISO 27001 spesso richiedono una notifica più precoce rispetto ai regolatori. Se hai clienti paganti e confermi l'esfiltrazione dei loro dati, presumi di essere su un orologio di 72 ore e consulta un legale prima di inviare qualsiasi cosa.
Le app Next.js possono essere attaccate attraverso questo anche se non sono su Vercel?
L'incidente è specifico della piattaforma Vercel. Next.js stesso, ospitato altrove, non è interessato dal meccanismo della violazione. Ma se hai usato gli stessi pattern di variabili d'ambiente NEXT_PUBLIC_ che espongono accidentalmente segreti, quei problemi viaggiano con il tuo codice indipendentemente dall'host. Effettua comunque un audit del tuo output di build.
Qual è la correzione con un solo clic che avrebbe prevenuto la maggior parte dei danni?
Contrassegnare ogni variabile d'ambiente contenente credenziali come "Sensibile" in Vercel fin dal primo giorno. È una casella di controllo nel dashboard. In questo incidente, le variabili sensibili NON sono state accedute — solo quelle normali. Questa è la correzione, e costa zero euro e circa cinque minuti per progetto.
Come mi assicuro che il mio team non consegni mai più un segreto non contrassegnato?
Tre livelli: (1) scansione segreti pre-commit con gitleaks, (2) un controllo CI che fallisce se una variabile d'ambiente viene aggiunta senza il flag sensitive: true tramite l'API Vercel, e (3) un hook Claude Code che esegue lo scanner ad ogni modifica. Difesa in profondità — ognuno dei tre ne cattura l'80%, tutti e tre insieme ~99%.
In conclusione
La violazione Vercel di aprile 2026 è grave, ma superabile — se ti muovi nei prossimi 60 minuti. Congela i deploy, recupera le tue variabili d'ambiente, esegui grep, ruota a livelli, aggiungi nuovamente come sensibili e indaga i sistemi a valle. Questo è l'intero piano.
Le violazioni di piattaforma rivelano quanto dipendiamo dalle impostazioni predefinite. La maggior parte dei team colpiti qui non ha fatto nulla di sbagliato — hanno semplicemente lasciato l'interruttore "Sensibile" deselezionato perché nessuno gli aveva detto che fosse importante. Questa è la vera lezione per i vibe-coder: il codice generato dall'AI si deploya velocemente, ma le impostazioni predefinite di sicurezza non vengono con la generazione.
Se vuoi un secondo paio di occhi sul tuo stack, o preferiresti non eseguire questo piano da solo alle 2 di notte, prenota una chiamata di triage gratuita con il team Techsy. Altrimenti — buona fortuna, muoviti velocemente e contrassegna quelle variabili come sensibili.