Ένα policy-driven πλαίσιο προεγκαταστασιακής άμυνας για την ασφάλεια της Python software supply chain
A policy-driven pre-installation defense framework for Python package supply-chain security

Προβολή/ Άνοιγμα
Λέξεις κλειδιά
Software supply chain security ; PyPI ; Python packages ; Static analysis ; Machine learning ; Random forest ; Pre-install defense ; Fusion policy ; Dependency confusion ; TyposquattingΠερίληψη
Η παρούσα διπλωματική εργασία παρουσιάζει το SupplyGuard, ένα policy-driven πλαίσιο προεγκαταστασιακής άμυνας για την ασφάλεια της Python software supply chain. Το πρόβλημα αφορά την εγκατάσταση κακόβουλων ή ύποπτων Python packages από οικοσυστήματα όπως το PyPI, όπου μια συνηθισμένη εντολή pip install μπορεί να εισαγάγει κώδικα με obfuscation, ύποπτη επικοινωνία δικτύου, install-time λογική ή άλλες επικίνδυνες ενδείξεις.
Το SupplyGuard υλοποιείται ως PyPI-compatible gateway/proxy. Κάθε package artifact αναλύεται πριν εγκατασταθεί, με static-only διαδικασία: δεν εκτελείται κώδικας, δεν γίνεται import του package και δεν ενεργοποιούνται build-time ή runtime hooks. Η ανάλυση οργανώνεται σε πέντε engines: static rules, machine learning risk scoring, gateway static scanning, provenance/typosquatting/dependency-confusion checks και artifact integrity checks. Τα επιμέρους outputs συνδυάζονται από fusion policy, το οποίο παράγει τελική ενέργεια εγκατάστασης και αντίστοιχο evidence/audit record.
Στο frozen benchmark της εργασίας, με 700 assumed-clean και 3.701 malicious-labeled artifacts, το πλήρες A–E fusion policy σταμάτησε πριν από την εγκατάσταση 3.358 από τα 3.701 malicious-labeled artifacts (90,73%). Το clean false-403 rate ήταν 114/700 (16,29%), ενώ το permanent block σε clean δείγματα ήταν 1/700 (0,14%). Το Engine B, βασισμένο σε Random Forest, πέτυχε στο εσωτερικό held-out test set accuracy 0,9466, macro-F1 0,9465 και ROC-AUC 0,9838. Σε frozen shape-matched external αξιολόγηση, το ίδιο ML signal διατήρησε μέτρια διάκριση με ROC-AUC 0,8427, χωρίς όμως να υποστηρίζει ισχυρισμό πλήρους source-independent generalization.
Η συνεισφορά της εργασίας είναι ένα εξηγήσιμο pre-install risk-reduction framework και όχι ένας απόλυτος malware detector. Το σύστημα δείχνει ότι ο συνδυασμός πολλαπλών ατελών σημάτων, οργανωμένων από policy-driven fusion, μπορεί να μειώσει τον κίνδυνο πριν από την εγκατάσταση Python packages, διατηρώντας παράλληλα ορατότητα σε evidence, review και audit διαδικασίες.


