| dc.contributor.advisor | Λαμπρινουδάκης, Κωνσταντίνος | |
| dc.contributor.author | Βανικιώτης, Ανδρέας | |
| dc.date.accessioned | 2026-10-02T09:36:41Z | |
| dc.date.available | 2026-10-02T09:36:41Z | |
| dc.date.issued | 2025 | |
| dc.identifier.uri | https://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.extent | 39 | el |
| dc.language.iso | el | el |
| dc.publisher | Πανεπιστήμιο Πειραιώς | el |
| dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ | * |
| dc.title | Ένα policy-driven πλαίσιο προεγκαταστασιακής άμυνας για την ασφάλεια της Python software supply chain | el |
| dc.title.alternative | A policy-driven pre-installation defense framework for Python package supply-chain security | el |
| dc.type | Master Thesis | el |
| dc.contributor.department | Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Ψηφιακών Συστημάτων | el |
| dc.description.abstractEN | This 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 Technologies | el |
| dc.subject.keyword | Software supply chain security | el |
| dc.subject.keyword | PyPI | el |
| dc.subject.keyword | Python packages | el |
| dc.subject.keyword | Static analysis | el |
| dc.subject.keyword | Machine learning | el |
| dc.subject.keyword | Random forest | el |
| dc.subject.keyword | Pre-install defense | el |
| dc.subject.keyword | Fusion policy | el |
| dc.subject.keyword | Dependency confusion | el |
| dc.subject.keyword | Typosquatting | el |
| dc.date.defense | 2026-10-01 | |