Ηγέτες σκέψης

Το AI αλλάζει ποιος αποφασίζει ποιο λογισμικό εισέρχεται στην οργάνωση σας

mm
Προσθέστε το Unite.AI στις προτιμώμενες πηγές σας στο Google

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

Πολύ από τη συζήτηση έχει επικεντρωθεί στο κώδικα που παράγει το AI. Μπορούν οι développers να εμπιστευτούν τον κώδικα που παράγει το AI; Εισάγει ασφαλείς κενές; Πώς πρέπει οι ομάδες ασφαλείας να το αναλύσουν; Αυτά τα ερωτήματα είναι σημαντικά, αλλά δεν είναι η μεγαλύτερη αλλαγή που φέρνει το AI στην ανάπτυξη λογισμικού. Το AI έχει υπερβεί το να μπορεί να παράγει μόνο κώδικα και επηρεάζει ολοένα και περισσότερο τις πρώτες αποφάσεις επιλογής λογισμικού που διαμορφώνουν ποιο λογισμικό εισέρχεται σε μια οργάνωση.

Οι βοηθοί κωδικοποίησης AI σπάνια κατασκευάζουν εφαρμογές από το μηδέν, και συνθέτουν λύσεις χρησιμοποιώντας υπάρχουσες πλαίσια, ανοικτού κώδικα βιβλιοθήκες, SDK, εικόνες контейнερ, και πακέτα οικοσυστημάτων. Κάθε σύσταση διαμορφώνει τις βάσεις του λογισμικού που θα χτιστεί μια εφαρμογή, συχνά πριν από το που ένας développer αναθεωρήσει την πρώτη γραμμή του παραγόμενο κώδικα.

Για δεκαετίες, η πρώτη απόφαση εμπιστοσύνης στην ανάπτυξη λογισμικού ανήκε σχεδόν εξ ολοκλήρου στους développers, αλλά τώρα αυτή η υπόθεση αρχίζει να αλλάζει. Ολοένα και περισσότερο, το AI κάνει την πρώτη σύσταση, ενώ οι développers επικυρώνουν το αποτέλεσμα αργότερα. Αυτή η μικρή αλλαγή έχει σημαντικές επιπτώσεις στην ασφάλεια της αλυσίδας εφοδιασμού λογισμικού, επειδή κάθε σύσταση φέρει μια σιωπηρή απόφαση εμπιστοσύνης.

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

Η πρώτη απόφαση εμπιστοσύνης

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

Σήμερα, ένας développer μπορεί απλώς να ζητήσει από einen βοηθό AI να “κατασκευάσει ένα ασφαλές REST API με αυθεντικοποίηση και υποστήριξη PostgreSQL”. Μέσα σε δευτερόλεπτα, το AI παράγει ένα λειτουργικό έργο. Κατά τη διάρκεια, συνιστά ένα runtime, επιλέγει ένα πλαίσιο, αναφέρεται σε μια βασική εικόνα контейнερ, εισάγει βιβλιοθήκες αυθεντικοποίησης, επιλέγει SDK, και παράγει δήλωσεις εξαρτήσεων όπως package.json, requirements.txt, ή pom.xml. Οι διαχειριστές πακέτων στη συνέχεια επιλύουν αυτές τις εξαρτήσεις και τις μεταβατικές εξαρτήσεις κατά τη διάρκεια της διαδικασίας κατασκευής.

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

Κάθε σύσταση είναι μια απόφαση εμπιστοσύνης

Κάθε τεχνικό έργο λογισμικού φέρει τη δική του αλυσίδα εμπιστοσύνης. Μια βιβλιοθήκη έχει διαχειριστές, συντελεστές, διαδικασίες κυκλοφορίας, πρακτικές υπογραφής, εξαρτήσεις και προέλευση. Μια εικόνα контейнερ κληρονομεί λογισμικό από ανώτερες διανομές, και ένα SDK εισάγει επιπλέον πακέτα, mỗi ένα επεκτείνοντας αυτή την αλυσίδα εμπιστοσύνης.

Μια σύσταση AI μπορεί να επεκταθεί γρήγορα σε εκατοντάδες τεχνικά έργα λογισμικού που γίνονται μέρος μιας εφαρμογής. Ο ανοικτός κώδικας έχει πάντα δουλέψει με αυτόν τον τρόπο. Τι αλλάζει είναι ποιος λαμβάνει αυτές τις αποφάσεις εμπιστοσύνης πρώτος. Ιστορικά, οι développers αξιολόγησαν και επέλεξαν τα συστατικά που εμπιστεύονταν. Ολοένα και περισσότερο, τα συστήματα AI κάνουν τις αρχικές συστάσεις, ενώ οι développers επικυρώνουν το αποτέλεσμα αργότερα.

Φαίνεται σαν μια μικρή αλλαγή, αλλά αλλάζει фундамεντικά πώς οι οργανώσεις πρέπει να σκέφτονται την ασφάλεια της αλυσίδας εφοδιασμού λογισμικού.

Το AI βελτιστοποιεί για λειτουργικό λογισμικό, όχι για οργανωτική εμπιστοσύνη

Δεν σημαίνει αυτό ότι το AI κάνει κακές συστάσεις. Το αντίθετο.

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

Αλλά αυτά τα στόχοι βελτιστοποίησης είναι фундамεντικά διαφορετικά από τα ερωτήματα που οι ομάδες ασφαλείας των επιχειρήσεων χρειάζονται απαντήσεις. Το AI δεν αξιολογεί εγγενώς εάν ένα πακέτο συμμορφώνεται με τις πολιτικές λογισμικού μιας οργάνωσης, εάν μια εικόνα контейнερ έχει ξαναχτιστεί από την πηγή, εάν η προέλευση του λογισμικού έχει επιβεβαιωθεί, ή εάν μια εξάρτηση προέρχεται από μια εγκεκριμένη πηγή λογισμικού.

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

Γιατί πρέπει να ενσωματώσουμε αριστερά

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

Αυτά τα εργαλεία παραμένουν απαραίτητα, αλλά αντιμετωπίζουν ένα διαφορετικό μέρος του προβλήματος.

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

Αυτό είναι γιατί πιστεύω ότι οι οργανώσεις πρέπει να ενσωματώσουν αριστερά.

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

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

Κυβερνώμενη επιλογή λογισμικού στην εποχή του AI

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

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

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

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

Το AI αλλάζει πώς το λογισμικό γράφεται, αλλά τώρα, πιο σημαντικά, αλλάζει πώς το λογισμικό επιλέγεται. Γιατί στην εποχή του AI, το λογισμικό που εμπιστεύεστε εξαρτάται ολοένα και περισσότερο από το λογισμικό που επιλέγει πρώτα το AI σας.

Ο Biswajit De είναι ο συνιδρυτής και ο Διευθυντής Τεχνολογίας της CleanStart, όπου ηγείται της τεχνικής όρασης και της στρατηγικής προϊόντων της εταιρείας για την ασφάλεια των σύγχρονων αλυσίδων εφοδιασμού λογισμικού και των cloud-φιλικών περιβαλλόντων.