Διαδρομή 01Μάθημα 1 / 6

Vibe coding: χρήσεις και όρια

Βοηθήστε τους ανθρώπους να εξερευνήσουν ιδέες με AI. Δείτε, μέσα από ένα τραπεζικό πρωτότυπο, γιατί τα πραγματικά δεδομένα και τα δικαιώματα API απαιτούν αποδεικτικά στοιχεία ασφάλειας.

Βασικές γνώσεις11 minΕλέγχθηκε

Εκδότης Πώς γράφουμε

Ελέγξτε τι κατανοήσατεΈνας τραπεζικός πίνακας ελέγχου λειτουργεί με πλασματικές συναλλαγές. Ένας συνάδελφος προτείνει να συνδέσετε έναν πραγματικό λογαριασμό με πρόσβαση μόνο για ανάγνωση. Τι πρέπει να κάνετε;Κάντε την άσκηση
Ένας τραπεζικός πίνακας ελέγχου λειτουργεί με πλασματικές συναλλαγές. Ένας συνάδελφος προτείνει να συνδέσετε έναν πραγματικό λογαριασμό με πρόσβαση μόνο για ανάγνωση. Τι πρέπει να κάνετε;

Τι θα μάθετε

  • Διακρίνετε την εξερεύνηση από την απόφαση διάθεσης.
  • Εντοπίστε τις ευθύνες που λείπουν από μια πειστική επίδειξη.
  • Επιλέξτε ένα ασφαλές όριο για ένα πρώτο πείραμα.

Δώστε στους ανθρώπους χώρο να δημιουργήσουν

Ο CTO μιας επιχείρησης μπορεί να βοηθήσει περισσότερους ανθρώπους να μετατρέψουν τις γνώσεις τους σε ιδέες για λογισμικό. Καλέστε ανθρώπους από τα οικονομικά, τις επιχειρησιακές λειτουργίες, τις πωλήσεις και τις ομάδες μηχανικών. Δώστε τους χρόνο, συνθετικά δεδομένα, sandbox API και υποστήριξη.

Επιτρέψτε τη χρήση διαφορετικών εργαλείων για εξερεύνηση, με σαφή όρια για την εγκατάσταση, τους λογαριασμούς και τις επιτρεπόμενες εισόδους. Ένα εργαλείο δημιουργίας εφαρμογών στο πρόγραμμα περιήγησης, ένας βοηθός προγραμματισμού ή ένας τοπικός agent μπορεί να βοηθήσει στη δοκιμή μιας ιδέας. Η επιλογή εργαλείου δεν δίνει άδεια για μεταφόρτωση εταιρικών πληροφοριών ή σύνδεση με ένα πραγματικό σύστημα.

Δημοσιεύστε μια απλή διαδικασία για την παράδοση ενός χρήσιμου πρωτοτύπου στην ομάδα μηχανικών ή πλατφόρμας. Ο δημιουργός συνεισφέρει το πρόβλημα, ένα παράδειγμα ροής εργασίας και την αξία που παρατήρησε. Δεν χρειάζεται να αναλάβει ο ίδιος την ασφάλεια και τη λειτουργία της υπηρεσίας.

Προσδιορίστε τι χρειάζεται να μάθετε

Το vibe coding συνήθως ξεκινά με μια περιγραφή του λογισμικού που θέλετε. Αποδέχεστε τον παραγόμενο κώδικα και χρησιμοποιείτε το ορατό αποτέλεσμα για να καθοδηγήσετε την επόμενη αλλαγή. Ο όρος έχει διαφορετικές σημασίες. Σε αυτόν τον οδηγό, το άτομο που καθοδηγεί την εργασία δεν κατανοεί απαραίτητα κάθε απόφαση υλοποίησης.

Αυτή η μέθοδος μπορεί να σας βοηθήσει να μάθετε. Μια απλή διεπαφή μπορεί να δείξει ότι μια διαδικασία έγκρισης έχει υπερβολικά πολλά βήματα. Ένα προσωρινό script μπορεί να σας βοηθήσει να αξιολογήσετε μια μορφή αρχείου. Ένα πρωτότυπο δίνει στους ανθρώπους ένα συγκεκριμένο σχέδιο για συζήτηση. Μπορείτε να κρατήσετε αυτή τη γνώση ακόμη και αν απορρίψετε τον κώδικα.

Πρώτα ορίστε ένα ερώτημα με παρατηρήσιμη απάντηση. Για παράδειγμα: «Μπορεί ένας υπεύθυνος ομάδας να καταλάβει αυτή τη διαδικασία έγκρισης;» Το ερώτημα έχει σαφή έκταση. Ένα αίτημα δημιουργίας συστήματος εξόδων περιλαμβάνει επίσης προστασία δεδομένων, έλεγχο πρόσβασης, λειτουργία και ευθύνη.

Το τραπεζικό πρωτότυπο της Τρίτης

Εξετάστε ένα πλασματικό παράδειγμα. Την Τρίτη, ένας συνάδελφος από τα οικονομικά χρησιμοποιεί το Lovable για να δημιουργήσει έναν πίνακα ελέγχου με επινοημένες τραπεζικές συναλλαγές. Ο πίνακας ομαδοποιεί τις δαπάνες και εμφανίζει ανεξόφλητα τιμολόγια. Η ομάδα μπορεί πλέον να συζητήσει μια χρήσιμη ροή εργασίας.

Κάποιος προτείνει να συνδεθεί ο τραπεζικός λογαριασμός της εταιρείας. Αυτό αλλάζει τις συνέπειες, ακόμη και αν η εφαρμογή εξακολουθεί να χαρακτηρίζεται «πρωτότυπο».

Η πρόσβαση ανάγνωσης μπορεί να αποκαλύψει υπόλοιπα, ιστορικό συναλλαγών, ονόματα πελατών ή αναφορές πληρωμών, ανάλογα με το API. Αν η σύνδεση επιτρέπει και πληρωμές, τα σφάλματα μπορούν να μετακινήσουν πραγματικά χρήματα. Επιβεβαιώστε την πραγματική έκταση των δικαιωμάτων· μια τραπεζική σύνδεση δεν περιλαμβάνει πάντα δυνατότητα πληρωμών.

Η επίδειξη δεν αποδεικνύει ότι ένας χρήστης μπορεί να δει μόνο τους λογαριασμούς για τους οποίους έχει εξουσιοδότηση. Ένα κρυμμένο κουμπί δεν επιβάλλει έλεγχο δικαιωμάτων. Το OWASP περιγράφει πώς η απουσία ελέγχων λογαριασμού ή εγγραφής μπορεί να εκθέσει τα δεδομένα άλλου χρήστη.

Τι μπορεί να πάει στραβά;Γιατί έχει σημασίαΑποδεικτικά στοιχεία πριν από την πραγματική πρόσβαση
Ένα ιδιωτικό διαπιστευτήριο API εμφανίζεται στον κώδικα του προγράμματος περιήγησης ή στα logsΚάποιος άλλος θα μπορούσε να χρησιμοποιήσει τα δικαιώματά τουΕξετάστε τον χειρισμό μυστικών· δοκιμάστε την ανάκληση πρόσβασης
Το backend δέχεται ένα αναγνωριστικό λογαριασμού χωρίς να ελέγχει τα δικαιώματα του καλούντοςΈνας χρήστης θα μπορούσε να διαβάσει άλλον λογαριασμόΔοκιμάστε την απόρριψη αιτημάτων για άλλους χρήστες και λογαριασμούς
Ένα αίτημα πληρωμής υπερβαίνει το χρονικό όριο και η εφαρμογή το υποβάλλει ξανάΗ επανάληψη θα μπορούσε να δημιουργήσει δεύτερη πληρωμήΔοκιμάστε τον χειρισμό επαναλήψεων και αντιπαραβάλετε το αποτέλεσμα με τα στοιχεία του παρόχου
Η εφαρμογή στέλνει στοιχεία συναλλαγών σε μη εγκεκριμένη υπηρεσία AIΕμπιστευτικές πληροφορίες βγαίνουν έξω από το εγκεκριμένο όριοΠαρακολουθήστε τα αιτήματα, τα logs, τους παραλήπτες και τη διατήρηση δεδομένων
Μια εξάρτηση γίνεται ευάλωτη μετά την κυκλοφορίαΗ αμετάβλητη εφαρμογή μπορεί και πάλι να χρειάζεται διόρθωση ασφάλειαςΑναθέστε τη συνεχή σάρωση, την αποκατάσταση και την επαλήθευση του deployment

Στα API πληρωμών, η idempotency σημαίνει ότι η επανάληψη ενός αιτήματος δεν επαναλαμβάνει το επιδιωκόμενο αποτέλεσμα. Η Stripe τεκμηριώνει μία υλοποίηση. Ελέγξτε τη συμπεριφορά, τα όρια και τους κανόνες επανάληψης του πραγματικού παρόχου. Το rollback μιας εφαρμογής δεν αντιστρέφει μια πληρωμή που έχει επεξεργαστεί η τράπεζα.

Αυτό το παράδειγμα δεν αποτελεί απόδειξη ελαττώματος του Lovable. Οι οδηγίες ασφάλειας του ίδιου του Lovable απαιτούν προστατευμένα μυστικά, ελέγχους στον server, δοκιμασμένες πολιτικές δεδομένων και συνεχή επανεξέταση. Εφαρμόστε το ίδιο επίπεδο απαίτησης για αποδεικτικά στοιχεία σε κάθε εργαλείο δημιουργίας, agent ή χειροκίνητα γραμμένη εφαρμογή.

Ελέγξτε την πρόσβαση πριν συνδέσετε πραγματικά συστήματα

Συνεχίστε να δοκιμάζετε τη ροή εργασίας με συνθετικά δεδομένα και λογαριασμούς sandbox. Πριν από την πραγματική πρόσβαση, ζητήστε από τους υπευθύνους της υπηρεσίας, της ασφάλειας και της πλατφόρμας να επαληθεύσουν την εφαρμογή και το περιβάλλον λειτουργίας της.

Χρησιμοποιήστε την εγκεκριμένη διαδικασία σύνδεσης της τράπεζας ή του παρόχου. Παραχωρήστε πρόσβαση μόνο στους απαραίτητους λογαριασμούς και εκχωρήστε μόνο τα απαραίτητα δικαιώματα. Φυλάξτε τα ιδιωτικά διαπιστευτήρια σε εγκεκριμένο χώρο αποθήκευσης μυστικών, έξω από τα prompts και τον κώδικα του προγράμματος περιήγησης. Ορίστε εγκρίσεις και όρια πληρωμών όπου απαιτούνται πληρωμές. Επαληθεύστε πώς ανακαλείται η πρόσβαση, πώς διερευνώνται οι αστοχίες και πώς αντιμετωπίζεται ύποπτη δραστηριότητα.

Αυτές οι αποφάσεις προηγούνται της εισαγωγής εμπιστευτικών δεδομένων ή πραγματικών διαπιστευτηρίων στο σύστημα. Αν περιμένετε την επίσημη διάθεση στην παραγωγή, μπορεί να είναι ήδη αργά. Συνεχίστε με τα όρια δεδομένων και την εταιρική υποδομή.

Ορίστε ευθύνες πριν αυξήσετε τη χρήση

Ένα πείραμα με επινοημένα δεδομένα μπορεί να έχει μικρή διάρκεια και περιορισμένο κοινό. Όταν άλλοι άνθρωποι εξαρτώνται από την εφαρμογή, ορίστε τις ευθύνες για τη χρήση της.

  1. Ονομάστε τον υπεύθυνο.
  2. Προσδιορίστε τους επιτρεπόμενους χρήστες και τα δεδομένα.
  3. Ορίστε την απόκριση σε μια αστοχία.
  4. Διατηρήστε τον πηγαίο κώδικα και τη διαμόρφωση σε αποθετήριο.
  5. Επαληθεύστε ότι άλλο άτομο μπορεί να εξετάσει και να αναπαραγάγει το σύστημα.

Δεν χρειάζεται κάθε script μια εταιρική πλατφόρμα. Ένα προσωπικό εργαλείο μορφοποίησης χωρίς ευαίσθητα δεδομένα χρειάζεται λιγότερους ελέγχους από μια εφαρμογή έγκρισης πληρωμών. Αξιολογήστε τις συνέπειες ενός σφάλματος. Ελέγξτε αν μπορείτε να εντοπίσετε το σφάλμα και να αντιστρέψετε τις επιπτώσεις του.

Πριν επεκτείνετε το πρωτότυπο, διαχωρίστε όσα μάθατε για το πρόβλημα από τα αποδεικτικά στοιχεία για την υλοποίηση. Μπορείτε να κρατήσετε τη διεπαφή και να αντικαταστήσετε τον εσωτερικό κώδικα. Μπορείτε να περιορίσετε την προβλεπόμενη χρήση. Μπορείτε επίσης να κρατήσετε το πρωτότυπο ως προσωρινό πείραμα.

Προγραμματίστε την αντιμετώπιση ευπαθειών μετά την επίδειξη

Μια επιτυχημένη επίδειξη μπορεί να κρύβει σοβαρό κενό συντήρησης. Μπορεί να δημοσιευτεί νέα ανακοίνωση ευπάθειας για μια εξάρτηση χωρίς να έχει αλλάξει ο κώδικάς σας. Μια σάρωση κατά τη διάθεση περιγράφει μία μόνο χρονική στιγμή.

Αν η εφαρμογή παραμένει σε χρήση, κάποιος πρέπει να συνεχίσει να εντοπίζει, να αξιολογεί και να διορθώνει ευπάθειες. Η διόρθωση πρέπει να φτάσει στην παραγωγή και να περάσει επαλήθευση. Ένας σαρωτής χωρίς αυτή τη διαδικασία απόκρισης αφήνει την έκθεση στον κίνδυνο ανεπίλυτη.

Ελέγξτε τι παρέχουν το πραγματικό σας εργαλείο και η διαμόρφωσή του. Αργότερα, η συνεχής διαχείριση ευπαθειών εξηγεί ολόκληρη τη διαδικασία, συμπεριλαμβανομένων των αποτυχιών σάρωσης και των εκδόσεων που έχουν εγκατασταθεί.

Κάντε την επόμενη αλλαγή εύκολη στην ανασκόπηση

Αναθέστε στον agent μία μικρή αλλαγή με ρητά κριτήρια αποδοχής. Δηλώστε ποιες ενέργειες επιτρέπεται να κάνει. Εξετάστε το diff που προκύπτει. Εκτελέστε ελέγχους που μπορούν να απορρίψουν μια λανθασμένη υλοποίηση. Κρατήστε το deployment ως ξεχωριστή απόφαση μέχρι να αποσαφηνιστούν οι ευθύνες διάθεσης.

Το NIST Secure Software Development Framework περιγράφει ευρύτερες πρακτικές ασφαλούς ανάπτυξης. Χρησιμοποιήστε το ως αναφορά όταν αξιολογείτε τους ελέγχους που λείπουν. Δεν χρειάζεται να απομνημονεύσετε το πλαίσιο. Χρειάζεται να εντοπίσετε τα αποδεικτικά στοιχεία που λείπουν πριν το λογισμικό επηρεάσει άλλους ανθρώπους.

Κάντε την άσκηση

Επιλέξτε μια λειτουργία από μια πρόσφατη επίδειξη. 1. Καταγράψτε ένα αποτέλεσμα που απέδειξε η επίδειξη. 2. Καταγράψτε τρία ερωτήματα που παραμένουν ανοιχτά. 3. Ορίστε έναν υπεύθυνο για κάθε ερώτημα. 4. Ονομάστε έναν συγκεκριμένο έλεγχο που μπορεί να εντοπίσει κάθε πιθανή αστοχία. Μην αντικαθιστάτε έναν συγκεκριμένο έλεγχο με την οδηγία «κάντε το ασφαλές».

Λήψη φύλλου εργασίας (Markdown)
Ελέγξτε τι κατανοήσατε ↑

Συνεχίστε τη μάθηση

Πηγές και πρόσθετη μελέτη

Σχετικό υλικό από την Taiga