Guardrails per Windsurf, costruiti sulle tue regole.
Le regole della tua azienda arrivano a Windsurf prima di ogni scrittura su file. Una scrittura che le viola non finisce mai nel file.
npx -y @cybedefend/vibedefend@latest install
Windsurf sta scrivendobilling/refund.ts
export async function refund(req: Request) { const { id, amount } = await req.json(); const invoice = await db.invoices.find({ id, tenant: req.tenant, }); if (amount > 500) await approvals.second(invoice); return payments.refund(invoice, amount); }
Ogni query è limitata al tenant.
rules/data-access.mdI rimborsi sopra i 500 € richiedono un secondo approvatore.
Approvata una volta da Sofia M.Verificato prima del commit: pulito
Pronto in quattro passi.
- Esegui un comandoIn qualsiasi terminale, su macOS, Linux o Windows. Node 18.17 o successivo.
- Scegli la regione e accediUE o USA. Il browser si apre per l'accesso, nessuna chiave da incollare.
- Spunta WindsurfL'installer trova gli agenti sul tuo computer e li spunta per te.
- Scrivi codice come sempreApri Windsurf: VibeDefend lavora al suo fianco.
Cosa aggiunge VibeDefend a Windsurf.
Regole servite
Solo scrittureSolo le scritture su file: pre_write_code è il momento che Windsurf espone.
Windsurf sta scrivendosrc/billing/cart-checkout.ts
const total = new Decimal128(cart.sum); const rows = await db.query( "SELECT * FROM carts WHERE id = $1", [id] );
Gli importi usano Decimal128, mai Number.
Estratta da src/billing.ts:14Ogni query che mescola input dell'utente va parametrizzata.
OWASP Top 10Servite prima della modifica
Finding in tempo reale
I finding di SAST, SCA, segreti, IaC e CI/CD, in diretta nella sessione.
Windsurf
SAST
src/db/users.repo.ts:42SQL injection
SCA
package.jsonlodash 4.17.20, CVE-2021-23337
Secrets
config/prod.ymlAWS access key
IaC
infra/main.tfS3 bucket public-read
CI/CD
.github/workflows/deploy.ymlpull_request_target
Nel contesto dell'agente, in diretta
Limiti in Windsurf
- Protezione dei segretiTramite .windsurfrules
- Protezione delle azioniSolo scritture
Le tue domande.
VibeDefend modifica la configurazione di Windsurf?
~/.codeium/windsurf/hooks.json, ~/.codeium/windsurf/mcp_config.json, .windsurfrules. I tuoi hook restano al loro posto: se rilanci l'installer, sostituisce solo le voci di VibeDefend.Quali dati escono dal mio computer?
Quale versione di Windsurf serve?
Devo collegare ogni repository?
vibedefend link una volta. Il comando scrive .cybedefend/config.json con l'ID del progetto.Come si disinstalla?
vibedefend uninstall: rimuove tutti i file installati da VibeDefend. Se hai installato il pacchetto a livello globale, esegui poi npm uninstall -g @cybedefend/vibedefend.Perché in Windsurf gli Action Guards sono limitati?
pre_write_code di Windsurf può bloccare le scritture su file, non le letture, i comandi shell o le richieste di rete. Per queste, VibeDefend aggiunge a .windsurfrules uno snippet che chiede all'agente di chiamare prima cybe_guards_check via MCP. Regge se il modello segue il suo file di regole.Dettagli tecnici per Windsurf
- Server MCP
- Disponibile
~/.codeium/windsurf/mcp_config.json - Regole prima di ogni modifica
- Solo scritture
pre_write_codeSolo le scritture su file: pre_write_code è il momento che Windsurf espone. - Azioni pericolose bloccate
- Solo scritture
pre_write_code.windsurfrulesLe scritture vengono bloccate senza appello. Per letture, comandi shell e richieste di rete, uno snippet in .windsurfrules chiede all'agente di chiamare prima cybe_guards_check: regge se il modello segue il suo file di regole. - Regole caricate all'avvio
- A ogni prompt
pre_user_promptWindsurf non ha un evento di avvio della sessione. VibeDefend usa pre_user_prompt, che scatta a ogni turno; il controllo è leggero e risponde subito quando non c'è nulla in sospeso. - Revisione a fine sessione
- Disponibile
post_cascade_responseParte alla fine di ogni risposta, una volta superata la soglia di modifiche. - Revisione delle sessioni lunghe
- Non disponibileNessun equivalenteWindsurf non ha un evento prima della compattazione del contesto.
- Promemoria a ogni prompt
- Non disponibileNessun equivalenteNon disponibile in Windsurf.
Cosa scrive per Windsurf
~/.codeium/windsurf/hooks.json~/.codeium/windsurf/mcp_config.json.windsurfrules
Più il runner degli hook in ~/.cybedefend/. I tuoi hook restano al loro posto: se rilanci l'installer, sostituisce solo le voci di VibeDefend.
Lancia l'installer dalla radice del repository: lo snippet .windsurfrules viene scritto nella cartella da cui lo esegui.
Windsurf espone meno momenti degli altri agenti. Le scritture su file vengono bloccate senza appello; le altre azioni dipendono dal fatto che l'agente segua .windsurfrules.
Qualcosa non torna? vibedefend status ti dà un report in sola lettura, e vibedefend doctor ripara quello che può.