Μοντέλο απειλών για offline-first ιστοσελίδα γνώσης — DedSec Project
Ακόμη και μια static ιστοσελίδα δέχεται μη έμπιστα δεδομένα Σχεδίασε τα όρια εμπιστοσύνης Μία offline βιβλιοθήκη εμφανίζει Markdown, JSON/JavaScript indexes, ρυθμίσεις browser και…
Ακόμη και μια static ιστοσελίδα δέχεται μη έμπιστα δεδομένα
Σχεδίασε τα όρια εμπιστοσύνης
Μία offline βιβλιοθήκη εμφανίζει Markdown, JSON/JavaScript indexes, ρυθμίσεις browser και συνδέσμους. Το repository δεν είναι αυτομάτως έμπιστο όταν περιλαμβάνει τρίτα snippets. Παράδειγμα ροής: αρχικό αρχείο → επιμέλεια → build → HTML renderer → DOM → πιθανός εξωτερικός σύνδεσμος. Σε κάθε στάδιο σημείωσε ποιος ελέγχει τα δεδομένα και ποιος κώδικας τα διαβάζει.
Author files -> indexed JSON -> HTML renderer -> DOM
Browser preferences -> theme / language
External link -> διαφορετικό origin
Build credentials -> μόνο στον μηχανισμό deployment
Δύο ρεαλιστικά σενάρια
Αν το Markdown επιτρέπεται να παράγει HTML χωρίς escaping, ένας τίτλος ή code block μπορεί να οδηγήσει σε XSS. Αν canonical και OG URLs είναι δεμένα μόνο στο production, το Test ή backup ενδέχεται να δείχνει λάθος προορισμό. Δοκίμασε ακίνδυνο marker που περιέχει <script> ως κείμενο και επιβεβαίωσε ότι δεν εκτελείται. Έλεγξε χωριστά κάθε deployment profile.
Μείωσε τις συνέπειες λάθους
Χρησιμοποίησε renderer που απομονώνει HTML, περιόρισε εξωτερικά scripts, μη βάζεις tokens σε static αρχεία και δώσε σε CI μόνο τα αναγκαία permissions. Η αλλαγή dependency είναι αλλαγή στην εφοδιαστική αλυσίδα. Χρησιμοποίησε ψεύτικα στοιχεία στα tests για να μην δημοσιεύσεις προσωπικά δεδομένα.
Πώς αξιολογείται το μοντέλο
Για κάθε όριο γράψε είσοδο, πιθανή αστοχία, συγκεκριμένο τεστ, υπάρχουσα προστασία και κίνδυνο που απομένει. Το «δεν έχουμε backend» δεν σημαίνει απουσία XSS, προβληματικών downloads ή παραπλανητικών links.