In questa pagina
- Cos'è Windsurf e perché cambia il modello di sicurezza?
- Come funziona il modello di sicurezza di Windsurf?
- Quali sono i principali rischi per la sicurezza in Windsurf?
- 1. Codice generato dall'AI insicuro
- 2. Prompt injection tramite file, web e MCP
- 3. Server MCP dannosi e con permessi eccessivi
- 4. Supply chain e pacchetti MCP soggetti a typosquatting
- 5. Esposizione di segreti e contesto sensibile
- 6. Esecuzione di comandi e modalità auto-run
- Cosa copre la sicurezza integrata di Windsurf, e cosa no?
- Windsurf è sicuro da usare in azienda?
- Come si proteggono i server MCP in Windsurf?
- Quali sono le best practice per usare Windsurf in sicurezza?
- Dove si fermano i controlli integrati: proteggere l'agente al momento del prompt
- Domande frequenti
- Windsurf è sicuro?
- Windsurf invia il mio codice al cloud?
- Cos'è Windsurf Cascade ed è un rischio per la sicurezza?
- Come proteggo i server MCP in Windsurf?
- Windsurf può eseguire comandi o codice automaticamente?
- La Zero-Day Retention di Windsurf lo rende sicuro?
- In cosa la sicurezza di Windsurf è diversa da quella di Cursor o Claude Code?

Windsurf non è un autocompletamento più intelligente. Il suo agente Cascade legge l'intero repository, modifica file in tutto l'albero, esegue comandi da terminale e richiama strumenti esterni tramite il Model Context Protocol per raggiungere database, sistemi di ticketing e servizi interni. È questo che lo rende uno degli editor AI-native più rapidi da adottare, ed è anche ciò che lo rende una superficie di sicurezza che un IDE tradizionale non è mai stato. I suoi controlli integrati (attestazione SOC 2 e FedRAMP, Zero-Day Retention, .codeiumignore, una allow-list per l'esecuzione di comandi e la configurazione MCP) riducono il rischio. Non lo eliminano, e la superficie di attacco MCP in particolare è una che quasi nessun team ha modellato a livello di minacce. Questa guida copre i rischi reali, cosa proteggono davvero i controlli nativi, le best practice che colmano il divario e l'unico livello che il modello integrato dà per scontato che tu abbia già.
Cos'è Windsurf e perché cambia il modello di sicurezza?
Windsurf è un editor di codice AI-native costruito attorno a Cascade, un agente che non si limita a completare una riga ma porta a termine un compito. Descrivi l'intento in linguaggio naturale (costruisci questa funzionalità, correggi questo test che fallisce, esegui un refactoring su questi moduli) e Cascade indicizza il repository per il contesto, modifica più file in una singola esecuzione, esegue comandi da terminale e si estende tramite il Model Context Protocol (MCP) per raggiungere i sistemi con cui il tuo codice dialoga. Fa parte del più ampio passaggio alla sicurezza degli agenti di codice AI come disciplina, perché l'editor è ora un attore, non un assistente.
Quella combinazione è ciò che rompe il vecchio modello di sicurezza. Un assistente IDE classico offriva un completamento; un essere umano lo leggeva e sceglieva di accettarlo o rifiutarlo. Il raggio d'azione di un suggerimento sbagliato era un singolo blocco di codice che lo sviluppatore doveva comunque incollare. Cascade invece compie azioni. Legge file che non hai mai nominato, esegue comandi che non hai mai digitato, riscrive codice in tutto l'albero e richiama strumenti MCP che hai collegato settimane fa e dimenticato. La superficie di attacco non è più "cosa ha suggerito il modello". È "cosa può fare questo agente con l'accesso che ha, quanto codice può generare a volume e chi può influenzare le sue istruzioni".
Un suggerimento è una bozza che un essere umano sceglie di accettare. Un'azione è una cosa già accaduta. Il modello di sicurezza deve passare dalla revisione di bozze al vincolo delle azioni.
C'è un secondo cambiamento, e riguarda la velocità. La pull request è diventata la casa della sicurezza applicativa perché si collocava al ritmo umano: una persona rallentava, leggeva il diff e solo allora faceva il merge. Cascade non gira al ritmo umano. Una singola sessione dell'agente può produrre più codice in un pomeriggio di quanto un revisore ne legga in una settimana, e l'editor genererà volentieri codice funzionante che è silenziosamente insicuro. Quando ciò accade, il diff smette di essere un punto di controllo e diventa la trascrizione di decisioni già prese. Qualsiasi controllo che agisca solo alla pull request ora sta rivedendo la storia, non prevenendola. La stessa dinamica compare in Cursor e Claude Code; la peculiarità di Windsurf è quanto profondamente Cascade si appoggi a MCP per fare il suo lavoro.
Per la maggior parte dei team la domanda pratica non è se Windsurf abbia protezioni integrate. Le ha, e diverse sono genuinamente buone. La domanda è se siano sufficienti per l'uso quotidiano. La risposta onesta è no. I controlli di Windsurf riducono il rischio, ma un'adozione sicura dipende ancora da permessi, isolamento, supervisione umana e validazione indipendente su codice, dipendenze, segreti e pipeline.
Come funziona il modello di sicurezza di Windsurf?
Il modello di Windsurf è costruito attorno a tre idee: dimostra che la piattaforma gestisce i dati in modo responsabile, dai allo sviluppatore le leve per tenere il codice sensibile fuori dalla portata del modello e vincola le azioni che Cascade può compiere. In pratica ciò emerge come una manciata di controlli, ed è una base ragionevole per un editor così capace.
Conformità e sicurezza della piattaforma
Windsurf pubblica una postura di sicurezza che copre SOC 2 Type II e FedRAMP, con audit di terze parti e un modello documentato di gestione dei dati. Questo è il pavimento che rende Windsurf utilizzabile per i team (compresi quelli regolamentati e del settore pubblico) che necessitano di un'attestazione del fornitore prima dell'adozione.
Zero-Day Retention e opt-out dall'addestramento
Windsurf offre una modalità Zero-Day Retention in cui prompt e codice non vengono conservati sui suoi server, e i piani enterprise non vengono usati per l'addestramento. È il controllo dei dati più forte che Windsurf offre, e la leva a cui ricorri per prima su qualsiasi repository con logica di business reale.
Controlli del contesto (.codeiumignore + indicizzazione)
Un file .codeiumignore esclude i percorsi dall'indicizzazione e dal contesto di Cascade, così segreti, configurazioni e moduli sensibili non devono mai raggiungere il modello. L'indicizzazione locale può essere limitata per progetto. Queste sono le leve che decidono cosa Windsurf può effettivamente vedere.
Allow-list dei comandi e configurazione MCP
Cascade chiede prima di eseguire un comando da terminale, e puoi mantenere una allow-list (e una deny-list) di comandi che può eseguire senza un prompt. I server MCP sono dichiarati in un file di configurazione, così l'insieme di strumenti esterni che Cascade può richiamare è qualcosa che configuri, rivedi e verifichi.
La trappola è leggere quell'elenco come un confine di sicurezza definitivo. La Zero-Day Retention protegge i tuoi dati ma non dice nulla sulla sicurezza del codice che Cascade scrive. .codeiumignore funziona solo se lo mantieni. La allow-list dei comandi aiuta solo se la tieni stretta, e nel momento in cui aggiungi una voce ampia (o passi Cascade all'auto-esecuzione) il passo di approvazione che la rendeva sicura sparisce. La conformità attesta come Windsurf gestisce il suo servizio, non quanto in sicurezza l'agente si comporti sulla tua macchina o quali server MCP gli colleghi. Ogni controllo qui ha un limite documentato, e la prossima sezione riguarda cosa succede quando ci si appoggia troppo su di essi.
Quali sono i principali rischi per la sicurezza in Windsurf?
I rischi qui sotto non sono teorici. Mappano a vulnerabilità divulgate, ricerche pubblicate e alla OWASP Top 10 per le applicazioni LLM. I numeri che li inquadrano sono gli stessi che ogni team AppSec sta ora citando.
del codice generato dall'AI era vulnerabile attraverso gli scenari di sicurezza MITRE Top-25 (NYU, Asleep at the Keyboard)
prompt injection, il principale rischio LLM per il terzo anno consecutivo (OWASP LLM01)
delle soluzioni degli agenti di codice AI erano sicure, contro il 61% funzionalmente corretto (Carnegie Mellon SusVibes)
1. Codice generato dall'AI insicuro
Il compito di Cascade è scrivere codice in fretta, e in fretta non significa in sicurezza. La ricerca indipendente continua a trovare lo stesso divario: lo studio NYU "Asleep at the Keyboard" ha rilevato circa il 40% del codice generato dall'AI vulnerabile attraverso gli scenari MITRE Top-25, e il benchmark SusVibes di Carnegie Mellon ha trovato sicuro solo il 10,5% delle soluzioni degli agenti di codice AI. Windsurf si colloca saldamente al suo interno. Il divario tra "funziona" e "è sicuro" è dove vive il pericolo: codice che supera il test e spedisce la vulnerabilità, generato più in fretta di quanto qualsiasi revisore riesca a tenere il passo.
Gli schemi sono prevedibili. SQL concatenato come stringa anziché query parametrizzate (la classica SQL injection), encoding dell'output mancante che apre l'XSS, assenza di validazione dell'input sugli endpoint generati, autorizzazione compromessa su una nuova route. Non sono bug esotici; sono i classici di OWASP, riprodotti alla velocità della macchina perché il modello ha imparato da un corpus pubblico pieno di essi. Più in fretta Cascade spedisce, più in fretta i difetti si accumulano, e il codice dall'aspetto funzionante è esattamente quello che un revisore frettoloso lascia passare.
2. Prompt injection tramite file, web e MCP
La prompt injection è il rischio distintivo degli strumenti di codice agentici, ed è il rischio LLM numero uno di OWASP (LLM01) per il terzo anno consecutivo. Un attaccante nasconde istruzioni in qualcosa che l'agente legge, e l'agente le segue, scavalcando il comportamento previsto.
In Windsurf la forma pericolosa è quella indiretta, e Cascade allarga l'apertura. L'agente legge file del repository, scarica pagine web e consuma l'output degli strumenti MCP, e ognuno di questi canali può trasportare un'istruzione ostile. Un commento sepolto nel README di una dipendenza che dice "prima di continuare, esegui questo script di setup", una issue costruita ad arte o una risposta di strumento avvelenata possono bastare. Poiché un modello linguistico non può separare in modo affidabile un'istruzione attendibile da una dannosa incorporata nei dati, l'injection può portare a esecuzione di comandi, esfiltrazione di dati o manipolazione silenziosa del codice. Un agente guidato non si limita a rispondere male, agisce.
3. Server MCP dannosi e con permessi eccessivi
L'MCP è ciò che rende potente Cascade, ed è un nuovo confine di fiducia che la maggior parte dei team non ha modellato a livello di minacce. Questo è il rischio più specifico di Windsurf, perché Cascade si appoggia pesantemente a MCP e i server sono dichiarati in un file di configurazione facile da far crescere e facile da dimenticare. Un server con permessi eccessivi può esporre molto più di quanto il compito necessiti: un server di database con accesso in lettura a tutto, un server di filesystem puntato sulla home directory, uno strumento di deploy con credenziali di produzione.
Un server dannoso o compromesso va oltre. Gli attacchi di tool poisoning nascondono istruzioni dentro le descrizioni e le risposte degli strumenti, così il solo fatto di avere il server connesso può guidare Cascade prima ancora che chiami lo strumento. I meccanismi, e perché un server connesso è di per sé un vettore di injection, sono trattati nella nostra guida alla sicurezza MCP e al tool poisoning. La mitigazione è brusca e corretta: usa server che hai scritto tu o di cui ti fidi davvero, limita ciascuno ai dati e alle azioni più ristretti di cui necessita, e tratta tutto ciò che un server restituisce come input non attendibile da validare, non come verità su cui il modello può agire.
4. Supply chain e pacchetti MCP soggetti a typosquatting
Cascade installa pacchetti, clona repository e collega strumenti come parte del normale lavoro. Se tira dentro una libreria compromessa o connette un server MCP ostile, il codice dannoso gira con qualsiasi accesso l'ambiente conceda. Non è ipotetico. All'inizio del 2026 una campagna di typosquatting su npm tracciata come "SANDWORM_MODE" ha piantato server MCP malevoli imitando utility popolari, prendendo di mira specificamente gli assistenti di codice AI tra cui Windsurf, Cursor e Claude Code.
L'allucinazione dei pacchetti aggrava il rischio: un agente che inventa un nome di pacchetto plausibile ma inesistente offre agli attaccanti uno slot da registrare e armare. L'agente spesso approverà l'installazione con sicurezza, perché il nome sembra giusto e il compito lo richiedeva. Un package.json avvelenato, un hook post-install dannoso o un pacchetto MCP soggetto a typosquatting possono trasformare un prompt di routine "configura questo repo" in furto di credenziali.
5. Esposizione di segreti e contesto sensibile
Windsurf è utile perché Cascade ha contesto, e quel contesto include regolarmente più del codice sorgente. Qualsiasi cosa raggiungibile nel workspace, un file .env, una configurazione con stringhe di connessione, endpoint API interni, può essere trascinata nel contesto del modello a meno che tu non la escluda esplicitamente con .codeiumignore. Le funzionalità AI di Windsurf inviano inoltre codice a un'API esterna per generare risposte, quindi per la logica di business sensibile la questione di dove va quel traffico è reale, e la Zero-Day Retention è la leva che usi per controllarla.
L'esposizione è spesso indiretta. Mentre riassume un repository o esegue il debug di un errore, Cascade può far emergere un token, una credenziale o un hostname interno in un output che poi finisce in una chat, un ticket o un file committato, dove sopravvive a lungo dopo la fine della sessione. La postura predefinita è la comodità, e comodità significa accesso ampio a meno che tu non lo restringa a mano.
6. Esecuzione di comandi e modalità auto-run
Cascade esegue comandi shell e modifica sistemi, quindi un agente manipolato può eseguirne di dannosi. La allow-list dei comandi e il prompt di approvazione per ogni comando sono i controlli che mantengono sicura questa parte, e si erodono in due modi familiari. Il primo è la stanchezza da approvazioni: quando l'agente chiede decine di volte all'ora, le persone smettono di leggere e iniziano a cliccare "consenti sempre", e nel giro di una settimana l'impostazione predefinita prudente è diventata silenziosamente una concessione generale. Il secondo è la modalità di auto-esecuzione, in cui Cascade esegue comandi senza fermarsi per l'approvazione, rimuovendo l'unico passo che si frappone tra un'istruzione iniettata e un comando distruttivo.
Il pericolo si aggrava quando l'editor gira con accesso ampio alla macchina dello sviluppatore. Una catena di azioni singolarmente innocue, installa questa dipendenza, esegui questo task, applica questa modifica, può installare malware, alterare una configurazione CI o aprire un meccanismo di persistenza. È esattamente per questo che il gating dei comandi, il privilegio minimo e gli ambienti isolati contano, ed è per questo che la combinazione da temere è quella comune: un repo o un server MCP non attendibile, una configurazione permissiva per evitare l'attrito e un'istruzione iniettata che l'agente tratta come legittima.
Cosa copre la sicurezza integrata di Windsurf, e cosa no?
I controlli nativi sono reali, e conviene essere precisi sulla linea tra ciò che gestiscono e ciò che lasciano a te.
Leggi la colonna di destra come il lavoro vero e proprio. I controlli integrati di Windsurf sono sbilanciati verso la privacy dei dati e la conformità del fornitore, che è dove atterrano le prime domande di un acquirente. Non sono stati progettati per fermare un avversario determinato che controlla gli input dell'agente (un file, una pagina web, uno strumento MCP), e non dicono quasi nulla sulla sicurezza del codice che Cascade scrive. Tutto ciò che trasforma "Windsurf è installato" in "Windsurf è governato" vive nelle pratiche che seguono.
Windsurf è sicuro da usare in azienda?
Windsurf è sicuro da distribuire in azienda quando è configurato e contenuto, e rischioso quando non lo è. La sua attestazione SOC 2 e FedRAMP, la Zero-Day Retention e .codeiumignore superano l'asticella dell'approvvigionamento e prevengono una classe reale di fughe di dati. Il rischio residuo vive nel comportamento dell'agente, non nella conformità del fornitore.
Per un'organizzazione regolamentata, la storia della conformità risponde alla domanda sul rischio del fornitore (come Windsurf gestisce i dati dal suo lato) ma lascia aperta la domanda sul rischio applicativo (cosa scrive Cascade, cosa esegue e con quali server MCP dialoga). Sono problemi separati, e un'attestazione non chiude il secondo. Un rollout aziendale pratico tratta Windsurf come un agente potente che ha bisogno di guardrail: Zero-Day Retention attiva per i repository sensibili, .codeiumignore mantenuto come artefatto di sicurezza, una allow-list dei comandi stretta, un insieme di server MCP verificati e inventariati, ambienti isolati per il lavoro non attendibile e revisione umana obbligatoria più SAST su tutto ciò che Cascade produce. Il badge di conformità ti fa entrare dalla porta; la governance è ciò che impedisce alla porta di essere il punto debole.
Come si proteggono i server MCP in Windsurf?
Tratta ogni server MCP come un confine di fiducia, non come una comodità. Usa server che hai scritto tu o che provengono da fornitori di cui ti fidi davvero, limita ciascuno ai dati e alle azioni più ristretti di cui necessita, e valida tutto ciò che un server restituisce anziché lasciare che Cascade vi agisca direttamente. Il file di configurazione MCP è un artefatto di sicurezza, e merita la stessa disciplina di revisione del controllo degli accessi.
In concreto, controlla la configurazione MCP come controlli l'IAM. Mantieni un inventario di ogni server connesso così che un pacchetto malevolo o soggetto a typosquatting (come i server "SANDWORM_MODE") non si infili inosservato, e rimuovi i server non più usati. Non connettere mai un server con credenziali di produzione a un ambiente che esegue anche codice non attendibile, perché un singolo payload di tool poisoning può trasformare quella connessione in esfiltrazione. Limita i server di database alla sola lettura e alle specifiche tabelle che un compito richiede; punta i server di filesystem a una directory di progetto, mai alla cartella home; e dai agli strumenti di deploy token effimeri e a portata limitata anziché chiavi di produzione permanenti. Poiché una descrizione di strumento avvelenata è prompt injection per definizione, la connessione stessa fa parte della tua superficie di attacco già prima che uno strumento venga chiamato, ed è per questo che un controllo indipendente al prompt che possa bloccare un'azione pericolosa conta anche quando ogni server sembra legittimo.
Quali sono le best practice per usare Windsurf in sicurezza?
Queste nove pratiche colmano il divario tra la base nativa e una postura di sicurezza reale. Nessuna di esse è esotica; la disciplina sta nell'applicarle in modo coerente in un team che si muove in fretta.
-
Tieni la Zero-Day Retention attiva per il lavoro sensibile, e fai tuo il compromesso. Trattala come predefinita per qualsiasi repository con logica di business reale, dati regolamentati o codice proprietario. Dove un team la allenta, rendilo una decisione esplicita e documentata, limitata al lavoro a bassa sensibilità, non un'impostazione silenziosa che nessuno ha controllato.
-
Cura
.codeiumignorecome un artefatto di sicurezza. Escludi i file.env, gli store di credenziali, la configurazione dell'infrastruttura, le stringhe di connessione e qualsiasi modulo sensibile sia dall'indicizzazione sia dal contesto di Cascade. Rivedilo come rivedi il controllo degli accessi: secondo una pianificazione, dopo ogni nuovo segreto o servizio e come parte dell'onboarding di un nuovo repo. Un file di ignore non aggiornato è il modo più comune in cui un segreto finisce nel contesto di un modello. -
Tieni la allow-list dei comandi stretta, e resisti all'auto-run. Mantieni una allow-list e una deny-list deliberate per i comandi da terminale di Cascade, nega esplicitamente i comandi distruttivi e quelli che toccano credenziali, e tieni l'auto-esecuzione disattivata in qualsiasi ambiente con accesso a dati reali o host di produzione. L'auto-run rimuove l'unico passo di approvazione che si frappone tra un'istruzione iniettata e un comando distruttivo.
-
Verifica e inventaria ogni server MCP. Connetti solo server che hai scritto tu o di cui ti fidi davvero, limita ciascuno ai dati e alle azioni più ristretti di cui necessita, mantieni un inventario nella configurazione MCP e non collegare mai un server con credenziali di produzione a un ambiente che esegue codice non attendibile. Tratta descrizioni e risposte degli strumenti come input non attendibile.
-
Mantieni un essere umano nel ciclo sul codice generato. Tratta l'output di Cascade come una bozza, non come un'implementazione finale. Indirizza tutto il codice generato o modificato attraverso la revisione delle pull request e i test automatizzati, con scrutinio extra su autenticazione, validazione degli input, query SQL e percorsi privilegiati. Un agente che produce migliaia di righe al giorno genera difetti sottili più in fretta di quanto emergano da soli.
-
Analizza il codice generato dall'AI con SAST nella CI. Poiché solo una frazione delle soluzioni AI è sicura per impostazione predefinita, un gate di analisi statica non è opzionale. Esegui SAST su ogni pull request, fai fallire la build sui risultati ad alta severità (SQL injection, XSS, autorizzazione mancante) e riporta indietro i risultati così che le stesse classi smettano di ripresentarsi. I test funzionali non coglieranno un endpoint vulnerabile ma funzionante; solo un controllo consapevole della sicurezza lo farà.
-
Governa dipendenze e pacchetti. Limita le installazioni a registry attendibili o mirror interni, richiedi l'approvazione per i nuovi pacchetti e analizza tutto con la software composition analysis. Non lasciare che Cascade installi automaticamente pacchetti oscuri per quanto sicuro li suggerisca, e verifica che un pacchetto suggerito esista davvero prima che venga aggiunto.
-
Gestisci i segreti fuori portata. Tieni i segreti in chiaro fuori dal workspace che Cascade può vedere. Usa un vault e iniettali a runtime, oscura i valori sensibili nei log e nell'output, e non lasciare mai file di credenziali dove l'indicizzazione possa raggiungerli. Se un segreto compare mai in una trascrizione, un file generato o un commit, ruotalo immediatamente e indaga su come ci è arrivato.
-
Esegui il lavoro rischioso in ambienti isolati a privilegio minimo, e imposta la policy per sensibilità. Usa container o VM in sandbox per il lavoro assistito dall'AI su codice non attendibile, esegui Windsurf senza privilegi elevati e blocca le connessioni in uscita non approvate così che una sessione compromessa non possa esfiltrare. Classifica i repository (pubblici, interni, regolamentati, di produzione) e applica controlli più rigidi a quelli sensibili, mantenendo i sistemi critici fuori da qualsiasi percorso diretto verso le credenziali di produzione.
Dove si fermano i controlli integrati: proteggere l'agente al momento del prompt
Ripercorri i rischi ed emerge uno schema. Zero-Day Retention, .codeiumignore, la allow-list dei comandi e SAST agiscono tutti su ciò che l'agente ha già deciso di fare, o su codice che ha già scritto. Si raggruppano attorno alla pull request, perché è lì che l'AppSec ha sempre vissuto. Ma la PR è stata un punto di controllo solo perché un essere umano la leggeva, e al ritmo dell'agente nessuno la legge più dall'inizio alla fine.
Il luogo dove imporre una regola non è più il diff; è il prompt, prima che la riga insicura venga scritta. Qualunque regola tu voglia che Cascade segua deve essere nelle sue mani nel momento in cui scrive, non in attesa in uno scanner che arriva quando il codice è già su disco e l'agente è già passato al compito successivo.
È questo il livello che aggiunge VibeDefend. È una CLI npm gratuita che si installa in circa cinque secondi e collega Windsurf (oltre a Claude Code, Cursor, OpenAI Codex e VS Code Copilot) a quattro livelli di governance che girano dentro il loop dell'agente.

I quattro livelli gestiscono modalità di fallimento diverse. Regole di business sono le convenzioni del tuo repo che non sono mai state messe per iscritto (usa Decimal128 per il denaro, l'autorizzazione passa per requireOwner); VibeDefend le estrae dal modo in cui il tuo team già scrive codice e le carica nel contesto di Cascade prima di ogni modifica. Regole di sicurezza portano OWASP Top 10, SOC 2, GDPR e ISO 27001 dentro il codice mentre viene scritto, così il requisito del framework diventa parte del codice anziché una casella da spuntare al momento dell'audit. Action Guard intercetta le chiamate distruttive (un sudo rm -rf, una lettura grezza di una variabile d'ambiente che sembra un segreto, un psql ad hoc contro un host di produzione) prima che partano, avvisando o bloccando per regola con ogni intercettazione nell'audit trail. Live Findings collega l'agente alla piattaforma di sicurezza del codice di CybeDefend, i suoi scanner (SAST con reachability, SCA, segreti, IaC e CI/CD) in esecuzione continua, così l'agente non si limita a scrivere codice sicuro, smista e corregge le vulnerabilità che hai già. In modo cruciale, nulla del tuo codice attraversa la rete: le decisioni avvengono localmente accanto all'agente, e solo metadati di governance strutturati (la regola che è scattata, il percorso del file, la severità, un timestamp) raggiungono il backend. Le regioni EU e US sono fisicamente separate, e scegli la regione al momento dell'installazione. Quel modello di privacy è ciò che permette a un controllo di stare così vicino al codice senza diventare a sua volta un rischio di esfiltrazione dei dati.
Domande frequenti
Windsurf è sicuro?
Windsurf è sicuro da usare quando è configurato e contenuto, e rischioso quando non lo è. La sua attestazione SOC 2 e FedRAMP, la Zero-Day Retention, .codeiumignore e la allow-list dei comandi prevengono una classe reale di fughe di dati e incidenti. Il rischio residuo viene dal codice che Cascade genera (solo una frazione è sicura pronta all'uso), dagli input (prompt injection in file, pagine web e output di strumenti MCP), dai server MCP che connetti e dall'ambiente circostante (segreti esposti, repo non attendibili, modalità auto-run). Trattalo come un agente potente che ha bisogno di esclusione dei segreti, gating dei comandi, verifica dei server, revisione umana e SAST, non come uno strumento sicuro per impostazione predefinita.
Windsurf invia il mio codice al cloud?
Sì. Le funzionalità AI di Windsurf inviano codice a un'API esterna per generare risposte, il che può includere contenuti dei file e il contesto circostante del tuo compito. La Zero-Day Retention cambia cosa succede a quel codice dal lato di Windsurf: con essa attiva, i tuoi prompt e il tuo codice non vengono conservati, e i piani enterprise non vengono usati per l'addestramento. Per la logica di business sensibile, tienila attiva, escludi segreti e dati regolamentati dal contesto con .codeiumignore, e rivedi la policy di gestione dei dati di Windsurf rispetto ai tuoi requisiti. Un livello di governance come VibeDefend resta separato e non trasmette codice sorgente.
Cos'è Windsurf Cascade ed è un rischio per la sicurezza?
Cascade è l'agente di Windsurf: legge il repository, modifica più file, esegue comandi da terminale e richiama strumenti MCP per portare a termine un compito a partire da un prompt in linguaggio naturale. Non è un rischio di per sé, ma cambia il modello di rischio, perché compie azioni anziché offrire suggerimenti che un essere umano accetta. Le domande di sicurezza diventano cosa Cascade può eseguire, quale codice genera e chi può influenzare le sue istruzioni. Tieni la sua allow-list dei comandi stretta, i suoi server MCP verificati, il suo contesto libero da segreti e il suo output sotto revisione umana e SAST.
Come proteggo i server MCP in Windsurf?
Tratta ogni server MCP come un confine di fiducia. Usa server che hai scritto tu o che provengono da fornitori di cui ti fidi davvero, limita ciascuno ai dati e alle azioni più ristretti di cui necessita, e valida tutto ciò che un server restituisce anziché lasciare che Cascade vi agisca direttamente. Mantieni un inventario nella configurazione MCP così che un pacchetto malevolo o soggetto a typosquatting non si infili inosservato, non connettere mai un server con credenziali di produzione a un ambiente che esegue codice non attendibile, e ricorda che una descrizione di strumento avvelenata è prompt injection per definizione, quindi la connessione fa parte della tua superficie di attacco già prima che uno strumento venga chiamato.
Windsurf può eseguire comandi o codice automaticamente?
Cascade chiede prima di eseguire un comando da terminale per impostazione predefinita, e puoi mantenere una allow-list di comandi che può eseguire senza un prompt. Il rischio arriva quando quel passo di approvazione viene rimosso, sia per stanchezza da approvazioni (cliccare "consenti sempre" finché l'impostazione predefinita diventa una concessione generale) sia abilitando la modalità di auto-esecuzione, in cui Cascade esegue comandi senza fermarsi. Tieni la allow-list stretta, nega i comandi distruttivi e quelli che toccano credenziali, e tieni l'auto-run disattivato in qualsiasi ambiente con accesso a dati reali o host di produzione.
La Zero-Day Retention di Windsurf lo rende sicuro?
No, ed è importante essere precisi. La Zero-Day Retention è un controllo dei dati: garantisce che i tuoi prompt e il tuo codice non vengano conservati sui server di Windsurf. Non dice nulla sulla sicurezza del codice che Cascade genera, sul fatto che una prompt injection possa guidare l'agente o sul fatto che un server MCP sia dannoso. La Zero-Day Retention protegge i tuoi dati; non protegge la tua applicazione. Hai ancora bisogno di .codeiumignore, di una allow-list dei comandi stretta, di server MCP verificati, di SAST, di revisione umana e di un controllo al prompt.
In cosa la sicurezza di Windsurf è diversa da quella di Cursor o Claude Code?
I fondamentali sono condivisi (privilegio minimo, esclusione dei segreti, revisione umana, scansione delle dipendenze), ma le superfici differiscono. La superficie distintiva di Windsurf è quanto pesantemente Cascade si appoggi a MCP, il che rende la configurazione MCP e il tool poisoning il rischio da modellare per primo; Cursor ha spedito il Workspace Trust disattivato per impostazione predefinita e genera un alto tasso di codice insicuro; Claude Code ha una profonda integrazione con MCP e shell con permessi a livelli. Tutti e tre condividono lo stesso divario: i controlli integrati si raggruppano alla pull request, mentre la regola deve raggiungere l'agente al momento del prompt. La soluzione comune è un livello di governance al prompt come VibeDefend, oppure prenota una sessione per vederlo sul tuo repo.


