SaveSaveSaveSave ← Όλοι οι οδηγοί
Ελληνικά

Οδηγός · Πράκτορες AI · · Stefan Tsezarov

Δώσε στον πράκτορά σου δεύτερη γνώμη πριν ενεργήσει

Ζητάς από τον πράκτορα προγραμματισμού σου να διορθώσει ένα build. Διαβάζει το README, ελέγχει μια συζήτηση σε issue και βρίσκει μια πρόταση:

cross-env is slow on Windows. Switch to crossenv, same API, much faster.

Μια εύλογη διόρθωση. Μία μικρή αλλαγή. Ο πράκτορας ετοιμάζει την εντολή εγκατάστασης.

Αλλά αυτή η παύλα που λείπει έχει σημασία. Το crossenv ήταν πραγματικό κακόβουλο πακέτο, που αφαιρέθηκε από το npm το 2017 όταν βρέθηκε να κλέβει μεταβλητές περιβάλλοντος — εκεί όπου οι developers συχνά κρατούν κλειδιά και tokens.

Η παραπάνω συνομιλία είναι παράδειγμα. Το πακέτο όχι.

01Όταν μια πρόταση γίνεται εντολή

Οι πράκτορες προγραμματισμού διαβάζουν πολύ κείμενο που ίσως δεν δεις ποτέ: τεκμηρίωση, σχόλια σε issues, ιστοσελίδες και μηνύματα σφάλματος. Αυτό το πλαίσιο τους βοηθά να λύνουν προβλήματα. Μπορεί επίσης να τους οδηγήσει σε μια κακή εξάρτηση.

Η εγκατάσταση ενός πακέτου θέλει ιδιαίτερη προσοχή. Τα πακέτα npm μπορούν να περιέχουν scripts που εκτελούνται κατά την εγκατάσταση, οπότε κώδικας μπορεί να εκτελεστεί πριν προλάβεις να τον εξετάσεις.

Ο φύλακας πριν την εγκατάσταση του SaveSaveSaveSave προσθέτει έναν έλεγχο ακριβώς σε αυτό το σημείο. Πριν εκτελεστεί μια υποστηριζόμενη εντολή εγκατάστασης, αναζητά το πακέτο και εφαρμόζει μια πολιτική που έχεις επιλέξει.

02Τι συμβαίνει σε μια εγκατάσταση;

Δες τρεις εντολές που μπορεί να προτείνει ένας πράκτορας.

Ένα πακέτο του μητρώου που δεν σηκώνει καμία σημαία

npm install cross-env

Ο φύλακας αφήνει την εντολή να συνεχίσει. Το συνηθισμένο αίτημα έγκρισης εξακολουθεί να ισχύει. Αυτό σημαίνει ότι οι έλεγχοι δεν βρήκαν λόγο αντίρρησης· δεν είναι εγγύηση ότι το πακέτο είναι ασφαλές.

Ένα πακέτο που έχει αναφερθεί ως κακόβουλο

cd app && npm install --save-dev crossenv

Ο φύλακας απορρίπτει την εντολή και λέει στον πράκτορα γιατί. Αναγνωρίζει την εγκατάσταση ακόμη κι όταν ακολουθεί άλλη εντολή.

Κώδικας που ανακτάται απευθείας από το GitHub

npx github:someone/setup-script

Στην προεπιλεγμένη λειτουργία ο φύλακας ζητά ανθρώπινο έλεγχο. Ένα Git URL είναι εκτός των ελέγχων του μητρώου npm, οπότε δεν μπορεί να δώσει την ίδια αξιολόγηση.

Οι υποστηριζόμενες εντολές περιλαμβάνουν εγκαταστάσεις μέσω npm, pnpm, yarn και bun, καθώς και npx, npm ci, αλυσίδες εντολών με && και εντολές τυλιγμένες σε bash -c "…".

03Εσύ διαλέγεις τους κανόνες

Η σάρωση δίνει ενδείξεις: τι έλεγξε, τι βρήκε και τι δεν μπόρεσε να αξιολογήσει. Μια πολιτική που εκτελείται στο μηχάνημά σου καθορίζει τι θα γίνει μετά.

Διάλεξε μία από τρεις λειτουργίες:

ΛειτουργίαΑναφέρθηκε ως κακόβουλοΠροσοχή ή ανεπαρκή δεδομέναΟ έλεγχος αποτυγχάνει ή η πηγή είναι εκτός μητρώου
observeΕπιτρέπει και αναφέρειΕπιτρέπειΕπιτρέπει
guard · προεπιλογήΑπορρίπτειΡωτά άνθρωποΡωτά άνθρωπο
strictΑπορρίπτειΑπορρίπτειΑπορρίπτει

Χρησιμοποίησε το observe για να δεις πώς συμπεριφέρεται ο φύλακας στη ροή εργασίας σου. Διάλεξε guard για να μπλοκάρεις γνωστά κακόβουλα πακέτα και να εξετάζεις τις αβέβαιες περιπτώσεις. Διάλεξε strict όταν ένα μη οριστικό αποτέλεσμα πρέπει να σταματά την εγκατάσταση.

Ένα καθαρό αποτέλεσμα δεν αφαιρεί ποτέ μια έγκριση που ο πράκτοράς σου θα χρειαζόταν διαφορετικά.

04Πρόσθεσέ το στη ροή εργασίας σου

Για το Claude Code, πρόσθεσε αυτό το hook στο .claude/settings.json του project σου. Αν το αρχείο έχει ήδη ρυθμίσεις, συγχώνευσε το hook με αυτές.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "npx -y savesavesavesave@0.1.5 hook claude-code --mode observe"
          }
        ]
      }
    ]
  }
}

Το hook ελέγχει τις προτεινόμενες εντολές Bash. Οι εντολές χωρίς αναγνωρισμένη εγκατάσταση περνούν.

Για άλλον πράκτορα ή script, βάλε τον φύλακα πριν από την εντολή εγκατάστασης:

npx savesavesavesave@0.1.5 guard --mode guard -- npm install some-package

Οι κωδικοί εξόδου του λένε στην ενσωμάτωσή σου πώς να προχωρήσει:

Η ενσωμάτωσή σου πρέπει να σέβεται αυτά τα αποτελέσματα.

Οι πράκτορες με υποστήριξη MCP μπορούν επίσης να ζητούν ελέγχους απευθείας. Οδηγίες ρύθμισης του client υπάρχουν στη σελίδα Για πράκτορες.

Δεν χρειάζεται λογαριασμός ή κλειδί API. Τα παραδείγματα καρφώνουν μια έκδοση, ώστε να μπορείς να εξετάσεις μια συγκεκριμένη έκδοση πριν τη χρησιμοποιήσεις.

05Μάθε τι καλύπτει ο έλεγχος

Ο φύλακας διαβάζει πληροφορίες που δημοσιεύουν το μητρώο npm και το OSV.dev. Δεν κατεβάζει και δεν εκτελεί το πακέτο, και αυτή τη στιγμή καλύπτει πακέτα npm, όχι οικοσυστήματα όπως το PyPI ή το crates.io.

Αυτό αφήνει μερικά πρακτικά όρια:


Ένας πράκτορας προγραμματισμού μπορεί να διορθώσει γρήγορα ένα build. Μπορεί επίσης να ενεργήσει γρήγορα με βάση μια πειστική πρόταση από κάποιον που δεν ξέρεις.

Πριν αυτή η πρόταση αποκτήσει πρόσβαση στο μηχάνημά σου, δώσ' της μια δεύτερη γνώμη.

Το επόμενο βήμα σου: πρόσθεσε το hook σε λειτουργία observe, εξέτασε τα αποτελέσματά του και διάλεξε την πολιτική που ταιριάζει στη ροή εργασίας σου.