Webinar in ingleseWebinar con Jason Lee, mer 14 ottYour newest insider is an AI agent.Jason LeeFormer CISO, Zoom & SplunkIscriviti

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

Crea un account gratuitoQualsiasi versione recente di WindsurfLeggi la documentazione

WindsurfWindsurf 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.md

I rimborsi sopra i 500 € richiedono un secondo approvatore.

Approvata una volta da Sofia M.

Verificato prima del commit: pulito

Pronto in quattro passi.

  1. Esegui un comandoIn qualsiasi terminale, su macOS, Linux o Windows. Node 18.17 o successivo.
  2. Scegli la regione e accediUE o USA. Il browser si apre per l'accesso, nessuna chiave da incollare.
  3. Spunta WindsurfL'installer trova gli agenti sul tuo computer e li spunta per te.
  4. Scrivi codice come sempreApri Windsurf: VibeDefend lavora al suo fianco.

Verifica quando vuoi: vibedefend status

Cosa aggiunge VibeDefend a Windsurf.

Regole servite

Solo scritture

Solo le scritture su file: pre_write_code è il momento che Windsurf espone.

WindsurfWindsurf 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:14

Ogni query che mescola input dell'utente va parametrizzata.

OWASP Top 10

Servite prima della modifica

Finding in tempo reale

I finding di SAST, SCA, segreti, IaC e CI/CD, in diretta nella sessione.

WindsurfWindsurf

  1. SASTsrc/db/users.repo.ts:42

    SQL injection

  2. SCApackage.json

    lodash 4.17.20, CVE-2021-23337

  3. Secretsconfig/prod.yml

    AWS access key

  4. IaCinfra/main.tf

    S3 bucket public-read

  5. CI/CD.github/workflows/deploy.yml

    pull_request_target

Nel contesto dell'agente, in diretta

Limiti in Windsurf

  • Protezione dei segretiLe letture non sono bloccate in modo rigido: uno snippet di .windsurfrules chiede a Windsurf di controllarle prima.Tramite .windsurfrules
  • Protezione delle azioniLe scritture di file sono bloccate in modo rigido. I comandi di shell dipendono dal fatto che Windsurf segua .windsurfrules.Solo scritture

Le tue domande.

VibeDefend modifica la configurazione di Windsurf?
Aggiunge i suoi hook e registra il server MCP cybedefend, in ~/.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?
L'analisi avviene nella regione scelta all'installazione, UE o US. La decisione di bloccare un'azione viene presa sul tuo computer. Prima di una modifica, l'hook invia la parte di file che l'agente sta scrivendo, per trovare le regole che valgono per quel file. La revisione di fine sessione invia i file modificati durante la sessione. Il tuo token di accesso resta nel portachiavi del tuo sistema operativo.
Quale versione di Windsurf serve?
Una versione recente di Windsurf, e Node 18.17 o superiore. L'installer gira su macOS, Linux e Windows.
Devo collegare ogni repository?
Non per i progetti importati da GitHub o GitLab: VibeDefend legge l'origin del repo e trova il progetto. Per qualsiasi altro repo, esegui vibedefend link una volta. Il comando scrive .cybedefend/config.json con l'ID del progetto.
Come si disinstalla?
Esegui 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?
L'hook 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 scritturepre_write_codeSolo le scritture su file: pre_write_code è il momento che Windsurf espone.
Azioni pericolose bloccate
Solo scritturepre_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 promptpre_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
Disponibilepost_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ò.