Αν η ομάδα σου βάζει AI σε code review, issue triage ή βοηθητικά agents που διαβάζουν repositories, υπάρχει ένα νέο ρίσκο που δεν μοιάζει με το κλασικό phishing. Μια απλή εικόνα μέσα στο repo μπορεί να κρύβει οδηγίες για να ξεγελάσει τον agent, να τον κάνει να ανοίξει αρχεία που δεν θα έπρεπε και τελικά να αποκαλύψει secrets, tokens ή περιεχόμενο από .env αρχεία. Το σενάριο έχει ήδη πάρει όνομα: Ghostcommit.
Δεν μιλάμε για θεωρητική άσκηση. Το πρόβλημα ακουμπά όσους χρησιμοποιούν AI εργαλεία σε GitHub, GitLab ή εσωτερικά repositories, από μικρές ομάδες ανάπτυξης μέχρι freelancers και startups που έχουν συνδέσει assistants με τον κώδικά τους. Και το πιο ύπουλο κομμάτι είναι ότι ο κίνδυνος δεν μπαίνει από την πόρτα του browser, αλλά από ένα αρχείο που δείχνει εντελώς ακίνδυνο.
Πώς μια εικόνα μπορεί να παρασύρει τον AI agent
Η βασική ιδέα του Ghostcommit είναι απλή και άβολη: το prompt injection δεν χρειάζεται να εμφανίζεται ως κείμενο στην κύρια ροή του κώδικα. Μπορεί να κρυφτεί σε εικόνα PNG μέσα στο repo και να περάσει απαρατήρητο από εργαλεία που ελέγχουν μόνο αρχεία κώδικα ή markdown. Αν ο AI reviewer ή ο coding agent ανοίξει την εικόνα ή ακολουθήσει οδηγίες που έχουν «σπαρθεί» στο περιβάλλον του project, μπορεί να εκτελέσει ενέργειες έξω από το ασφαλές πλαίσιο που περίμενες.
Το πρακτικό πρόβλημα δεν είναι η εικόνα αυτή καθαυτή. Είναι το ότι πολλοί AI βοηθοί έχουν πρόσβαση σε περισσότερα αρχεία από όσα χρειάζονται. Όταν ένας agent μπορεί να διαβάσει config files, environment variables, secrets managers exports ή πρόχειρα notes με API keys, ένα έξυπνα στημένο prompt injection αρκεί για να του δώσει λάθος προτεραιότητες. Στη χειρότερη εκδοχή, ο agent μπορεί να πάρει ένα μυστικό από το repo και να το βάλει κάπου που δεν πρέπει, ακόμη και μέσα στον κώδικα.
Πού χτυπά πραγματικά: GitHub repos, .env και shared tokens
Για τον μέσο χρήστη, το θέμα ακούγεται μακρινό. Για μια μικρή επιχείρηση όμως, τα αποτελέσματα είναι πολύ απτά. Ένα χαμένο .env με SMTP credentials, ένα API key για payment provider, ένα token πρόσβασης σε cloud service ή ένας κωδικός για admin panel αρκούν για να ανοίξει η πόρτα σε λογαριασμούς, emails, backups ή customer data. Αν ο agent έχει πρόσβαση σε repo που συνδέεται με CI/CD, το ρίσκο μεγαλώνει ακόμη περισσότερο.
Εδώ βρίσκεται και η μεγάλη παγίδα για ελληνικές ομάδες: πολλοί δουλεύουν γρήγορα, με λίγα άτομα και πολλά shared credentials. Ένας developer ανεβάζει κάτι στο GitHub, ένα bot κάνει review, ένα άλλο εργαλείο γράφει σχόλια ή διορθώσεις, και στο τέλος κανείς δεν έχει καθαρή εικόνα ποιο AI είδε τι. Σε αυτό το περιβάλλον, ένα κακόβουλο αρχείο εικόνας μπορεί να λειτουργήσει σαν ήσυχος πολλαπλασιαστής ζημιάς.
Τα πρώτα μέτρα που πρέπει να μπουν σήμερα
Αν χρησιμοποιείς AI agents σε κώδικα, το πρώτο βήμα είναι να περιορίσεις δραστικά το τι βλέπουν. Δώσε πρόσβαση μόνο στα απολύτως απαραίτητα αρχεία και χώρους του repo. Μην αφήνεις τον agent να «σκαλίζει» όλο το project επειδή έτσι είναι πιο βολικό. Κράτα τα secrets εκτός repository, σε οργανωμένο secret manager ή τουλάχιστον σε ασφαλείς μεταβλητές περιβάλλοντος που δεν εκτίθενται σε εργαλεία τρίτων.
Δεύτερο, ενεργοποίησε έλεγχο για prompt injection εκεί όπου υπάρχει δυνατότητα. Το GitHub έχει πλέον ενισχύσει το CodeQL με σχετική ανίχνευση σε νεότερη έκδοση, κάτι που δείχνει ότι το θέμα περνά από τη θεωρία στο κανονικό security tooling. Αν η ομάδα σου χρησιμοποιεί code scanning, αξίζει να δεις αν έχεις ενεργοποιημένα τα νεότερα rules και αν καλύπτουν AI-related patterns. Δεν λύνει τα πάντα, αλλά ανεβάζει το επίπεδο άμυνας.
Τρίτο, βάλε κανόνα: κανένα AI tool δεν παίρνει ελεύθερα πρόσβαση σε production secrets, deploy tokens ή admin credentials. Αν χρειάζεσαι βοήθεια από agent για debugging, δώσε sanitized δείγματα και όχι πραγματικά μυστικά. Και αν ένα εργαλείο σου ζητά ολοένα μεγαλύτερα δικαιώματα για να «δουλέψει καλύτερα», αυτό από μόνο του είναι καμπανάκι.
Τι να ελέγξει μια μικρή επιχείρηση πριν βάλει AI στα repos
Η ασφαλέστερη προσέγγιση δεν είναι να κόψεις το AI από παντού, αλλά να το βάλεις σε κουτάκια. Ξεχώρισε τα public repos από τα ιδιωτικά, τα dev environments από τα production, και τα εργαλεία που γράφουν κώδικα από εκείνα που απλώς τον διαβάζουν. Κάνε audit στα integrations σου: ποια bots έχουν πρόσβαση σε GitHub, ποια extensions τρέχουν τοπικά στους developers και ποια αυτοματοποιημένα workflows διαβάζουν uploads, images ή attachments.
Αν τρέχεις ομάδα με Windows 11 ή macOS laptops, φρόντισε οι developers να μην κρατούν local αντίγραφα από πραγματικά secrets σε σημειώσεις, screenshots ή downloads. Πολλά leaks ξεκινούν από αυτό που ο κόσμος θεωρεί «πρόχειρο» και «εσωτερικό». Επίσης, ενεργοποίησε 2FA παντού, προτίμησε passkeys όπου γίνεται και βάλε πολιτική για τα tokens: σύντομη διάρκεια ζωής, περιορισμένα δικαιώματα, συχνή περιστροφή.
Για όσους δουλεύουν με δημόσια ή ημι-δημόσια repos, το μάθημα είναι ξεκάθαρο: τα AI εργαλεία δεν είναι απλώς ένας πιο γρήγορος editor. Είναι νέος χρήστης στο σύστημά σου. Κι όπως κάθε χρήστης, μπορεί να ξεγελαστεί. Μόνο που εδώ δεν θα πατήσει λάθος link· μπορεί να υπακούσει σε κακή οδηγία που κρύφτηκε σε εικόνα, commit ή attachment.
Αν θέλεις μια πρακτική γραμμή άμυνας, σκέψου το έτσι: μη δίνεις σε κανένα AI agent πρόσβαση σε κάτι που δεν θα έδινες σε έναν junior developer χωρίς επιτήρηση. Εκεί βρίσκεται το σωστό όριο. Και για μικρές επιχειρήσεις στην Ελλάδα, όπου ο ίδιος άνθρωπος συχνά κάνει και development και support και admin, αυτό το όριο είναι σήμερα πιο σημαντικό από ποτέ.