Guardrails per Devin Desktop, costruiti sulle tue regole.
Le regole della tua azienda arrivano a Devin Desktop, l'ex Windsurf, prima di ogni scrittura su file. Una scrittura che le viola non finisce mai nel file.
npx -y @cybedefend/vibedefend@latest installDevin Desktop sta scrivendo
billing/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 Devin DesktopL'installer trova gli agenti sul tuo computer e li spunta per te.
- Scrivi codice come sempreApri Devin Desktop: VibeDefend lavora al suo fianco.
Cosa aggiunge VibeDefend a Devin Desktop.
Regole servite
Solo scrittureSolo le scritture su file: pre_write_code è il momento che gli hook di Windsurf espongono.
Devin Desktop sta scrivendo
src/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
Protezione dei segreti
Le letture dirette dei segreti sono rifiutate; Devin Desktop riceve il riferimento gestito.
Devin Desktop
webhooks.ts
cat .env | grep STRIPEBloccato: lettura diretta di un segreto
Al suo posto
process.env.STRIPE_WEBHOOK_SECRETnpm test -- webhooksI test passano
Registrato per il team
Protezione delle azioni
Comandi distruttivi, drop di schema e percorsi protetti vengono bloccati prima dell'esecuzione.
Devin Desktop
rm -rf dist/Consentito: output della build
rm -rf .cache/Consentito: cache
rm -rf ./storage/uploadsBloccato: percorso protetto, file degli utenti
Registrato per il team
Finding in tempo reale
I finding di SAST, SCA, segreti, IaC e CI/CD, in diretta nella sessione.
Devin Desktop
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 Devin Desktop
- Strumenti MCP e richieste webTramite .windsurfrules
Le tue domande.
VibeDefend modifica la configurazione di Devin Desktop?
~/.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 Devin Desktop 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.Fin dove arrivano gli Action Guards in Devin Desktop?
pre_write_code, pre_read_code e pre_run_command permettono a VibeDefend di bloccare senza appello scritture e letture di file e comandi shell. Questi hook non hanno un evento per le richieste web e non filtrano le chiamate agli strumenti MCP: per quelle, 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 Devin Desktop
- 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 gli hook di Windsurf espongono. - Azioni pericolose bloccate
- Scritture, letture, shell
pre_write_codepre_read_codepre_run_commandScritture e letture di file e comandi shell vengono bloccati senza appello. Per strumenti MCP e richieste web, 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_promptGli hook di Windsurf non hanno 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 equivalenteGli hook di Windsurf non hanno un evento prima della compattazione del contesto.
- Promemoria a ogni prompt
- Non disponibileNessun equivalenteNon disponibile in Devin Desktop.
Cosa scrive per Devin Desktop
~/.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.
Gli hook di Windsurf espongono meno momenti degli altri agenti. Scritture e letture di file e comandi shell vengono bloccati senza appello; gli strumenti MCP e le richieste web 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ò.