Πώς παραβλέπεται
Ο agent σας εγκαθιστά μια εξάρτηση. Το manifest πακέτου αναφέρει επίσης script που εκτελείται κατά την εγκατάσταση. Αυτό που φαίνεται σαν ρύθμιση μπορεί να περιλαμβάνει εκτέλεση κώδικα που αξίζει τη δική του αναθεώρηση.
Ένα project μπορεί να χρησιμοποιεί install hooks για εντελώς συνηθισμένα βήματα build. Μπορεί επίσης να περιέχει απρόσμενη εντολή. Το σημαντικό είναι ότι το script βρίσκεται στο manifest, όπου μπορεί να παραβλεφθεί αν επιθεωρείτε μόνο την εντολή εγκατάστασης ανώτατου επιπέδου.
Τι ανιχνεύει το ClawMetry
Το ClawMetry σαρώνει το manifest πακέτου χώρου εργασίας για υποστηριζόμενα install lifecycle hooks. Εγείρει προειδοποίηση εκτέλεσης manifest πακέτου και αναγνωρίζει το hook. Ο σαρωτής διαβάζει το αρχείο· δεν εκτελεί την εντολή που βρίσκει.
Η διαφορά που αλλάζει το εύρημα
Παράδειγμα ενεργοποίησης
postinstall: node build.js
Εύρημα προειδοποίησης
Αθόρυβη σύγκριση
test: node build.js
Κανένα εύρημα για αυτόν τον ανιχνευτή.
Το ελεγχόμενο παράδειγμα έχει postinstall script που αναφέρει πρόγραμμα build και παράγει προειδοποίηση. Τοποθετήστε το ίδιο πρόγραμμα κάτω από συνηθισμένο test script, και αυτός ο ανιχνευτής παραμένει ήσυχος. Η διάκριση είναι πότε το manifest αναφέρει ότι το πρόγραμμα θα εκτελεστεί.
Εξετάστε το αποτέλεσμα ανιχνευτή
{
"kind": "package_manifest_exec",
"severity": "warning",
"evidence": {
"hooks": [
"postinstall"
],
"hits": [
{
"hook": "postinstall",
"command": "node build.js",
"tool": null,
"alarm": null
}
],
"manifest": "package.json",
"tools": [],
"observed": "package_manifest"
}
}Λήψη εισόδων και πλήρων αποτελεσμάτων (JSON)Πώς ελέγχθηκε το παράδειγμα
Αυτά τα παραδείγματα αξιολογούν τον δημοσιευμένο ανιχνευτή με δεδομένα συμβάντων ή αναλώσιμα αρχεία ρυθμίσεων. Τα βίντεο απεικονίζουν αυτές τις συμπεριφορές. Δεν αποτελούν εγγραφές ζωντανών agents ή της διεπαφής προϊόντος. Καμία εντολή στα παραδείγματα δεν εκτελέστηκε.
Το αποτέλεσμα καθορίζει τη συμπεριφορά για αυτές τις εισόδους. Δεν καθορίζει λήψη δεδομένων runtime, πρόληψη ή πραγματικό συμβιβασμό. Εξετάστε τη σταθερή σύμβαση πηγής.
Τι να ελέγξετε στη συνέχεια
Διαβάστε την εντολή hook και το πρόγραμμα που αναφέρει. Ελέγξτε αν αυτή η συμπεριφορά εγκατάστασης ανήκει στο project και αν η πηγή εξάρτησης είναι αξιόπιστη. Αν η εγκατάσταση ήδη έγινε, εξετάστε τα πραγματικά αποτελέσματα ξεχωριστά πριν αποδεχτείτε το περιβάλλον.
- Διαβάστε το lifecycle hook
- Εξετάστε το αναφερόμενο πρόγραμμα
- Εξετάστε την αναμενόμενη συμπεριφορά εγκατάστασης
Τι καθορίζει αυτό το σήμα
Ένα install hook δεν είναι αυτόματα εχθρικό. Αυτό το εύρημα αναφέρει την εγγραφή manifest, όχι απόδειξη ότι έγινε εγκατάσταση ή εκτέλεση.