Η checklist
1. Αυθεντικοποίηση (Authentication)
Η αυθεντικοποίηση επιβεβαιώνει ότι ο χρήστης είναι αυτός που λέει. Αν είναι αδύναμη, ένας επιτιθέμενος μπαίνει σε λογαριασμούς μαντεύοντας ή κλέβοντας κωδικούς, χωρίς να χρειαστεί κανένα άλλο κενό.
- Κωδικοί αποθηκευμένοι με Argon2id ή bcrypt, ποτέ σε απλό κείμενο ή MD5/SHA1
- Ελάχιστο μήκος κωδικού 12+ χαρακτήρες και έλεγχος έναντι διαρρευμένων κωδικών
- Πολυπαραγοντική αυθεντικοποίηση (2FA) ή passkeys
- Rate limiting και προσωρινό κλείδωμα μετά από αποτυχημένες προσπάθειες
- Ασφαλής επαναφορά κωδικού με tokens μιας χρήσης που λήγουν
- Γενικά μηνύματα σφάλματος που δεν αποκαλύπτουν αν υπάρχει ο λογαριασμός
- Σωστή υλοποίηση OAuth/SSO (PKCE, έλεγχος state και redirect URIs)
2. Διαχείριση συνεδριών (Sessions)
Μετά το login, η συνεδρία είναι το «κλειδί» που κρατά τον χρήστη συνδεδεμένο. Αν κάποιος την κλέψει ή την προβλέψει, μπαίνει στον λογαριασμό χωρίς κωδικό.
- Cookies με HttpOnly, Secure και SameSite
- Νέο session ID μετά από κάθε login
- Λήξη λόγω αδράνειας και απόλυτο όριο διάρκειας
- Πραγματική ακύρωση της συνεδρίας στον server κατά το logout
- Αν χρησιμοποιείς JWT: σύντομη διάρκεια, αυστηρός έλεγχος υπογραφής, δυνατότητα ανάκλησης
3. Έλεγχος πρόσβασης (Authorization)
Ο έλεγχος πρόσβασης αποφασίζει τι επιτρέπεται να κάνει κάθε συνδεδεμένος χρήστης. Είναι η συχνότερη αιτία παραβιάσεων: ένας απλός χρήστης βλέπει δεδομένα άλλου ή φτάνει σε λειτουργίες διαχειριστή.
- Έλεγχος δικαιωμάτων στον server σε κάθε αίτημα, όχι μόνο στο frontend
- Προστασία από IDOR: αλλαγή ενός ID στο URL δεν δίνει πρόσβαση σε ξένα δεδομένα
- Ρόλοι (RBAC) και αρχή ελάχιστων δικαιωμάτων
- Προστατευμένες σελίδες admin και API endpoints
- Άρνηση εξ ορισμού: ό,τι δεν επιτρέπεται ρητά, απαγορεύεται
4. Επιθέσεις έγχυσης (Injection)
Στην έγχυση, ο επιτιθέμενος στέλνει δεδομένα που η εφαρμογή εκτελεί κατά λάθος ως εντολές. Το κλασικό παράδειγμα είναι το SQL Injection, που μπορεί να αδειάσει ή να διαγράψει ολόκληρη τη βάση.
- Παραμετροποιημένα queries ή ORM, ποτέ ένωση strings με δεδομένα χρήστη
- Προστασία από NoSQL, command και template injection
- Επικύρωση κάθε εισόδου στον server (τύπος, μήκος, μορφή)
- Ο χρήστης της βάσης έχει μόνο τα δικαιώματα που χρειάζεται
5. Cross-Site Scripting (XSS)
Το XSS επιτρέπει σε κάποιον να εκτελέσει δικό του JavaScript στον browser άλλων χρηστών. Έτσι μπορεί να κλέψει συνεδρίες, να αλλάξει τη σελίδα ή να κάνει ενέργειες στο όνομα του θύματος.
- Escaping των δεδομένων ανάλογα με το σημείο που εμφανίζονται (HTML, attribute, JS, URL)
- Αποφυγή innerHTML, eval και dangerouslySetInnerHTML με δεδομένα χρήστη
- Καθαρισμός HTML από χρήστες με βιβλιοθήκη όπως το DOMPurify
- Content Security Policy (CSP) ως δεύτερη γραμμή άμυνας
6. Επιθέσεις μέσω browser (CSRF, Clickjacking, CORS)
Αυτές οι επιθέσεις εκμεταλλεύονται το ότι ο browser του χρήστη είναι ήδη συνδεδεμένος στην εφαρμογή σου. Μια κακόβουλη σελίδα μπορεί να τον ξεγελάσει ώστε να κάνει ενέργειες που δεν σκόπευε.
- Anti-CSRF tokens ή SameSite cookies σε κάθε ενέργεια που αλλάζει δεδομένα
- Προστασία από clickjacking με frame-ancestors ή X-Frame-Options
- Αυστηρή λίστα επιτρεπόμενων origins στο CORS
- Έλεγχος των URLs ανακατεύθυνσης (open redirects)
7. Κρυπτογράφηση και προστασία δεδομένων
Η κρυπτογράφηση κρατά τα δεδομένα αδιάβαστα, είτε ταξιδεύουν στο δίκτυο είτε είναι αποθηκευμένα. Αν κάποιος υποκλέψει την κίνηση ή κλέψει ένα αντίγραφο της βάσης, βλέπει μόνο ακατανόητα δεδομένα.
- HTTPS παντού (TLS 1.2+) με HSTS
- Κρυπτογράφηση ευαίσθητων πεδίων στη βάση
- Μυστικά και κλειδιά σε secrets manager, ποτέ στον κώδικα ή στο Git
- Συλλογή μόνο των δεδομένων που πραγματικά χρειάζεσαι
- Έτοιμες, δοκιμασμένες βιβλιοθήκες κρυπτογραφίας, ποτέ δική σου υλοποίηση
8. Ασφάλεια API
Τα APIs είναι η πόρτα από την οποία περνούν όλα τα δεδομένα της εφαρμογής, και συχνά προστατεύονται λιγότερο από τις σελίδες. Ένα αφύλακτο endpoint μπορεί να εκθέσει όλη τη βάση.
- Αυθεντικοποίηση και έλεγχος δικαιωμάτων σε κάθε endpoint
- Rate limiting και όριο μεγέθους αιτημάτων
- Επιστροφή μόνο των πεδίων που χρειάζονται
- Προστασία από mass assignment (π.χ. ο χρήστης να μην ορίζει isAdmin=true)
- Όριο βάθους και πολυπλοκότητας για GraphQL
9. Ανέβασμα αρχείων (File uploads)
Κάθε φόρμα που δέχεται αρχεία είναι πιθανή είσοδος για κακόβουλο κώδικα. Ένα αρχείο που μοιάζει με εικόνα μπορεί να είναι script που εκτελείται στον server σου.
- Έλεγχος τύπου με βάση το περιεχόμενο, όχι μόνο την κατάληξη
- Όριο μεγέθους αρχείου
- Αποθήκευση εκτός web root ή σε ξεχωριστό storage, με τυχαία ονόματα
- Προστασία από path traversal (../)
- Σάρωση για malware όπου έχει νόημα
10. Server-Side Request Forgery (SSRF)
Το SSRF συμβαίνει όταν η εφαρμογή κατεβάζει ένα URL που δίνει ο χρήστης. Ο επιτιθέμενος βάζει τον server σου να ζητήσει εσωτερικές υπηρεσίες, όπως τα credentials του cloud, που κανονικά δεν φαίνονται από έξω.
- Whitelist επιτρεπόμενων προορισμών
- Μπλοκάρισμα εσωτερικών IP και του cloud metadata endpoint
- Απενεργοποίηση ανακατευθύνσεων στα αιτήματα προς εξωτερικά URLs
11. Λανθασμένες ρυθμίσεις (Misconfiguration)
Πολλές παραβιάσεις δεν οφείλονται σε κακό κώδικα αλλά σε κακές ρυθμίσεις. Ένα ξεχασμένο debug mode ή ένα δημόσιο bucket μπορεί να εκθέσει δεδομένα χωρίς καμία πραγματική «επίθεση».
- Debug mode κλειστό στην παραγωγή
- Κανένα stack trace ή λεπτομερές σφάλμα προς τον χρήστη
- Αλλαγμένοι προεπιλεγμένοι κωδικοί και λογαριασμοί
- Κλειστές περιττές θύρες, υπηρεσίες και directory listing
- Security headers: CSP, HSTS, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
- Cloud storage buckets ιδιωτικά εξ ορισμού
12. Εξαρτήσεις και εφοδιαστική αλυσίδα (Supply chain)
Η εφαρμογή σου στηρίζεται σε δεκάδες ή εκατοντάδες βιβλιοθήκες τρίτων. Μια ευπάθεια ή ένα κακόβουλο πακέτο σε οποιαδήποτε από αυτές γίνεται αυτόματα δικό σου πρόβλημα.
- Τακτική ενημέρωση βιβλιοθηκών και framework
- Αυτόματος έλεγχος ευπαθειών (Dependabot, Snyk, npm audit κ.λπ.)
- Lock files και έλεγχος ακεραιότητας πακέτων
- Προσοχή σε typosquatting και εγκαταλελειμμένα πακέτα
- Subresource Integrity (SRI) για scripts από CDN
13. Επιχειρησιακή λογική (Business logic)
Εδώ ο επιτιθέμενος δεν «σπάει» τίποτα τεχνικά· χρησιμοποιεί την εφαρμογή με τρόπο που δεν προβλέψατε. Για παράδειγμα, εξαργυρώνει το ίδιο κουπόνι δύο φορές ή αλλάζει την τιμή ενός προϊόντος πριν την πληρωμή.
- Προστασία από race conditions (διπλή χρήση κουπονιού, διπλή ανάληψη)
- Τιμές και ποσότητες υπολογίζονται στον server, όχι στον browser
- Τα βήματα μιας ροής (π.χ. checkout) δεν παρακάμπτονται
- Όρια σε αρνητικές τιμές, μηδενικά ποσά και ακραίες ποσότητες
14. Διαθεσιμότητα (DoS)
Μια επίθεση άρνησης υπηρεσίας δεν κλέβει δεδομένα, αλλά ρίχνει την εφαρμογή ώστε να μη λειτουργεί για κανέναν. Για ένα online business, κάθε ώρα εκτός λειτουργίας είναι χαμένα έσοδα.
- Rate limiting ανά χρήστη και IP
- Όρια μεγέθους αιτημάτων, timeouts και σελιδοποίηση
- Αποφυγή regex ευάλωτων σε ReDoS
- WAF ή υπηρεσία anti-DDoS (π.χ. Cloudflare)
15. Υποδομή και servers
Η πιο ασφαλής εφαρμογή δεν σώζεται αν ο server κάτω από αυτήν είναι ανοιχτός. Η υποδομή περιλαμβάνει λειτουργικό, δίκτυο, βάση δεδομένων, containers και τη διαδικασία deploy.
- Ενημερωμένο λειτουργικό και λογισμικό server
- Firewall και πρόσβαση SSH μόνο με κλειδιά
- Ξεχωριστά περιβάλλοντα dev, staging και production
- Η βάση δεδομένων δεν είναι προσβάσιμη από το internet
- Containers χωρίς δικαιώματα root
- Ασφαλές CI/CD pipeline με προστατευμένα secrets
16. Καταγραφή και παρακολούθηση (Logging & Monitoring)
Χωρίς logs δεν ξέρεις ότι σου επιτέθηκαν, ούτε τι πήραν. Η σωστή καταγραφή σού επιτρέπει να εντοπίσεις μια επίθεση όσο γίνεται και να τη διερευνήσεις μετά.
- Καταγραφή logins, αποτυχιών, αλλαγών δικαιωμάτων και κρίσιμων ενεργειών
- Κανένας κωδικός, token ή ευαίσθητο προσωπικό δεδομένο στα logs
- Ειδοποιήσεις για ύποπτη δραστηριότητα
- Logs προστατευμένα από αλλοίωση και διαγραφή
17. Backups και ανάκαμψη
Τα backups είναι το δίχτυ ασφαλείας όταν όλα τα άλλα αποτύχουν, π.χ. σε ransomware ή κατά λάθος διαγραφή. Ένα σχέδιο ανάκαμψης ορίζει ποιος κάνει τι όταν συμβεί περιστατικό.
- Αυτόματα, κρυπτογραφημένα backups σε ξεχωριστή τοποθεσία
- Τακτική δοκιμή επαναφοράς
- Γραπτό σχέδιο αντιμετώπισης περιστατικών (incident response plan)
18. Νομική συμμόρφωση (GDPR, PCI DSS)
Η ασφάλεια είναι και νομική υποχρέωση. Στην ΕΕ ο GDPR επιβάλλει προστασία των προσωπικών δεδομένων και ειδοποίηση της αρχής εντός 72 ωρών από μια παραβίαση.
- Νόμιμη βάση και συναίνεση για τα δεδομένα που συλλέγεις
- Δυνατότητα πρόσβασης, εξαγωγής και διαγραφής δεδομένων από τον χρήστη
- Πολιτική απορρήτου και cookies
- Διαδικασία ειδοποίησης παραβίασης εντός 72 ωρών
- Πληρωμές μέσω παρόχου (Stripe, Viva κ.λπ.) ώστε να μην αγγίζεις στοιχεία καρτών
19. Διαδικασίες ανάπτυξης
Η ασφάλεια δεν είναι κάτι που προσθέτεις στο τέλος· χτίζεται μέσα στον τρόπο που γράφεις και ελέγχεις κώδικα. Τα αυτόματα εργαλεία πιάνουν τα προφανή, οι άνθρωποι τα λεπτά.
- Code review με έμφαση στην ασφάλεια
- SAST (στατική ανάλυση), DAST (π.χ. OWASP ZAP) και secret scanning στο pipeline
- Threat modeling κατά τον σχεδιασμό νέων λειτουργιών
- Περιοδικά penetration tests από τρίτους
- Εκπαίδευση της ομάδας
20. Εφαρμογές με AI/LLM
Αν η εφαρμογή χρησιμοποιεί γλωσσικό μοντέλο, αποκτά μια νέα κατηγορία κινδύνων. Ένα κείμενο που διαβάζει το μοντέλο μπορεί να περιέχει κρυφές οδηγίες που το κάνουν να διαρρεύσει δεδομένα ή να κάνει ενέργειες που δεν πρέπει.
- Προστασία από prompt injection, άμεσο και μέσω εξωτερικού περιεχομένου
- Το μοντέλο δεν βλέπει δεδομένα που ο χρήστης δεν δικαιούται
- Οι ενέργειες του μοντέλου (εργαλεία, APIs) περιορίζονται και ελέγχονται
- Η έξοδος του μοντέλου αντιμετωπίζεται ως μη αξιόπιστη είσοδος (π.χ. escaping πριν εμφανιστεί)
Πρότυπα αναφοράς
Δύο δωρεάν πρότυπα του OWASP είναι το καλύτερο σημείο εκκίνησης για όποιον θέλει να πάει πιο βαθιά.
- OWASP Top 10: οι δέκα πιο συχνοί και επικίνδυνοι κίνδυνοι στις web εφαρμογές. Ιδανικό για γρήγορη εικόνα και εκπαίδευση ομάδας.
- OWASP ASVS (Application Security Verification Standard): η πιο πλήρης checklist που υπάρχει, με εκατοντάδες ελέγχους σε τρία επίπεδα αυστηρότητας. Αν θέλεις να ελέγξεις συστηματικά την εφαρμογή σου, αυτό είναι το σημείο αναφοράς.
Έτοιμα prompts για κάθε θέμα
Κάθε prompt είναι γραμμένο ώστε να το δώσεις σε ένα εργαλείο AI (Claude, ChatGPT κ.λπ.) μαζί με τον σχετικό κώδικα. Αντικατέστησε το [STACK] με τις τεχνολογίες σου (π.χ. Laravel + MySQL, Node.js + React) και επικόλλησε τον κώδικα στο τέλος. Τα ευρήματα του AI είναι σημείο εκκίνησης· έλεγξέ τα πάντα πριν τα εφαρμόσεις.
1. Αυθεντικοποίηση
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Έλεγξε τον παρακάτω κώδικα αυθεντικοποίησης μιας εφαρμογής σε [STACK]. Εξέτασε: τον αλγόριθμο hashing των κωδικών, την πολιτική κωδικών, την προστασία από brute force, τη ροή επαναφοράς κωδικού, την υποστήριξη 2FA και αν τα μηνύματα σφάλματος αποκαλύπτουν ύπαρξη λογαριασμών. Για κάθε πρόβλημα δώσε σοβαρότητα (κρίσιμο/υψηλό/μέτριο/χαμηλό), εξήγηση και διορθωμένο κώδικα.
[ΚΩΔΙΚΑΣ]2. Διαχείριση συνεδριών
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Έλεγξε πώς διαχειρίζεται τις συνεδρίες η παρακάτω εφαρμογή σε [STACK]. Εξέτασε: τις σημαίες των cookies (HttpOnly, Secure, SameSite), την ανανέωση του session ID μετά το login, τη λήξη λόγω αδράνειας, την ακύρωση στο logout και, αν υπάρχουν JWT, τη διάρκεια, την επαλήθευση υπογραφής και την ανάκληση. Δώσε λίστα προβλημάτων με σοβαρότητα και διορθωμένο κώδικα.
[ΚΩΔΙΚΑΣ]3. Έλεγχος πρόσβασης
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Έλεγξε τα παρακάτω routes/controllers μιας εφαρμογής σε [STACK] για προβλήματα ελέγχου πρόσβασης. Για κάθε endpoint απάντησε: ελέγχεται στον server ότι ο χρήστης έχει δικαίωμα σε αυτή την ενέργεια ΚΑΙ σε αυτό το συγκεκριμένο αντικείμενο; Ψάξε ειδικά για IDOR, για admin λειτουργίες χωρίς έλεγχο ρόλου και για ελέγχους που γίνονται μόνο στο frontend. Δώσε πίνακα με endpoint, πρόβλημα, σοβαρότητα και διόρθωση.
[ΚΩΔΙΚΑΣ]4. Επιθέσεις έγχυσης
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Σάρωσε τον παρακάτω κώδικα σε [STACK] για κάθε μορφή injection: SQL, NoSQL, OS command, LDAP και server-side template injection. Εντόπισε κάθε σημείο όπου δεδομένα χρήστη φτάνουν σε query, εντολή ή template χωρίς παραμετροποίηση ή επικύρωση. Για κάθε εύρημα δείξε τη γραμμή, εξήγησε πώς θα το εκμεταλλευόταν κάποιος και δώσε ασφαλή εκδοχή του κώδικα.
[ΚΩΔΙΚΑΣ]5. Cross-Site Scripting (XSS)
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Έλεγξε τον παρακάτω κώδικα frontend και templates σε [STACK] για XSS (reflected, stored και DOM-based). Εντόπισε σημεία όπου δεδομένα χρήστη εμφανίζονται χωρίς σωστό escaping, χρήσεις innerHTML/eval/dangerouslySetInnerHTML, και πρότεινε μια Content Security Policy κατάλληλη για την εφαρμογή. Δώσε ευρήματα με σοβαρότητα και διορθωμένο κώδικα.
[ΚΩΔΙΚΑΣ]6. Επιθέσεις μέσω browser
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Έλεγξε την παρακάτω εφαρμογή σε [STACK] για CSRF, clickjacking, λανθασμένη ρύθμιση CORS και open redirects. Έλεγξε αν όλες οι ενέργειες που αλλάζουν δεδομένα έχουν προστασία CSRF, αν η σελίδα μπορεί να μπει σε iframe, ποια origins επιτρέπει το CORS και αν οι ανακατευθύνσεις δέχονται URLs από τον χρήστη. Δώσε ευρήματα και συγκεκριμένες ρυθμίσεις ή κώδικα για τη διόρθωση.
[ΚΩΔΙΚΑΣ / ΡΥΘΜΙΣΕΙΣ]7. Κρυπτογράφηση και προστασία δεδομένων
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Έλεγξε την παρακάτω εφαρμογή σε [STACK] για το πώς προστατεύει τα δεδομένα. Εξέτασε: χρήση HTTPS και HSTS, κρυπτογράφηση ευαίσθητων πεδίων στη βάση, πού αποθηκεύονται κλειδιά και secrets (ψάξε για hardcoded κωδικούς και API keys), χρήση ξεπερασμένων αλγορίθμων και αν συλλέγονται δεδομένα που δεν χρειάζονται. Δώσε ευρήματα με σοβαρότητα και προτάσεις.
[ΚΩΔΙΚΑΣ / ΡΥΘΜΙΣΕΙΣ]8. Ασφάλεια API
Είσαι ειδικός στην ασφάλεια APIs. Έλεγξε τα παρακάτω API endpoints μιας εφαρμογής σε [STACK] με βάση το OWASP API Security Top 10. Εξέτασε: αυθεντικοποίηση και έλεγχο δικαιωμάτων ανά endpoint, rate limiting, όρια μεγέθους, πεδία που επιστρέφονται χωρίς λόγο, mass assignment και (αν υπάρχει GraphQL) όρια βάθους ερωτημάτων. Δώσε πίνακα με endpoint, πρόβλημα, σοβαρότητα και διόρθωση.
[ΚΩΔΙΚΑΣ]9. Ανέβασμα αρχείων
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Έλεγξε τον παρακάτω κώδικα ανεβάσματος αρχείων σε [STACK]. Εξέτασε: έλεγχο τύπου βάσει περιεχομένου, όριο μεγέθους, πού και με ποιο όνομα αποθηκεύεται το αρχείο, αν μπορεί να εκτελεστεί από τον server, προστασία από path traversal και αν τα αρχεία σερβίρονται με ασφαλή headers. Δώσε ευρήματα και μια ασφαλή υλοποίηση.
[ΚΩΔΙΚΑΣ]10. Server-Side Request Forgery (SSRF)
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Εντόπισε στον παρακάτω κώδικα σε [STACK] κάθε σημείο όπου ο server κάνει αίτημα σε URL που επηρεάζει ο χρήστης (webhooks, προεπισκόπηση links, εισαγωγή από URL, εικόνες από URL). Για καθένα εξέτασε αν μπορεί να φτάσει σε εσωτερικές IP, localhost ή στο cloud metadata endpoint, και αν ακολουθεί ανακατευθύνσεις. Δώσε ασφαλή υλοποίηση με whitelist.
[ΚΩΔΙΚΑΣ]11. Λανθασμένες ρυθμίσεις
Είσαι ειδικός στην ασφάλεια web εφαρμογών και servers. Έλεγξε τα παρακάτω αρχεία ρυθμίσεων μιας εφαρμογής σε [STACK] (π.χ. .env.example, config, nginx/apache, Dockerfile). Ψάξε για: debug mode ενεργό, εμφάνιση stack traces, προεπιλεγμένους κωδικούς, ανοιχτές θύρες ή υπηρεσίες, directory listing, δημόσια buckets και ελλείποντα security headers. Δώσε τις σωστές ρυθμίσεις για παραγωγή.
[ΡΥΘΜΙΣΕΙΣ]12. Εξαρτήσεις και εφοδιαστική αλυσίδα
Είσαι ειδικός στην ασφάλεια λογισμικού. Ανάλυσε το παρακάτω αρχείο εξαρτήσεων (package.json, composer.json, requirements.txt κ.λπ.) μιας εφαρμογής σε [STACK]. Επισήμανε πακέτα που είναι πολύ παλιά, εγκαταλελειμμένα, ύποπτα ως typosquatting ή χωρίς σταθερή έκδοση. Πρότεινε εργαλεία και μια διαδικασία για αυτόματο έλεγχο ευπαθειών στο CI/CD. Σημείωσε ότι για γνωστές ευπάθειες πρέπει να τρέξω και εργαλείο όπως npm audit ή Snyk.
[ΑΡΧΕΙΟ ΕΞΑΡΤΗΣΕΩΝ]13. Επιχειρησιακή λογική
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Παρακάτω είναι ο κώδικας μιας κρίσιμης ροής (π.χ. checkout, κουπόνια, πορτοφόλι, κρατήσεις) σε [STACK]. Σκέψου σαν επιτιθέμενος που χρησιμοποιεί την εφαρμογή με απρόβλεπτο τρόπο: race conditions, παράκαμψη βημάτων, αλλαγή τιμών από τον browser, αρνητικές ή ακραίες ποσότητες, επαναχρησιμοποίηση tokens. Περίγραψε κάθε σενάριο κατάχρησης και πώς διορθώνεται.
[ΚΩΔΙΚΑΣ]14. Διαθεσιμότητα (DoS)
Είσαι ειδικός στην ασφάλεια και την απόδοση web εφαρμογών. Έλεγξε τον παρακάτω κώδικα σε [STACK] για σημεία που μπορούν να ρίξουν την εφαρμογή: endpoints χωρίς rate limiting, ερωτήματα χωρίς σελιδοποίηση, βαριές λειτουργίες χωρίς όριο, έλλειψη timeouts, regex ευάλωτα σε ReDoS και μεγάλα uploads. Δώσε ευρήματα και συγκεκριμένες διορθώσεις.
[ΚΩΔΙΚΑΣ]15. Υποδομή και servers
Είσαι ειδικός στην ασφάλεια υποδομών και DevOps. Η εφαρμογή μου σε [STACK] τρέχει σε [ΠΑΡΟΧΟΣ / ΤΥΠΟΣ SERVER]. Παρακάτω είναι οι ρυθμίσεις (Dockerfile, docker-compose, CI/CD pipeline, firewall). Έλεγξε: ενημερώσεις, πρόσβαση SSH, έκθεση της βάσης στο internet, containers που τρέχουν ως root, διαχωρισμό περιβαλλόντων και διαχείριση secrets στο pipeline. Δώσε μια λίστα hardening με προτεραιότητα.
[ΡΥΘΜΙΣΕΙΣ]16. Καταγραφή και παρακολούθηση
Είσαι ειδικός στην ασφάλεια web εφαρμογών. Έλεγξε την καταγραφή (logging) της παρακάτω εφαρμογής σε [STACK]. Απάντησε: καταγράφονται τα σημαντικά γεγονότα ασφαλείας (logins, αποτυχίες, αλλαγές δικαιωμάτων, κρίσιμες ενέργειες); Γράφονται κατά λάθος κωδικοί, tokens ή προσωπικά δεδομένα στα logs; Πρότεινε ποια γεγονότα να καταγράφονται, σε ποια μορφή, και ποιες ειδοποιήσεις να στήσω.
[ΚΩΔΙΚΑΣ]17. Backups και ανάκαμψη
Είσαι ειδικός στη συνέχεια λειτουργίας και την ασφάλεια. Η εφαρμογή μου σε [STACK] αποθηκεύει δεδομένα σε [ΒΑΣΗ / STORAGE] και φιλοξενείται σε [ΠΑΡΟΧΟΣ]. Σχεδίασε για μένα: στρατηγική backup (συχνότητα, κρυπτογράφηση, τοποθεσία, διάρκεια διατήρησης), διαδικασία δοκιμής επαναφοράς και ένα απλό incident response plan με βήματα για τις πρώτες 24 ώρες μετά από παραβίαση.18. Νομική συμμόρφωση (GDPR)
Είσαι σύμβουλος προστασίας δεδομένων με τεχνικές γνώσεις. Η εφαρμογή μου σε [STACK] απευθύνεται σε χρήστες στην ΕΕ και συλλέγει τα εξής δεδομένα: [ΛΙΣΤΑ ΔΕΔΟΜΕΝΩΝ]. Φτιάξε μου checklist τεχνικών υποχρεώσεων GDPR: νόμιμη βάση, συναίνεση, δικαιώματα πρόσβασης/εξαγωγής/διαγραφής, διατήρηση δεδομένων, ειδοποίηση παραβίασης σε 72 ώρες. Σημείωσε πού χρειάζομαι νομική συμβουλή.19. Διαδικασίες ανάπτυξης
Είσαι ειδικός στο secure software development. Η ομάδα μας είναι [ΜΕΓΕΘΟΣ] άτομα, γράφει σε [STACK] και χρησιμοποιεί [GITHUB / GITLAB κ.λπ.]. Πρότεινε μια πρακτική διαδικασία ασφάλειας: checklist για code review, εργαλεία SAST, DAST και secret scanning που να μπαίνουν στο pipeline, πότε κάνουμε threat modeling και πόσο συχνά penetration test. Δώσε έτοιμο παράδειγμα ρύθμισης pipeline.20. Εφαρμογές με AI/LLM
Είσαι ειδικός στην ασφάλεια εφαρμογών που χρησιμοποιούν LLM. Παρακάτω είναι ο κώδικας που συνδέει την εφαρμογή μου σε [STACK] με γλωσσικό μοντέλο. Έλεγξε με βάση το OWASP Top 10 for LLM Applications: prompt injection (άμεσο και μέσω εξωτερικού περιεχομένου), διαρροή δεδομένων που ο χρήστης δεν δικαιούται, υπερβολικά δικαιώματα στα εργαλεία του μοντέλου και χρήση της εξόδου του μοντέλου χωρίς έλεγχο. Δώσε ευρήματα και διορθώσεις.
[ΚΩΔΙΚΑΣ]Κλείνοντας
Η ασφάλεια δεν είναι έργο που τελειώνει, αλλά συνεχής διαδικασία. Νέες ευπάθειες εμφανίζονται κάθε εβδομάδα, οι βιβλιοθήκες αλλάζουν και η εφαρμογή σου μεγαλώνει.
Αν δεν ξέρεις από πού να ξεκινήσεις, ξεκίνα από τα θέματα 1, 3, 4 και 12: αυθεντικοποίηση, έλεγχος πρόσβασης, έγχυση και ενημερωμένες εξαρτήσεις καλύπτουν το μεγαλύτερο μέρος των πραγματικών παραβιάσεων. Ξαναπέρνα τη λίστα σε κάθε μεγάλη αλλαγή της εφαρμογής και τουλάχιστον μία φορά τον χρόνο.











Φόρτωση σχολίων…