
Rafforza le configurazioni del tuo package manager contro gli attacchi alla supply chain.
```text
_ _
| | ___ _ __ ___ __ _ _ _ __ _ _ __ | |
/
|/ _ \ '_ \/ __|/ _ | | | |/ | '__/ _ |
| (| | __/ |) _ \ (| | || | (| | | | (| |
_,_|_| ./|/_, |_,|_,|| _,|
|| |___/
Proteggi le tue dipendenze dagli attacchi alla supply chain. **Singolo binario statico, zero dipendenze da crate Rust.**
Di **[[arnica](https://arnica.io?utm_source=depsguard&utm_medium=referral&utm_campaign=community)]**
## Indice
- [Panoramica](#overview)
- [Installazione](#install)
- [Utilizzo](#usage)
- [Cosa viene controllato](#what-gets-checked)
- [Posizioni dei file di configurazione](#config-file-locations)
- [Correzione di sicurezza urgente](#urgent-security-fix)
- [Backup e ripristino](#backups-and-restore)
- [Come funziona](#how-it-works)
- [Risoluzione dei problemi](#troubleshooting)
- [Aiuto e feedback](#help--feedback)
- [Guide](#guides)
- [Vedi anche](#see-also)
- [Licenza](#license)
## Panoramica
DepsGuard cerca **npm**, **pnpm**, **yarn**, **bun**, **uv**, **pip**, **poetry** e **aube** sulla tua macchina, legge i loro file di configurazione, li confronta con le impostazioni di supply chain consigliate e può **applicare le correzioni in modo interattivo**. Scansiona anche le configurazioni di **Renovate** e **Dependabot** nei tuoi repository. Non esegue mai installazioni di pacchetti; modifica solo i file di configurazione che approvi e scrive **backup** prima di qualsiasi modifica.
### Funzionalità principali
- TUI interattiva: scansione, revisione, attivazione/disattivazione delle correzioni, applicazione
- Sottocomando `scan` per report in sola lettura
- Sottocomando `restore` per scegliere un backup ed eseguire il rollback di un file
- Multipiattaforma: Linux, macOS, Windows
- Nessuna crate Rust di terze parti inclusa (stdlib + piccola quantità di FFI di piattaforma per il terminale)
### Stack tecnologico
| Area | Dettagli |
|------|---------|
| Linguaggio | Rust (MSRV **1.74**, vedi `Cargo.toml`) |
| CLI / TUI | `src/main.rs`, `src/ui.rs`, `src/term.rs` |
| Logica di configurazione | `src/manager.rs`, `src/fix.rs` |
| Sito web | Sito statico in `docs/` (separato dal binario) |
## Installazione
### Binari precompilati
Ogni [Release GitHub](https://github.com/arnica/depsguard/releases) include archivi per:
- Linux: `x86_64` (glibc), `x86_64` (musl), `aarch64` (glibc)
- macOS: Intel e Apple Silicon
- Windows: ZIP `x86_64` contenente `depsguard.exe`
Scarica l'archivio per la tua piattaforma, estrailo e metti il binario nel tuo `PATH`.
Verifica l'integrità usando il file `.sha256` corrispondente accanto a ogni asset nella pagina di release.
### Installazione per piattaforma
#### Linux (Debian/Ubuntu via APT)```bash
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://depsguard.com/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/depsguard.gpg
echo "deb [arch=amd64,arm64 signed-by=/etc/apt/keyrings/depsguard.gpg] https://depsguard.com/apt stable main" | sudo tee /etc/apt/sources.list.d/depsguard.list >/dev/null
sudo apt update
sudo apt install depsguard
brew install depsguard
DepsGuard è in [homebrew-core](https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/d/depsguard.rb), quindi non è richiesto un tap personalizzato.
> **Stai migrando dal vecchio tap `arnica/depsguard`?** Passa alla formula core una volta:
>
> ```bash
> brew uninstall depsguard
> brew untap arnica/depsguard
> brew update
> brew install depsguard
> ```
#### Windows```powershell
# WinGet
winget install Arnica.DepsGuard
# Scoop
scoop bucket add depsguard https://github.com/arnica/depsguard
scoop install depsguard
Oppure scarica manualmente tramite PowerShell:```powershell $zip = "$env:TEMP\depsguard.zip" Invoke-WebRequest -Uri "https://github.com/arnica/depsguard/releases/latest/download/depsguard-x86_64-pc-windows-msvc.zip" -OutFile $zip Expand-Archive -LiteralPath $zip -DestinationPath "$env:TEMP\depsguard" -Force Copy-Item "$env:TEMP\depsguard\depsguard.exe" "$HOME\AppData\Local\Microsoft\WindowsApps\depsguard.exe" -Force depsguard.exe --help
### crates.io```bash
cargo install depsguard
Richiede una toolchain Rust con cargo.
Se la tua organizzazione distribuisce DepsGuard tramite Homebrew, Scoop o WinGet, segui le loro istruzioni. La configurazione o l'automazione di questi canali (PR per Homebrew core, bucket, PR per WinGet, segreti CI) è documentazione per i manutentori; consulta AGENTS.md nella sezione Release & distribution.
| Canale | Linux | macOS | Windows | Comando di installazione |
|---|---|---|---|---|
| APT (repo personalizzata) | sì | no | no | sudo apt install depsguard (dopo la configurazione del repo sopra) |
| crates.io | sì | sì | sì | cargo install depsguard |
| Homebrew (homebrew-core) | sì | sì | no | brew install depsguard |
| Scoop (bucket personalizzato) | no | no | sì | scoop bucket add depsguard https://github.com/arnica/depsguard ; scoop install depsguard |
| WinGet | no | no | sì | winget install Arnica.DepsGuard |
Usa il canale con cui hai effettuato l'installazione:
| Canale | Comando di aggiornamento |
|---|---|
| Homebrew | brew update && brew upgrade depsguard |
| APT (repo personalizzata) | sudo apt update && sudo apt install --only-upgrade depsguard |
| crates.io | cargo install --force depsguard (reinstalla l'ultima versione) |
| Scoop | scoop update && scoop update depsguard |
| WinGet | winget upgrade Arnica.DepsGuard |
Controlla la versione installata in qualsiasi momento con depsguard --version e consulta la pagina delle release per la versione più recente.
git clone https://github.com/arnica/depsguard.git cd depsguard cargo build --release
Il binario è `target/release/depsguard` (`.exe` su Windows). Rust **1.74+** è richiesto.
## Utilizzo```bash
depsguard # interactive: scan, choose fixes, apply
depsguard scan # report only; no writes (exits 1 if action is needed)
depsguard --no-search # skip recursive file search, check local configs only
depsguard restore # restore from a previous backup
depsguard --help # CLI help