Το GitHub AI Scan βλέπει νέα κενά, αλλά δεν μπορεί να κόψει το merge

|Συντάκτης: Συντακτική ομάδα QUASA|5 λεπτά ανάγνωσης
Το GitHub AI Scan βλέπει νέα κενά, αλλά δεν μπορεί να κόψει το merge

Το GitHub διέθεσε γενικά το AI Scan για pull requests στις 15 Οκτωβρίου 2026. Η λειτουργία αναζητά πιθανά κενά ασφαλείας σε αλλαγές γλωσσών και πλαισίων που δεν καλύπτει σήμερα το CodeQL, όπως PHP, Shell/Bash, Terraform HCL, Dockerfiles, JSP και Blazor. Τα ευρήματά της είναι συμβουλευτικά: δεν αποτυγχάνουν τον έλεγχο code scanning και δεν μπορούν να μπλοκάρουν το merge μέσω ruleset.

Για μια ομάδα ανάπτυξης, η νέα διαθεσιμότητα προσθέτει πληροφορία στο σημείο όπου εξετάζεται ο κώδικας, χωρίς να αλλάζει από μόνη της την πολιτική έγκρισης. Η χρήση καταναλώνει Code Security AI Credits, ακόμη και όταν το αποθετήριο δεν απαιτεί άδεια ανά ενεργό contributor. Η Tech AI Wire επισημαίνει ότι δεν δημοσιεύεται τιμή ανά AI credit· έτσι, ο αριθμός των pull requests από μόνος του δεν δίνει αξιόπιστο ποσό λογαριασμού.

Τι καλύπτει το AI Scan σε σχέση με το CodeQL

Το AI Scan εξετάζει τις αλλαγές ενός επιλέξιμου pull request, όχι ολόκληρο το αποθετήριο. Μπορεί να αναζητήσει πρόσθετο πλαίσιο στον κώδικα του αποθετηρίου πριν χαρακτηρίσει κάτι ως πρόβλημα, αλλά τα ευρήματά του υπάρχουν στο pull request και δεν μετατρέπονται σε εκκρεμείς ειδοποιήσεις στην προβολή Security. Η τεχνική περιγραφή του GitHub διευκρινίζει την κάλυψη, τις προϋποθέσεις και τα όρια της λειτουργίας.

  • Κάλυψη: το CodeQL αναλύει τις γλώσσες και τις μορφές κώδικα που υποστηρίζει. Το AI Scan συμπληρώνει αυτή την κάλυψη σε επιλεγμένες περιπτώσεις, μεταξύ των οποίων PHP, Shell/Bash, αρχεία Terraform σε HCL, Dockerfiles, JSP για Java και Blazor για C#.
  • Ενεργοποίηση: για να εκτελεστεί AI Scan, πρέπει να είναι ενεργό το code scanning και να ισχύει η ρύθμιση AI Scan για το αποθετήριο. Δεν χρειάζεται να έχει ρυθμιστεί η προεπιλεγμένη ανάλυση CodeQL· η σάρωση AI μπορεί να εκτελεστεί ακόμη κι αν η ανάλυση CodeQL περιμένει ή αποτύχει.
  • Εξαιρέσεις: η λειτουργία δεν εκτελείται σε pull requests από forks ή σε όσα δημιουργεί το Dependabot. Ένα pull request χωρίς αλλαγές σε κατάλληλη γλώσσα ή πλαίσιο επίσης δεν πληροί τις προϋποθέσεις σάρωσης.
  • Επιβολή: τα ευρήματα AI Scan δεν αποτυγχάνουν το Code scanning check και δεν μπορούν να οριστούν ως απαίτηση επίλυσης σε ruleset. Τα αποτελέσματα CodeQL μπορούν να συμμετέχουν σε υποχρεωτικό έλεγχο, ανάλογα με τη ρύθμιση code scanning και τους κανόνες του αποθετηρίου.

Η διάκριση έχει σημασία ακόμη και μέσα στο ίδιο pull request. Σε μια αλλαγή που περιλαμβάνει κώδικα Java και αρχεία JSP, για παράδειγμα, η ανάλυση CodeQL και το AI Scan μπορεί να αφορούν διαφορετικά τμήματα της αλλαγής. Η εμφάνιση αποτελέσματος από τη μία λειτουργία δεν σημαίνει ότι η άλλη εξέτασε τα ίδια αρχεία ή εφάρμοσε τους ίδιους κανόνες.

Πώς φτάνει ένα εύρημα στην ανασκόπηση

Η σάρωση ξεκινά όταν δημιουργείται κατάλληλο pull request και επαναλαμβάνεται μετά από νέο commit. Τα αποτελέσματα δημοσιεύονται καθώς βρίσκονται, οπότε ένα εύρημα AI Scan μπορεί να εμφανιστεί πριν ολοκληρωθεί το CodeQL ή και αργότερα. Στις καρτέλες Conversation και Files changed εμφανίζεται δίπλα σε αποτελέσματα CodeQL, με διακριτή ένδειξη «AI».

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

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

Πρόσβαση και χρέωση σε δημόσια και ιδιωτικά αποθετήρια

Το AI Scan είναι διαθέσιμο σε δημόσια αποθετήρια οργανισμών και προσωπικών λογαριασμών. Για ιδιωτικά ή εσωτερικά αποθετήρια οργανισμών απαιτείται GitHub Code Security ή GitHub Advanced Security, ενώ τα ιδιωτικά αποθετήρια προσωπικών λογαριασμών δεν είναι επιλέξιμα. Δεν απαιτείται άδεια GitHub Copilot για να χρησιμοποιηθεί η λειτουργία.

Η άδεια πρόσβασης και η κατανάλωση AI Credits είναι διαφορετικά σκέλη του κόστους. Η χρεώσιμη χρήση αρχίζει όταν σαρωθεί κατάλληλο pull request και καταγράφεται στο SKU Code Security AI Credits, χωριστά από την αδειοδότηση ανά ενεργό contributor. Αν ο λογαριασμός χρέωσης έχει συμπεριλαμβανόμενα AI credits μέσω δικαιώματος Copilot, αυτά καταναλώνονται πρώτα· στη συνέχεια η χρήση μετριέται σύμφωνα με τους ισχύοντες προϋπολογισμούς.

Για αποθετήριο οργανισμού, η χρήση αποδίδεται στον λογαριασμό που πληρώνει τις χρεώσεις του οργανισμού. Στην προβολή χρέωσης enterprise εμφανίζεται στην ενότητα «AI usage» ως προϊόν «Advanced Security». Επειδή η σάρωση επαναλαμβάνεται μετά από κάθε νέο commit σε κατάλληλο pull request, μια εκτίμηση που μετρά μόνο τα αρχικά ανοίγματα pull requests παραλείπει μέρος της πιθανής κατανάλωσης.

Πώς περιορίζεται ένας πιλότος χωρίς έκπληξη στη χρήση

Η ενεργοποίηση σε επίπεδο οργανισμού ισχύει αμέσως για όλα τα επιλέξιμα αποθετήρια όπου είναι ενεργό το code scanning. Οι διαχειριστές αποθετηρίων μπορούν έπειτα να εξαιρεθούν, αλλά κατάλληλα pull requests ενδέχεται να έχουν ήδη καταναλώσει credits. Για έναν περιορισμένο πιλότο, έχει επομένως σημασία ποια αποθετήρια είναι επιλέξιμα τη στιγμή της ενεργοποίησης, όχι μόνο ποια σκοπεύει να παρακολουθήσει η ομάδα.

Σε περιβάλλον enterprise, η πολιτική που επιτρέπει στους οργανισμούς να ενεργοποιήσουν το AI Scan έχει αρχική τιμή «Not allowed». Αν επιτραπεί η χρήση, ο οργανισμός πρέπει και πάλι να ενεργοποιήσει τη δική του ρύθμιση. Ένα όριο στο SKU Code Security AI Credits μπορεί να συγκρατήσει τη μετρημένη κατανάλωση· όταν εξαντληθούν τα διαθέσιμα credits λόγω αυστηρού ορίου, το AI Scan παύει να παράγει ευρήματα ώσπου να αυξηθεί το όριο ή να ξεκινήσει νέος κύκλος χρέωσης.

Το κόστος του πιλότου θα φανεί στην πραγματική κατανάλωση μετά τις πρώτες επιλέξιμες σαρώσεις. Η ομάδα μπορεί τότε να συσχετίσει τα credits με τον όγκο αλλαγών και με τα ευρήματα που αξιολογήθηκαν, έχοντας υπόψη ότι ένα εξαντλημένο όριο αφαιρεί αυτό το πρόσθετο σήμα από τα επόμενα pull requests.

Διαβάστε επίσης:

Κοινοποίηση:

Εγγραφείτε στο newsletter μας

Λάβετε τα τελευταία νέα για Web3, AI και κρυπτονομίσματα απευθείας στα εισερχόμενά σας.

0