Torna agli aggiornamenti
New releaseAug 18, 2026

safer-dependencies v0.6.0

Livello di sicurezza automatico delle dipendenze per assistenti di codifica AI che controlla i pacchetti per CVE, typosquatting, abbandono, problemi di vetustà delle versioni e integrità degli hash negli ecosistemi npm, PyPI, RubyGems, Maven, Go e Rust.

Condividi

Dipendenze più sicure per Claude Code

Quando gli assistenti di codifica AI come Claude aggiungono pacchetti al tuo progetto, spesso scelgono qualunque versione sembri giusta — senza verificare se presenta vulnerabilità di sicurezza note, se il pacchetto è ancora mantenuto attivamente, o se il nome è a un refuso di distanza da un clone malevolo.

safer-dependencies è un livello di sicurezza per Claude Code: si posiziona tra Claude e i tuoi file manifest ed esegue automaticamente i suoi controlli di sicurezza: le installazioni vulnerabili vengono bloccate prima di essere eseguite, e una versione rischiosa scritta in un manifest viene corretta su disco subito dopo la scrittura. Rileva e corregge dipendenze rischiose — CVE, typosquatting, pacchetti abbandonati e problemi di età della versione, oltre a un periodo di attesa per le nuove release — su npm, PyPI, RubyGems, Maven, Go, Rust e PHP (Composer). Vedi CAPABILITIES.md per sapere esattamente cosa è e cosa non è coperto.

Nuovo qui? GETTING-STARTED.md ti porta da zero a un'installazione funzionante in circa cinque minuti.

Sicurezza e privacy: vedi SECURITY.md (divulgazione delle vulnerabilità), PRIVACY.md (trasmissione dati, nessuna telemetria) e CAPABILITIES.md (cosa lo strumento difende e cosa no).

Licenza (source-available — NON "open source" OSI): Libero da usare e modificare per i tuoi scopi, incluso l'uso interno aziendale/for-profit e la creazione di prodotti che vendi. È richiesta una licenza a pagamento separata solo per monetizzare il software stesso — venderlo, distribuirlo all'interno di un prodotto o servizio venduto, o offrirne le funzionalità a terzi a pagamento (incluso hosted/SaaS/API). La ridistribuzione e i derivati devono mantenere la licenza e citare questo progetto. Vedi LICENSE (Sezione 4 per la restrizione commerciale); richieste di licenza commerciale via github.com/robert-auger.

Contenuti

Per iniziare

GETTING-STARTED.md ti porta da zero a un'installazione funzionante in circa cinque minuti — prerequisiti, installazione interattiva e verifica. Per il riferimento completo all'installazione (installazioni globali/progetto/manuali, specifiche Windows, la allowlist dei permessi, aggiornamento e disinstallazione), vedi INSTALLATION.md.

Uso quotidiano: una volta installati gli hook, non c'è nulla da eseguire — safer-dependencies funziona automaticamente in background. Quando Claude aggiunge o installa pacchetti, segnala le dipendenze rischiose e aggiorna le versioni vulnerabili a una sicura sul posto — e blocca un'installazione nota come vulnerabile prima ancora che venga eseguita — così i pacchetti non sicuri vengono individuati e corretti senza che tu debba chiederlo. Puoi comunque invocarlo direttamente in qualsiasi momento: "è sicuro [email protected]?", "verifica la configurazione di safer-dependencies", o "mostra le statistiche di safer-dependencies".

Cosa fa

Quando Claude sta per aggiungere un pacchetto al tuo progetto, safer-dependencies intercetta ed esegue 5 controlli:

  1. Provenienza -- registro ufficiale, rilevamento typosquatting (npm/PyPI/RubyGems/Maven/crates.io), età del pacchetto
  2. Età della versione -- seleziona la versione stabile più recente pubblicata 7+ giorni fa (finestra di attesa)
  3. Scansione vulnerabilità -- API OSV, con strumenti nativi dell'ecosistema (npm audit, pip-audit, bundle audit) quando disponibili
  4. Integrità hash-pin -- per le righe di requirements.txt PyPI con pin --hash=sha256:..., l'hash dichiarato viene validato rispetto agli hash pubblicati da PyPI; una discrepanza genera un AVVISO
  5. Pacchetti abbandonati e obsoleti -- i pacchetti noti come abbandonati (es. paperclip, request, pycrypto, github.com/dgrijalva/jwt-go) vengono bloccati immediatamente con un sostituto suggerito; i pacchetti senza release stabile da 2+ anni ricevono un avviso consultivo STALE:. I pacchetti bloccati vengono rimossi dal manifest e Claude chiederà come procedere; i pacchetti solo obsoleti vengono lasciati al loro posto.

Se vengono rilevati problemi, Claude emette avvisi e può fare un passo indietro verso una versione più sicura. Tutti i controlli vengono registrati in ~/.claude/safer-dependencies-audit-YYYY-MM.log (un file per mese di calendario).

Cosa lo attiva

La skill si attiva automaticamente quando Claude:

Operazioni su manifest / installazione

  • Aggiunge o aggiorna un pacchetto in package.json, requirements.txt, Gemfile, pom.xml, build.gradle, Cargo.toml, go.mod o qualsiasi altro manifest supportato
  • Scrive un import, require o use per un pacchetto non già dichiarato nel manifest
  • Genera o aggiorna un file di lock (controlla solo le voci nuove/modificate)
  • Esegue un'installazione del package manager tramite Bash (npm install, bundle install, poetry install, uv sync, go mod tidy, ecc.) — Pre-Install controlla gli argomenti del comando, Post-Install controlla il lockfile risultante
  • Scrive un Dockerfile o un workflow CI (.github/workflows/*.yml, ecc.) che incorpora passaggi di installazione del package manager con versioni pinnate

Domande di selezione e raccomandazione

  • Confronti librerie/framework: "dovrei usare axios o node-fetch?", "moment vs dayjs?", "quale è meglio X o Y?"
  • Richieste di raccomandazione: "qual è un buon client HTTP per Python?", "raccomanda una libreria di logging per Go", "quale pacchetto gestisce CSV in Node?"
  • Selezione della versione: "quale versione di Django dovrei usare?", "ultima Flask stabile?"

Espressioni di intenzione d'uso (pre-aggiunta)

  • "Voglio usare FastAPI per questo", "sto pensando di aggiungere Celery", "stiamo valutando Prisma come ORM", "usiamo Tailwind"

Domande su salute e affidabilità dei pacchetti

  • "moment.js è ancora mantenuto?", "questa gemma è ancora attiva?", "X è abbandonato?", "X è EOL?", "posso fidarmi di questo pacchetto?", "quando è stato aggiornato l'ultima volta faker?"

Comandi di scaffolding

  • npx create-react-app, npm create vite@latest, django-admin startproject, rails new, cargo new + cargo add, "bootstrap di un nuovo progetto FastAPI"

Categorie