Gitignore, secrets και παλαιότερα commits — DedSec Project
Gitignore, secrets και παλαιότερα commits Τι συμβαίνει Το .gitignore εμποδίζει προσθήκη νέων μη παρακολουθούμενων αρχείων, αλλά δεν αφαιρεί μυστικά που μπήκαν σε παλιό commit. Πρακτικός…
Τι συμβαίνει
Το .gitignore εμποδίζει προσθήκη νέων μη παρακολουθούμενων αρχείων, αλλά δεν αφαιρεί μυστικά που μπήκαν σε παλιό commit.
Πρακτικός έλεγχος
Αν δημοσιεύτηκε μυστικό, ακύρωσέ το και άλλαξέ το αμέσως, μετά έλεγξε το ιστορικό. Η διαγραφή του ορατού αρχείου δεν αρκεί.
Συνήθεις παγίδες
Κράτησε configuration samples με πλασματικές τιμές και τα πραγματικά κλειδιά σε ασφαλή environment secrets. Έλεγξε τοπικά πριν από push.
Μικρό παράδειγμα για προσαρμογή
git status --ignored --short
Απόδειξε tracked και untracked με ψεύτικα δεδομένα
Σε throwaway repository δημιούργησε sample.env μόνο με DEMO_VALUE=not-a-secret. Κάνε add και μετά βάλε sample.env στο .gitignore. Το git ls-files -- sample.env το εμφανίζει ακόμη, επειδή ήταν ήδη tracked. Με git check-ignore --no-index -v -- sample.env εξέτασε το matching pattern ανεξάρτητα από tracked status.
Αν στόχος είναι να σταματήσει η παρακολούθηση τοπικού configuration, εξέτασε το git rm --cached -- sample.env. Αφαιρεί index entry και κρατά το τοπικό αρχείο, αλλά επόμενο commit δεν εξαφανίζει παλιές εκδόσεις από ιστορικό. Έλεγξε χωριστά index και working-tree αποτελέσματα. Το git add -f μπορεί να παρακάμψει ignore rules σε untracked αρχείο, άρα το ignore δεν είναι access control.
Για πραγματικό exposed token προέχει ανάκληση στην υπηρεσία έκδοσης, πριν το history cleanup. Αντίγραφα μπορεί να υπάρχουν σε clones, logs, artifacts ή caches. Η rotation τιμής και η αλλαγή committed αρχείου είναι χωριστές εργασίες· κανένα dummy test δεν χρειάζεται δημοσίευση usable credential.