ΑρχικήΕιδήσειςΕφαρμογές από vibe coding γεμάτες γκάφες ασφαλείας

Εφαρμογές από vibe coding γεμάτες γκάφες ασφαλείας

Όταν ο developer δίνει «ελεύθερο πεδίο» σε έναν AI agent, το αποτέλεσμα συχνά είναι ανασφαλές

Εφαρμογές που παράγονται με vibe coding — δηλαδή όταν ο developer δίνει μεγάλη αυτονομία σε έναν AI agent να γράψει τον κώδικα — είναι πιθανό να είναι ανασφαλείς, με δημοφιλείς agents όπως το Claude Code να περιλαμβάνουν ακόμη και βασικά λογικά σφάλματα.

Αυτό υποστηρίζει ο Ori David, ερευνητής στη startup εταιρεία ασφάλειας Tenzai.

Πως έγινε η έρευνα: 5 coding agents, ίδια prompts, παρόμοια κενά

Ο David δημιούργησε τρεις διαφορετικές εφαρμογές, χρησιμοποιώντας τα ίδια λεπτομερή prompts σε πέντε coding agents:

  • Cursor
  • Claude Code
  • OpenAI Codex
  • Replit
  • Devin

…με τα προεπιλεγμένα LLMs (large language models) του καθενός.

Κύριο εύρημα

Ο ερευνητής εντόπισε παρόμοιο αριθμό ευπαθειών σε κάθε υλοποίηση, όμως μόνο τα Claude, Devin και Codex παρήγαγαν σφάλματα που αξιολογήθηκαν ως critical.

Παράδειγμα: «Έλεγχος δικαιωμάτων» που αφήνει τους ανώνυμους να διαγράφουν προϊόντα

Σε ένα χαρακτηριστικό παράδειγμα που παραθέτει ο David, το Claude δημιούργησε το παρακάτω PHP:

PHP// If authenticated, enforce ownership check
if ($user) {
    // Admin can delete any product, seller can only delete own
    if ($user['role'] !== 'admin' && $product['seller_id'] != $user['id']) {
        sendJsonResponse(['error' => 'Failed to delete', 'code' => 'FORBIDDEN'], 403);
    }
}

// Delete the product
$stmt = $db->prepare("DELETE FROM products WHERE id = ?");
$stmt->execute([$id]);

Το συγκεκριμένο snippet για ένα ecommerce site ελέγχει αν ο χρήστης είναι logged in και, αν ναι, αν έχει άδεια να διαγράψει προϊόντα.

Όμως, αν ο χρήστης δεν είναι logged in, δεν γίνεται κανένας έλεγχος και η διαγραφή προχωρά κανονικά.

Γιατί είναι επικίνδυνο

Ένα τέτοιο λάθος μπορεί να περάσει απαρατήρητο, ειδικά από developer που δεν γνωρίζει καλά τον κώδικα, επειδή η εφαρμογή μπορεί να «φαίνεται» ότι λειτουργεί σωστά μέχρι κάποιος να την κακομεταχειριστεί (abuse).

«Θυμίζει» παλαιότερο περιστατικό: non-technical χρήστης, bypass συνδρομών, λουκέτο

Το περιστατικό θυμίζει έναν χρήστη που, στα πρώτα στάδια του vibe coding, καυχήθηκε στο X ότι έφτιαξε software service παρότι ήταν «not technical», και αργότερα παραπονέθηκε ότι «οι άνθρωποι παρακάμπτουν τη συνδρομή», για να κλείσει τελικά την εφαρμογή.

Που τα πήγαν καλά οι agents και πού απέτυχαν

Σύμφωνα με την έρευνα, οι agents είχαν σχετικά «σωστή συμπεριφορά» απέναντι σε γνωστές κλάσεις bugs όπως:

  • SQL injection
  • Cross-site scripting (XSS)

Όμως είχαν κακή απόδοση σε:

Authorization logic (λογική εξουσιοδότησης)

  • Λάθη τύπου «αν δεν είσαι logged in, περνάς» ή «δεν ελέγχεται σωστά ο ρόλος/ιδιοκτησία».

Business logic (λογική επιχειρησιακών κανόνων)

Παράδειγμα: οι περισσότεροι agents επέτρεπαν:

  • παραγγελία αρνητικού αριθμού αντικειμένων στο ecommerce app
  • αρνητικές τιμές όταν οι sellers δημιουργούσαν προϊόντα

Άλλα συχνά κενά ασφαλείας που βρέθηκαν

Μεταξύ άλλων, εντοπίστηκαν:

  • ευπάθειες SSRF (Server-Side Request Forgery)
  • απουσία βέλτιστων πρακτικών όπως security headers (π.χ. για μείωση επιθέσεων σε browser επίπεδο)

Γιατί το πρόβλημα δεν είναι «λάθος του agent», αλλά του workflow

Οι coding agents δεν εγγυώνται ότι ο παραγόμενος κώδικας θα είναι ασφαλής — άρα το γεγονός ότι εφαρμογές από vibe coding έχουν ευπάθειες δεν είναι έκπληξη και δεν αποτελεί απαραίτητα «σφάλμα» του εργαλείου.

Το ζήτημα είναι ότι το vibe coding επιτρέπει ανάπτυξη εφαρμογών από:

  • ανειδίκευτους developers, ή
  • άτομα με δεξιότητες στα AI prompts αλλά όχι στην προγραμματιστική επάρκεια

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

Η πρόταση της Tenzai: AI security agents για εντοπισμό ευπαθειών

Η Tenzai (startup σε closed beta) προτείνει τα AI security agents της ως λύση:

Ωστόσο, το κατά πόσο προβλήματα που προκαλούνται από AI μπορούν να επιλυθούν επαρκώς από AI παραμένει ανοιχτό ερώτημα.

Τι εξακολουθεί να πιάνει πολλά λάθη: ανθρώπινο code review (με κατανόηση του κώδικα)

Οι άνθρωποι κάνουν επίσης λάθη, όμως είναι προφανές ότι ένα προσεκτικό ανθρώπινο code review από developers που κατανοούν πλήρως τον κώδικα μπορεί να εντοπίσει πολλές κατηγορίες σφαλμάτων.

Παρόλα αυτά, οι σφιχτές προθεσμίες και η πίεση για γρήγορη παράδοση νέων features συχνά οδηγούν σε παραμέληση των best practices.

Η προσθήκη vibe coding σε αυτό το περιβάλλον μοιάζει με επικίνδυνο συνδυασμό.

Στέλιος Θεοδωρίδης
Στέλιος Θεοδωρίδης
Ο ήρωας μου είναι ο γάτος μου ο Τσάρλι και ακροάζομαι μόνο Psychedelic Trance
RELATED ARTICLES

Πρόσφατα άρθρα

Tηλέφωνα έκτακτης ανάγκης

Δίωξη Ηλεκτρονικού Εγκλήματος: 11188
Ελληνική Αστυνομία: 100
Χαμόγελο του Παιδιού: 210 3306140
Πυροσβεστική Υπηρεσία: 199
ΕΚΑΒ 166