Percorso 01Lezione 1 / 6

Vibe coding: usi e limiti

Aiuta le persone a esplorare idee con l'AI. Un prototipo bancario spiega perché dati reali e permessi API richiedono verifiche di sicurezza.

Fondamenti11 minRevisionato

Pubblicato da Come scriviamo

Verifica cosa hai capitoUna dashboard bancaria funziona con transazioni inventate. Un collega propone di collegare un conto reale con accesso in sola lettura. Come procedi?Svolgi l'esercizio
Una dashboard bancaria funziona con transazioni inventate. Un collega propone di collegare un conto reale con accesso in sola lettura. Come procedi?

Cosa imparerai

  • Distinguere l'esplorazione da una decisione di rilascio.
  • Individuare le responsabilità mancanti in una demo convincente.
  • Scegliere un perimetro sicuro per un primo esperimento.

Lascia spazio alle idee

Un CTO di un’organizzazione enterprise può aiutare più persone a trasformare le proprie conoscenze in idee per il software. Coinvolgi colleghi di finanza, operations, vendite e sviluppo. Fornisci tempo, dati sintetici, API sandbox e assistenza.

Consenti di esplorare idee con strumenti diversi, entro limiti chiari per installazioni, account e dati ammessi. Un builder nel browser, un assistente di programmazione o un agente locale può aiutare a verificare un’idea. La scelta dello strumento non autorizza a caricare informazioni aziendali o a collegare un sistema reale.

Definisci un percorso semplice per portare un prototipo utile al team di sviluppo o di piattaforma. Chi lo ha creato contribuisce con il problema, un esempio di flusso di lavoro e il valore osservato. Non deve diventare il team di sicurezza e gestione operativa del servizio.

Individua cosa devi imparare

Il vibe coding inizia di solito con una descrizione del software desiderato. Accetti il codice generato e usi il risultato visibile per orientare la modifica successiva. Il termine ha significati diversi. In questa guida, chi dirige il lavoro non comprende necessariamente ogni scelta di implementazione.

Questo metodo può aiutarti a imparare. Un’interfaccia semplice può mostrare che un processo di approvazione ha troppi passaggi. Uno script temporaneo può aiutarti a valutare un formato di file. Un prototipo offre un progetto concreto da discutere. Puoi conservare queste conoscenze anche quando scarti il codice.

Definisci prima una domanda con una risposta osservabile. Per esempio: «Un responsabile di team riesce a capire questo processo di approvazione?» La domanda ha un ambito preciso. La richiesta di creare un sistema per le spese comprende anche protezione dei dati, controllo degli accessi, gestione operativa e responsabilità.

Il prototipo bancario del martedì

Considera un esempio fittizio. Martedì, un collega della finanza usa Lovable per creare una dashboard con transazioni bancarie inventate. La dashboard raggruppa le spese e mostra le fatture non pagate. Il team può ora discutere un flusso di lavoro utile.

Qualcuno propone di collegare il conto bancario dell’azienda. Le conseguenze cambiano, anche se l’app mantiene l’etichetta «prototipo».

A seconda dell’API, l’accesso in lettura può rivelare saldi, cronologia delle transazioni, nomi dei clienti o riferimenti dei pagamenti. Se il collegamento consente anche pagamenti, un errore può spostare denaro reale. Verifica l’ambito effettivo dei permessi: un collegamento bancario non include sempre l’autorizzazione ai pagamenti.

La demo non dimostra che un utente possa vedere solo i conti autorizzati. Un pulsante nascosto non fa rispettare un permesso. OWASP descrive come la mancanza di verifiche su conti o record possa esporre i dati di un altro utente.

Cosa potrebbe andare storto?Perché contaProve necessarie prima dell’accesso reale
Una credenziale API privata compare nel codice del browser o nei logUn’altra parte potrebbe sfruttarne i permessiEsaminare la gestione dei segreti; provare la revoca dell’accesso
Il backend accetta un ID conto senza verificare i diritti del chiamanteUn utente potrebbe leggere un altro contoVerificare che le richieste per altri utenti e conti siano rifiutate
Una richiesta di pagamento va in timeout e l’app la invia di nuovoUn nuovo tentativo potrebbe generare un secondo pagamentoProvare la gestione dei tentativi e riconciliare il risultato con il fornitore
L’app invia dettagli delle transazioni a un servizio AI non approvatoInformazioni riservate escono dal perimetro autorizzatoRicostruire richieste, log, destinatari e conservazione
Una dipendenza diventa vulnerabile dopo il lancioL’app invariata può comunque richiedere una correzione di sicurezzaAssegnare scansioni continue, correzioni e verifica del deployment

Nelle API di pagamento, idempotenza significa che ripetere una richiesta non ne ripete l’effetto previsto. Stripe documenta un’implementazione. Verifica comportamento, limiti e regole dei nuovi tentativi del fornitore effettivo. Il rollback di un’applicazione non annulla un pagamento già elaborato dalla banca.

Questo esempio non dimostra un difetto di Lovable. Le indicazioni di sicurezza di Lovable richiedono segreti protetti, controlli lato server, policy sui dati verificate e revisioni continue. Applica lo stesso criterio di verifica a qualsiasi builder, agente o app scritta manualmente.

Verifica l’accesso prima di collegare sistemi reali

Continua a provare il flusso con dati sintetici e account sandbox. Prima dell’accesso reale, chiedi ai responsabili di servizio, sicurezza e piattaforma di verificare l’applicazione e l’ambiente operativo.

Usa il flusso di collegamento approvato dalla banca o dal fornitore. Concedi accesso solo ai conti e ai permessi necessari. Conserva le credenziali private in un archivio di segreti approvato, fuori dai prompt e dal codice del browser. Se servono pagamenti, assegna approvazioni e limiti. Verifica come revocare l’accesso, indagare sui guasti e rispondere alle attività sospette.

Queste decisioni devono precedere l’ingresso di dati riservati o credenziali reali nel sistema. Attendere un rilascio formale in produzione può essere troppo tardi. Prosegui con i confini dei dati e l’infrastruttura enterprise.

Definisci le responsabilità prima di estendere l’uso

Un esperimento con dati inventati può durare poco e avere pochi utenti. Quando altre persone dipendono dall’app, definisci le responsabilità per il suo utilizzo.

  1. Indica il responsabile.
  2. Individua gli utenti e i dati ammessi.
  3. Definisci la risposta a un guasto.
  4. Conserva codice sorgente e configurazione in un repository.
  5. Verifica che un’altra persona possa esaminare e riprodurre il sistema.

Non ogni script richiede una piattaforma enterprise. Un formattatore personale senza dati sensibili richiede meno controlli di un’app per approvare pagamenti. Valuta le conseguenze di un errore. Verifica se puoi rilevarlo e annullarne gli effetti.

Prima di ampliare il prototipo, separa ciò che hai imparato sul problema dalle prove relative all’implementazione. Puoi mantenere l’interfaccia e sostituire il codice interno. Puoi limitare l’uso previsto. Puoi anche mantenere il prototipo come esperimento temporaneo.

Prevedi la gestione delle vulnerabilità dopo la demo

Una demo riuscita può nascondere una grave lacuna nella manutenzione. Può comparire una nuova segnalazione di vulnerabilità per una dipendenza senza alcuna modifica al tuo codice. Una scansione al rilascio descrive un solo momento.

Se l’app rimane in uso, qualcuno deve continuare a cercare, valutare e correggere le vulnerabilità. La correzione deve arrivare in produzione e superare una verifica. Uno scanner senza questo processo di risposta lascia irrisolta l’esposizione al rischio.

Verifica cosa offrono lo strumento e la configurazione effettivi. Più avanti, la gestione continua delle vulnerabilità spiega il processo completo, inclusi i guasti delle scansioni e le versioni distribuite.

Rendi semplice la revisione della prossima modifica

Assegna all’agente una piccola modifica con criteri di accettazione espliciti. Indica quali azioni può eseguire. Esamina il diff risultante. Esegui verifiche capaci di respingere un’implementazione errata. Mantieni il deployment come decisione separata finché le responsabilità del rilascio non sono chiare.

Il NIST Secure Software Development Framework descrive pratiche più ampie per lo sviluppo sicuro. Usalo come riferimento quando valuti i controlli mancanti. Non devi memorizzare il framework. Devi individuare le prove mancanti prima che il software abbia effetti su altre persone.

Svolgi l'esercizio

Scegli una funzionalità da una dimostrazione recente. 1. Annota un risultato dimostrato. 2. Annota tre domande ancora aperte. 3. Assegna un responsabile a ogni domanda. 4. Indica una verifica specifica capace di rilevare ogni possibile errore. Non usare «rendilo sicuro» al posto di una verifica specifica.

Scarica la scheda di lavoro (Markdown)
Verifica cosa hai capito ↑

Continua a imparare

Fonti e approfondimenti

Letture correlate di Taiga