Μια νέα επίθεση με το όνομα Ghostcommit αποκάλυψαν ερευνητές του πανεπιστημίου Missouri-Kansas City στις 11 Ιουλίου 2026, δείχνοντας πώς κακόβουλες οδηγίες κρυμμένες μέσα σε αρχεία εικόνας (PNG) μπορούν να εξαπατήσουν σύγχρονους AI coding agents και να τους αναγκάσουν να κλέψουν secrets κατευθείαν από το repository του θύματος. Η επίθεση Ghostcommit εκμεταλλεύεται ένα δομικό τυφλό σημείο των αυτόματων και ανθρώπινων code reviewers: κανείς δεν ανοίγει τα εικόνια αρχεία κατά την επιθεώρηση ενός pull request, ενώ οι AI agents τα διαβάζουν αργότερα και εκτελούν πιστά κάθε οδηγία που εντοπίζουν μέσα τους.

Οι ερευνητές Sudipta Chattopadhyay και Murali Ediga από την ερευνητική ομάδα ASSET του πανεπιστημίου, μαζί με proof-of-concept που δημοσιεύτηκε στο GitHub, τεκμηριώνουν στο ρεπορτάζ του BleepingComputer πως η μέθοδος Ghostcommit επίθεση λειτουργεί σε πραγματικά, ευρέως χρησιμοποιούμενα εργαλεία μηχανικής λογισμικού όπως Cursor, Antigravity και σε συνδυασμούς με μοντέλα Claude Sonnet, Claude Opus, Gemini και GPT-5.5. Σε ένα από τα demonstrations, το Cursor με Claude Sonnet εκτέλεσε την επίθεση από την πρώτη προσπάθεια, γράφοντας ολόκληρο το περιεχόμενο του .env αρχείου του θύματος ως μια σειρά 311 ακεραίων μέσα σε νόμιμο-φαινομενικό πηγαίο κώδικα.
Πώς λειτουργεί η επίθεση Ghostcommit
Το κόλπο της επίθεσης Ghostcommit στηρίζεται σε ένα καινοτόμο συνδυασμό δύο εργαλείων που έχουν γίνει στάνταρ στη σύγχρονη ροή AI-assisted προγραμματισμού. Το πρώτο είναι το AGENTS.md, ένα αρχείο συμβάσεων κωδικοποίησης που οι AI coding agents διαβάζουν αυτόματα και αντιμετωπίζουν ως επίσημη πολιτική του project. Το δεύτερο είναι μια εικόνα PNG τοποθετημένη σε φάκελο τεκμηρίωσης, με κείμενο κακόβουλων οδηγιών ορατό μέσα στην ίδια την εικόνα αλλά αόρατο σε κάθε text-based reviewer.
Ο επιτιθέμενος υποβάλλει ένα pull request που φαίνεται εντελώς αθώο: το AGENTS.md διαβάζει σαν καθημερινή build υγιεινή και δεν αναφέρει κανένα secret ή ευαίσθητη διαδικασία. Απλώς παραπέμπει σε μια εικόνα, πχ docs/images/build-spec.png. Ο ανθρώπινος reviewer βλέπει ένα text αρχείο MD που φαίνεται λογικό και μια εικόνα που ούτως ή άλλως δεν πρόκειται να ανοίξει σε text editor. Ο bot reviewer έχει από default απενεργοποιημένο τον έλεγχο σε binary αρχεία.
Το πραγματικό payload κρύβεται μέσα στην PNG: οδηγίες σε απλό αναγνώσιμο κείμενο που λένε στον AI agent να διαβάσει το .env byte προς byte, να κωδικοποιήσει κάθε byte ως ακέραιο αριθμό, και να το εκπέμψει ως module constant σε νέο κώδικα που θα γράψει αργότερα. Αν και οι ερευνητές γέμισαν την PNG με τη φράση «malicious prompt injection» και ρητή εντολή για ανάγνωση του .env, το πέρασε καθαρό ο CodeRabbit και ο Bugbot επέστρεψε μηδέν ευρήματα.
Δείτε επίσης: HalluSquatting: Νέα επίθεση εξαπατά AI coding assistants να εγκαταστήσουν κακόβουλο κώδικα
Ο χρόνος της κλοπής
Το πιο ύπουλο στοιχείο της Ghostcommit επίθεσης είναι πως η κλοπή δεν συμβαίνει τη στιγμή του merge — συμβαίνει πολύ αργότερα, σε άσχετη συνεδρία εργασίας. Το κακόβουλο AGENTS.md παραμένει «κοιμώμενο» στο repository. Κάποια στιγμή, ημέρες ή εβδομάδες αργότερα, ένας developer του project ζητά από τον AI agent κάτι εντελώς ρουτίνας, όπως ένα module παρακολούθησης token ή έναν helper για logging.

Ο agent, όπως πάντα, διαβάζει το AGENTS.md κατά την εκκίνηση, ακολουθεί τον δείκτη προς την εικόνα, την «διαβάζει», ανοίγει το .env, και γράφει το ζητούμενο module με μια «provenance» σταθερά κοντά στην κορυφή του αρχείου. Ο developer βλέπει ακριβώς αυτό που ζήτησε και κάνει commit — έχοντας μόλις δημοσιεύσει σε δημόσιο repository ολόκληρο το περιεχόμενο των credentials του project. Ο επιτιθέμενος, που παρακολουθεί το repo, απλώς αποκωδικοποιεί τους αριθμούς και έχει πλήρη πρόσβαση σε API keys, database credentials, tokens.
Οι κλασικοί secret scanners δεν αντιλαμβάνονται την κλοπή γιατί δεν μετατρέπουν tuple ακεραίων της Python πίσω σε ASCII για να ελέγξουν τι κρύβεται. Ο κώδικας μοιάζει με νόμιμη σειρά αριθμητικών σταθερών σε module. Στο πλαίσιο έρευνας 6.480 pull requests στα 300 πιο ενεργά δημόσια repositories τις τελευταίες 90 ημέρες, οι ερευνητές διαπίστωσαν ότι το 73% των merged PRs έφτασε στο default branch χωρίς ουσιαστική ανθρώπινη επιθεώρηση — μια στατιστική που μεταφράζει το κενό σε πραγματικό, μαζικό attack surface.
Το tooling μετράει, όχι το μοντέλο
Το πιο διαφωτιστικό εύρημα της έρευνας δεν αφορά τα μοντέλα, αλλά τα εργαλεία που τα «τυλίγουν». Σε 10 δοκιμές ανά συνδυασμό εργαλείου-μοντέλου, το Cursor και το Antigravity ακολούθησαν την εικόνα και διέρρευσαν το .env κάτω από Sonnet, Gemini και GPT-5.5. Το Claude Code της Anthropic, τρέχοντας τα ίδια Sonnet weights, διάβασε την ίδια σύμβαση και αρνήθηκε, εξηγώντας ρητά την άρνησή του, και αρνήθηκε σε κάθε μοντέλο που δοκίμασαν οι ερευνητές.
Στο Antigravity, το Claude Opus έγραψε το secret αλλά μετά αναγνώρισε το social-engineering pattern και το διέγραψε πριν ολοκληρώσει. Ίδιο μοντέλο, αντίθετα αποτελέσματα, καθορισμένα από το harness που το περιβάλλει. Η συντακτική ομάδα του SecNews επισημαίνει ότι αυτή η ασυμμετρία αναδεικνύει μια δομική αδυναμία της τρέχουσας βιομηχανίας AI coding: η ασφάλεια δεν είναι ιδιότητα του μοντέλου αλλά του συστήματος στο σύνολό του. Το ίδιο LLM μπορεί να είναι απόλυτα ασφαλές σε ένα προϊόν και εντελώς εκτεθειμένο σε άλλο.
Δείτε επίσης: GhostApproval: Symlink ευπάθειες σε 6 AI coding assistants
Παλιά τεχνική, νέο τυφλό σημείο
Η ιδέα της κρυμμένης οδηγίας μέσα σε εικόνα δεν είναι εντελώς νέα. Το 2025, οι Kikimora Morozova και Suha Sabi Hussain της Trail of Bits παρουσίασαν μια πιο εξεζητημένη έκδοση: εικόνες που φαίνονται καθαρές σε πλήρη ανάλυση αλλά αναδεικνύουν αναγνώσιμο κείμενο prompt injection όταν η pipeline downscaling του AI συστήματος τις επαναδειγματοληπτεί — μέθοδος που εξαπάτησε το Gemini CLI. Πιο πρόσφατα, το macOS malware Gaslight ενσωμάτωσε ψευδή μηνύματα σφάλματος συστήματος μέσα στο binary του, στοχεύοντας εργαλεία AI-assisted ανάλυσης malware να διακόψουν την ίδια τους την ανάλυση.
Η Ghostcommit επίθεση δεν χρησιμοποιεί κανένα τέτοιο τέχνασμα απόκρυψης. Οι οδηγίες exfiltration βρίσκονται σε απλό αναγνώσιμο κείμενο μέσα στην PNG. Αυτό που την κάνει επιτυχή δεν είναι κρυμμένο σήμα, αλλά μια αδυναμία διαδικασίας: ο reviewer δεν ανοίγει καν το αρχείο.
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.

Πώς να προστατευθείτε από Ghostcommit
Η τεχνική ομάδα του SecNews προτείνει πέντε πρακτικά μέτρα άμυνας. Πρώτο, κάθε PR που περιλαμβάνει αρχεία εικόνας πρέπει να ελέγχεται με multimodal reviewer — οι ίδιοι οι ερευνητές παρουσίασαν στη μελέτη τους μια GitHub app που ανοίγει τις εικόνες και τις σαρώνει με LLM pass, τρέχοντας σε κάρτα γραφικών 4 GB. Σε δοκιμή απέναντι σε 80 άγνωστα PRs, μόνο μία επίθεση πέρασε.
Δεύτερο, runtime observability: παρακολούθηση όσων κάνει πραγματικά ο agent τη στιγμή που τα κάνει. Αν διαβάζει credentials χωρίς φανερό λόγο, το event πρέπει να αλαρμάρει, ανεξάρτητα από το πώς φτάσαμε εκεί. Τρίτο, περιορισμός των tool permissions: κανένας coding agent δεν θα έπρεπε να έχει δυνατότητα ανάγνωσης .env χωρίς ρητή, ανά-συνεδρία εξουσιοδότηση από τον χρήστη.
Τέταρτο, segregation of secrets από το working directory του agent. Αν τα credentials βρίσκονται σε ξεχωριστό vault, secret manager ή runtime-injected env variable, ο agent δεν μπορεί απλώς να «τα διαβάσει» ακόμη κι αν το ζητήσει η επίθεση. Πέμπτο, υποχρεωτική εξέταση AGENTS.md, .cursorrules, .aiderrules και όλων των αντίστοιχων αρχείων ρυθμίσεων σε κάθε PR ως credential-sensitive: όπως ελέγχουμε αλλαγές στο Dockerfile ή στα CI configs, έτσι πρέπει να ελέγχουμε και αλλαγές στα agent policy files.
Δείτε επίσης: Friendly Fire: AI agents εξαπατώνται να εκτελούν κακόβουλο κώδικα
Το Ghostcommit αναδεικνύει την ίδια μεγάλη αλήθεια που έδειξαν και οι προηγούμενες επιθέσεις τύπου HalluSquatting, GhostApproval και Friendly Fire: η ασφάλεια των agentic AI εφαρμογών δεν είναι ζήτημα καλύτερου μοντέλου. Είναι ζήτημα καλύτερης αρχιτεκτονικής — sandbox για κάθε επικίνδυνη ενέργεια, permission model για κάθε πρόσβαση σε ευαίσθητο αρχείο, και συστηματική επιθεώρηση κάθε input που φτάνει στο μοντέλο, ακόμη κι όταν εκείνο το input έχει τη μορφή μιας «αθώας» εικόνας τεκμηρίωσης. Χωρίς αυτούς τους ελέγχους, κάθε νέος συνδυασμός εργαλείου και μοντέλου προσθέτει και μια νέα εν δυνάμει διαρροή στην αλυσίδα εφοδιασμού λογισμικού.
