Show simple item record

Ένα policy-driven πλαίσιο προεγκαταστασιακής άμυνας για την ασφάλεια της Python software supply chain

dc.contributor.advisorΛαμπρινουδάκης, Κωνσταντίνος
dc.contributor.authorΒανικιώτης, Ανδρέας
dc.date.accessioned2026-10-02T09:36:41Z
dc.date.available2026-10-02T09:36:41Z
dc.date.issued2025
dc.identifier.urihttps://dione.lib.unipi.gr/xmlui/handle/unipi/19813
dc.description.abstractΗ παρούσα διπλωματική εργασία παρουσιάζει το 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 διαδικασίες.el
dc.format.extent39el
dc.language.isoelel
dc.publisherΠανεπιστήμιο Πειραιώςel
dc.rightsΑναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/gr/*
dc.titleΈνα policy-driven πλαίσιο προεγκαταστασιακής άμυνας για την ασφάλεια της Python software supply chainel
dc.title.alternativeA policy-driven pre-installation defense framework for Python package supply-chain securityel
dc.typeMaster Thesisel
dc.contributor.departmentΣχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Ψηφιακών Συστημάτωνel
dc.description.abstractENThis thesis presents SupplyGuard, a policy-driven pre-installation defense framework for Python software supply-chain security. The addressed problem is the installation of malicious or suspicious Python packages from ecosystems such as PyPI, where a normal pip install command may introduce code containing obfuscation, suspicious network indicators, install-time logic, or other risk signals. SupplyGuard is implemented as a PyPI-compatible gateway/proxy. Each package artifact is inspected before installation using a static-only process: package code is not executed, the package is not imported, and build-time or runtime hooks are not triggered. The analysis is organized around five engines: static rules, machine-learning risk scoring, gateway static scanning, provenance/typosquatting/dependency-confusion checks, and artifact integrity checks. Their outputs are combined by a fusion policy that produces the final installation action and an evidence/audit record. In the frozen benchmark used in this thesis, consisting of 700 assumed-clean and 3,701 malicious-labeled artifacts, the full A–E fusion policy stopped 3,358 of 3,701 malicious-labeled artifacts before installation (90.73%). The clean false-403 rate was 114/700 (16.29%), while the permanent clean block rate was 1/700 (0.14%). Engine B, based on a Random Forest classifier, achieved 0.9466 accuracy, 0.9465 macro-F1 and 0.9838 ROC-AUC on the internal held-out test set. In a frozen shape-matched external evaluation, the same ML signal retained moderate discrimination with 0.8427 ROC-AUC, without supporting a full source-independent generalization claim. The contribution of this thesis is an explainable pre-install risk-reduction framework rather than an absolute malware detector. SupplyGuard demonstrates that multiple imperfect risk signals, organized through policy-driven fusion, can reduce risk before Python packages are installed while preserving evidence, review and auditability.el
dc.contributor.masterΚυβερνοασφάλεια και Τεχνολογίες Τεχνητής Νοημοσύνης / MSc Cybersecurity & AI Technologiesel
dc.subject.keywordSoftware supply chain securityel
dc.subject.keywordPyPIel
dc.subject.keywordPython packagesel
dc.subject.keywordStatic analysisel
dc.subject.keywordMachine learningel
dc.subject.keywordRandom forestel
dc.subject.keywordPre-install defenseel
dc.subject.keywordFusion policyel
dc.subject.keywordDependency confusionel
dc.subject.keywordTyposquattingel
dc.date.defense2026-10-01


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα
Except where otherwise noted, this item's license is described as
Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα

Βιβλιοθήκη Πανεπιστημίου Πειραιώς
Contact Us
Send Feedback
Created by ELiDOC
Η δημιουργία κι ο εμπλουτισμός του Ιδρυματικού Αποθετηρίου "Διώνη", έγιναν στο πλαίσιο του Έργου «Υπηρεσία Ιδρυματικού Αποθετηρίου και Ψηφιακής Βιβλιοθήκης» της πράξης «Ψηφιακές υπηρεσίες ανοιχτής πρόσβασης της βιβλιοθήκης του Πανεπιστημίου Πειραιώς»