Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
depsguard — Reforce as configurações do seu gerenciador de pacotes contra ataques à cadeia de suprimentos. | Kitploit
Ferramentas/GitHubGitHub/arnica/depsguard
Análise de VulnerabilidadesAuditoria de ConfiguraçãoSegurança na NuvemDevSecOpsDetecção de SegredosSegurança da Cadeia de Suprimentos
GitHubarnica/depsguard

depsguard

Reforce as configurações do seu gerenciador de pacotes contra ataques à cadeia de suprimentos.

Ver Repositório
38218há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

depsguard

CI Security Audit crates.io License: MIT MSRV```text _ _ | | ___ _ __ ___ __ _ _ _ __ _ _ __ | | / |/ _ \ '_ \/ __|/ _ | | | |/ | '__/ _ | | (| | __/ |) _ \ (| | || | (| | | | (| | _,_|_| ./|/_, |_,|_,|| _,| || |___/

root@kitploit:~
Por **[[arnica](https://arnica.io?utm_source=depsguard&utm_medium=referral&utm_campaign=community)]**

## Índice

- [Visão geral](#overview)
- [Instalação](#install)
- [Uso](#usage)
- [O que é verificado](#what-gets-checked)
- [Locais dos arquivos de configuração](#config-file-locations)
- [Correção de segurança urgente](#urgent-security-fix)
- [Backups e restauração](#backups-and-restore)
- [Como funciona](#how-it-works)
- [Solução de problemas](#troubleshooting)
- [Ajuda e feedback](#help--feedback)
- [Guias](#guides)
- [Veja também](#see-also)
- [Licença](#license)

## Visão geral

O DepsGuard procura por **npm**, **pnpm**, **yarn**, **bun**, **uv**, **pip**, **poetry** e **aube** na sua máquina, lê seus arquivos de configuração, compara-os com as configurações recomendadas de cadeia de suprimentos e pode **aplicar correções interativamente**. Ele também verifica a existência de configurações do **Renovate** e do **Dependabot** nos seus repositórios. Ele nunca executa instalações de pacotes; apenas edita arquivos de configuração que você aprovar e cria **backups** antes de qualquer alteração.

### Principais recursos

- TUI interativa: verificar, revisar, alternar correções, aplicar
- Subcomando `scan` para relatórios somente leitura
- Subcomando `restore` para escolher um backup e reverter um arquivo
- Multiplataforma: Linux, macOS, Windows
- Sem crates Rust de terceiros incorporados (stdlib + pequena quantidade de FFI de plataforma para o terminal)

### Stack de tecnologia

| Área | Detalhes |
|------|----------|
| Linguagem | Rust (MSRV **1.74**, veja `Cargo.toml`) |
| CLI / TUI | `src/main.rs`, `src/ui.rs`, `src/term.rs` |
| Lógica de configuração | `src/manager.rs`, `src/fix.rs` |
| Site | Site estático em `docs/` (separado do binário) |

## Instalação

### Binários pré-compilados

Cada [GitHub Release](https://github.com/arnica/depsguard/releases) inclui arquivos para:

- Linux: `x86_64` (glibc), `x86_64` (musl), `aarch64` (glibc)
- macOS: Intel e Apple Silicon
- Windows: `x86_64` ZIP contendo `depsguard.exe`

Baixe o arquivo para sua plataforma, descompacte-o e coloque o binário no seu `PATH`.

Verifique a integridade usando o arquivo `.sha256` correspondente ao lado de cada artefato na página de lançamento.

### Instalação por plataforma

#### 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

macOS / Linux (Homebrew)```bash

Homebrew

brew install depsguard

root@kitploit:~
O DepsGuard está no [homebrew-core](https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/d/depsguard.rb), portanto, nenhum tap personalizado é necessário.

> **Migrando do antigo tap `arnica/depsguard`?** Troque para a fórmula core uma vez:
>
> ```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

Ou baixe manualmente via 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

root@kitploit:~
### crates.io```bash
cargo install depsguard

Requer uma cadeia de ferramentas Rust com cargo.

Gerenciadores de pacotes (quando publicados pelo seu fornecedor)

Se a sua organização distribui o DepsGuard via Homebrew, Scoop ou WinGet, use as instruções correspondentes. Configurar ou automatizar esses canais (PRs do Homebrew core, buckets, PRs do WinGet, segredos de CI) é documentação de mantenedores; consulte AGENTS.md na seção Release & distribution.

Lojas de aplicativos / gerenciadores de pacotes

Atualizar para a versão mais recente

Use o canal pelo qual você instalou:

Verifique sua versão instalada a qualquer momento com depsguard --version e veja a página de releases para a versão mais recente.

Compilar a partir do código-fonte```bash

git clone https://github.com/arnica/depsguard.git cd depsguard cargo build --release

root@kitploit:~
O binário é `target/release/depsguard` (`.exe` no Windows). É necessário Rust **1.74+**.

## Uso```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

Como usar

  1. Instale – escolha sua plataforma acima.
  2. Execute depsguard para iniciar a TUI interativa. Ela verifica seu sistema e mostra uma tabela de resultados. Pressione qualquer tecla para continuar para o seletor de correções. A descoberta de configurações no nível do repositório começa no diretório atual e busca para baixo. Use depsguard scan para um relatório somente leitura, ou depsguard --no-search para pular a busca recursiva de arquivos e verificar apenas configurações de nível de usuário.

    Nota: algumas configurações exigem uma versão mínima. Se sua versão for muito antiga, você verá: ℹ min-release-age – requires npm ≥ 11.10 (have 10.2.0). Atualize com npm install -g npm@latest e execute novamente.

  3. Navegue e selecione – use ↑ ↓ para percorrer a lista (^u ^d para paginar). Pressione Espaço para ativar ou desativar uma correção. Use as teclas de filtro rápido para selecionar em massa por arquivo: a todos, .npmrc, uv.toml, etc. – pressione uma vez para selecionar, novamente para desmarcar, uma terceira vez para limpar o filtro. Pressione para mostrar apenas as correções atualmente selecionadas.

O que é verificado

Localizações dos arquivos de configuração

Os arquivos de configuração de nível de usuário são lidos de suas localizações padrão (incluindo caminhos baseados em XDG quando a ferramenta os suporta). As configurações de nível de repositório são descobertas procurando a partir do diretório atual, ignorando diretórios grandes conhecidos (node_modules, .git, target, Library, .cache e outros) para que as verificações permaneçam rápidas. .npmrc, .yarnrc.yml, pnpm-workspace.yaml, configurações do Renovate e configurações do Dependabot de nível de repositório são todos pesquisados. As configurações do pnpm podem estar em ~/.npmrc (apenas pnpm <= 10; pnpm >= 11 lê apenas configurações de autenticação/registro do .npmrc), no arquivo de configuração global do pnpm (rc em pnpm <= 10, config.yaml em pnpm >= 11), ou em pnpm-workspace.yaml; o DepsGuard verifica os três locais independentemente. Para pip, uv e poetry, o DepsGuard resolve a única configuração efetiva de nível de usuário e relata apenas esse arquivo, em vez de sinalizar separadamente arquivos sombreados. pip e poetry mesclam seus arquivos de configuração por precedência (o arquivo de maior precedência que define o cooldown vence, ou a localização preferida se nenhum o fizer); uv lê um único arquivo de usuário ( quando está definido, caso contrário ) em vez de mesclar ambos. Para bun, se existirem vários arquivos de configuração de nível de usuário (por exemplo, um caminho XDG e um caminho no diretório inicial), o DepsGuard verifica cada arquivo existente separadamente. aube lê o mesmo que npm/pnpm (, em minutos) e também é verificado nos arquivos de nível de repositório descobertos; pip e poetry são verificados em sua configuração de nível de usuário ( / ).

Correção de segurança urgente

Se a versão corrigida for mais nova que sua janela de cooldown, adicione uma exceção restrita, instale a correção e depois remova a exceção.

Prefira uma exceção específica ao pacote em vez de reduzir o cooldown global. Isso mantém o atraso para todas as outras dependências.

Antes de ignorar o cooldown:

  1. Verifique se o CVE realmente afeta seu uso.
  2. Verifique se uma versão anterior conhecida como boa já está disponível. Um rollback pode ser mais seguro.
  3. Remova exceções temporárias após a atualização.

Backups e restauração

Antes de modificar um arquivo, o DepsGuard grava um backup em ~/.depsguard/backups/.

Execute depsguard restore para listar backups e restaurar um.

Como funciona```

src/ main.rs CLI args, run loop term.rs Raw mode + input (Unix termios / Windows console FFI) manager.rs Detection, scanning, recommendations fix.rs Read/write .npmrc, TOML, YAML; backup/restore ui.rs Banner, tables, selector

root@kitploit:~
- **Zero third-party crates**: intencional para uma pequena ferramenta relacionada à segurança; consulte `AGENTS.md` se você mudar essa política.
- **Cores** usam sequências ANSI; terminais modernos no Windows (ex.: Windows Terminal) são suportados.

## Solução de problemas

| Sintoma | O que tentar |
|---------|-------------|
| `depsguard: command not found` | Garanta que o diretório de instalação esteja no `PATH`, ou use o caminho completo para o binário. |
| Erros de permissão ao gravar configuração | O DepsGuard só edita arquivos no seu perfil de usuário; execute como um usuário normal, sem elevação, a menos que esses arquivos sejam propriedade do administrador. |
| Teclas não funcionando no Windows | Use o **Windows Terminal** ou outro terminal com suporte a VT; o `cmd.exe` legado pode não lidar com todas as teclas. |
| pnpm workspaces ausentes | Garanta que o `pnpm-workspace.yaml` esteja dentro da árvore do seu diretório pessoal; layouts muito incomuns podem não ser descobertos. |
| `cargo install` falha | Instale o Rust via [rustup](https://rustup.rs/) e use Rust **≥ 1.74**. |

## Ajuda e feedback

- [Relatar um bug ou solicitar um recurso](https://github.com/arnica/depsguard/issues)
- [Relatar uma vulnerabilidade de segurança](https://github.com/arnica/depsguard/security/advisories/new) (veja [`SECURITY.md`](https://github.com/arnica/depsguard/blob/HEAD/SECURITY.md))
- O fluxo de desenvolvimento para contribuidores está em [`AGENTS.md`](https://github.com/arnica/depsguard/blob/HEAD/AGENTS.md).

## Guias

Guias detalhados em [depsguard.com](https://depsguard.com) explicam cada configuração de endurecimento e os ataques à cadeia de suprimentos contra os quais eles defendem:

- [Como se proteger contra ataques à cadeia de suprimentos do npm](https://depsguard.com/guide/) (o guia completo de endurecimento)
- [Cooldown de dependências (idade mínima de lançamento)](https://depsguard.com/cooldown/)
- [Bloquear scripts de instalação com ignore-scripts](https://depsguard.com/ignore-scripts/)
- [Bloquear dependências transitivas não confiáveis (block-exotic-subdeps)](https://depsguard.com/block-exotic-subdeps/)
- [Falhar em scripts de build não revisados (strict-dep-builds)](https://depsguard.com/strict-dep-builds/)
- [Bloquear rebaixamentos de proveniência (trust-policy)](https://depsguard.com/trust-policy/)
- Relatos de incidentes: [axios](https://depsguard.com/axios-npm-attack/) · [Shai-Hulud](https://depsguard.com/shai-hulud/) · [TanStack](https://depsguard.com/tanstack-npm-attack/)

## Veja também

- [**Dependency Cooldowns** (`cooldowns.dev`)](https://cooldowns.dev/): um guia de referência e utilitário shell complementar (`cooldowns.sh`) focado especificamente em **cooldowns de idade mínima de lançamento**. Complementa o DepsGuard: cobre um conjunto mais amplo de ecossistemas no eixo de cooldown (pip, uv, npm, pnpm, Yarn, Bun, Deno, Cargo), enquanto o DepsGuard cobre npm/pnpm/yarn/bun/aube/uv/pip/poetry além de Renovate/Dependabot e adiciona outras configurações de endurecimento (`ignore-scripts`, `block-exotic-subdeps`, `trust-policy`, `strict-dep-builds`) com uma TUI interativa, pré-visualização de diff e backup/restauração.

## Licença

MIT

---

**Links:** [Repositório](https://github.com/arnica/depsguard) · [Site de documentação](https://depsguard.com)
Baixar ferramenta
CanalLinuxmacOSWindowsComando de instalação
APT (repositório personalizado)simnãonãosudo apt install depsguard (após a configuração do repositório acima)
crates.iosimsimsimcargo install depsguard
Homebrew (homebrew-core)simsimnãobrew install depsguard
Scoop (bucket personalizado)nãonãosimscoop bucket add depsguard https://github.com/arnica/depsguard ; scoop install depsguard
WinGetnãonãosimwinget install Arnica.DepsGuard
CanalComando de atualização
Homebrewbrew update && brew upgrade depsguard
APT (repositório personalizado)sudo apt update && sudo apt install --only-upgrade depsguard
crates.iocargo install --force depsguard (reinstala a versão mais recente)
Scoopscoop update && scoop update depsguard
WinGetwinget upgrade Arnica.DepsGuard
n
u
f
  • Pré-visualize – pressione d para ver um diff do que será alterado antes de confirmar qualquer coisa.
  • Aplique – pressione Enter para aplicar as correções selecionadas. Um backup com carimbo de data/hora é criado antes de qualquer arquivo ser gravado.
  • Reexamine – o DepsGuard executa novamente a verificação automaticamente após aplicar, para que você possa confirmar que está tudo verde.
  • Restaure – execute depsguard restore a qualquer momento para reverter a partir da lista de backups. Pressione q ou Esc para sair.
  • GerenciadorConfiguraçãoDefiniçãoAlvoMotivo
    npm~/.npmrcmin-release-age7 (dias)Atrasa lançamentos recém-publicados (requer npm >= 11.10)
    npm/pnpm~/.npmrcignore-scriptstrueReduz o risco de scripts de instalação (npm respeita isso no .npmrc; pnpm >= 11 lê isso de pnpm-workspace.yaml / config.yaml global, não do .npmrc)
    pnpm~/.npmrcminimum-release-age10080 (minutos)Atrasa novas versões por 7 dias (apenas pnpm 10.16–10.x; pnpm >= 11 ignora .npmrc; use pnpm-workspace.yaml)
    pnpmrc global (pnpm <= 10)minimum-release-age10080 (minutos)Atrasa novas versões por 7 dias (requer pnpm >= 10.16)
    pnpmrc global (pnpm <= 10)block-exotic-subdepstrueBloqueia dependências transitivas não confiáveis (requer pnpm >= 10.26)
    pnpmrc global (pnpm <= 10)trust-policyno-downgradeBloqueia downgrades de proveniência (requer pnpm >= 10.21)
    pnpmrc global (pnpm <= 10)strict-dep-buildstrueFalha em scripts de build não revisados (requer pnpm >= 10.3)
    pnpmrc global (pnpm <= 10)ignore-scriptstrueBloqueia scripts de instalação maliciosos
    pnpmconfig.yaml global (pnpm >= 11)minimumReleaseAge10080 (minutos)Atrasa novas versões por 7 dias
    pnpmconfig.yaml global (pnpm >= 11)blockExoticSubdepstrueBloqueia dependências transitivas não confiáveis
    pnpmconfig.yaml global (pnpm >= 11)trustPolicyno-downgradeBloqueia downgrades de proveniência
    pnpmconfig.yaml global (pnpm >= 11)strictDepBuildstrueFalha em scripts de build não revisados
    pnpmconfig.yaml global (pnpm >= 11)ignoreScriptstrueBloqueia scripts de instalação maliciosos
    yarn.yarnrc.ymlnpmMinimalAgeGate7dAtrasa novas versões por 7 dias (requer yarn >= 4.10)
    pnpmpnpm-workspace.yamlminimumReleaseAge10080 (minutos)Atrasa novas versões por 7 dias (requer pnpm >= 10.16)
    pnpmpnpm-workspace.yamlstrictDepBuildstrueFalha em scripts de build não revisados (requer pnpm >= 10.3)
    pnpmpnpm-workspace.yamltrustPolicyno-downgradeBloqueia downgrades de proveniência (requer pnpm >= 10.21)
    pnpmpnpm-workspace.yamlblockExoticSubdepstrueBloqueia dependências transitivas não confiáveis (requer pnpm >= 10.26)
    pnpmpnpm-workspace.yamlignoreScriptstrueBloqueia scripts de instalação maliciosos (requer pnpm >= 10.16)
    bun~/.bunfig.tomlinstall.minimumReleaseAge604800 (segundos)Atraso de ~7 dias (requer bun >= 1.3)
    aube~/.npmrcminimumReleaseAge10080 (minutos)Atrasa novas versões por 7 dias
    uvuv.tomlexclude-newer7 daysAtrasa novas publicações (requer uv >= 0.9.17)
    pippip.conf ([install])uploaded-prior-toP7D (7 dias)Atrasa novas publicações (requer pip >= 26.1)
    poetryconfig.toml ([solver])min-release-age7 (dias)Atrasa novas publicações (requer poetry >= 2.4)
    renovaterenovate.json etc.minimumReleaseAge7 daysAtrasa PRs de atualização de dependências por 7 dias
    dependabot.github/dependabot.ymlcooldown.default-days7Atrasa PRs de atualização de dependências por 7 dias
    GerenciadorLinuxmacOSWindows
    npm/pnpm/aube~/.npmrc~/.npmrc%USERPROFILE%\.npmrc
    pnpm global (pnpm <= 10)$XDG_CONFIG_HOME/pnpm/rc ou ~/.config/pnpm/rc$XDG_CONFIG_HOME/pnpm/rc ou ~/Library/Preferences/pnpm/rc%LOCALAPPDATA%\pnpm\config\rc
    pnpm global (pnpm >= 11)$XDG_CONFIG_HOME/pnpm/config.yaml ou ~/.config/pnpm/config.yaml$XDG_CONFIG_HOME/pnpm/config.yaml ou ~/Library/Preferences/pnpm/config.yaml%LOCALAPPDATA%\pnpm\config\config.yaml
    yarn~/.yarnrc.yml~/.yarnrc.yml%USERPROFILE%\.yarnrc.yml
    pnpmpnpm-workspace.yamlpnpm-workspace.yamlpnpm-workspace.yaml
    bun$XDG_CONFIG_HOME/.bunfig.toml ou ~/.bunfig.toml$XDG_CONFIG_HOME/.bunfig.toml ou ~/.bunfig.toml%USERPROFILE%\.bunfig.toml
    uv$XDG_CONFIG_HOME/uv/uv.toml ou ~/.config/uv/uv.toml$XDG_CONFIG_HOME/uv/uv.toml ou ~/.config/uv/uv.toml%APPDATA%\uv\uv.toml
    pip$XDG_CONFIG_HOME/pip/pip.conf ou ~/.config/pip/pip.conf~/Library/Application Support/pip/pip.conf ou ~/.config/pip/pip.conf (ou $XDG_CONFIG_HOME/pip/pip.conf quando definido)%APPDATA%\pip\pip.ini
    poetry$XDG_CONFIG_HOME/pypoetry/config.toml ou ~/.config/pypoetry/config.toml$XDG_CONFIG_HOME/pypoetry/config.toml (quando definido) ou ~/Library/Application Support/pypoetry/config.toml%APPDATA%\pypoetry\config.toml
    renovaterenovate.json, .renovaterc, .github/renovate.json, etc.(mesmo)(mesmo)
    dependabot.github/dependabot.yml(mesmo)(mesmo)
    $XDG_CONFIG_HOME/uv/uv.toml
    XDG_CONFIG_HOME
    ~/.config/uv/uv.toml
    ~/.npmrc
    minimumReleaseAge
    .npmrc
    pip.conf
    pypoetry/config.toml
    GerenciadorComo ignorar o cooldown
    npmnpm install <pkg>@<ver> --min-release-age=0
    pnpmAdicione uma entrada a minimumReleaseAgeExclude em pnpm-workspace.yaml, execute pnpm add <pkg>@<ver>, e depois remova a entrada. Excluir pelo nome do pacote funciona no pnpm 10.16+; fixar uma versão específica (<pkg>@<ver>) adicionalmente requer pnpm 10.19+. O pnpm não possui sobrescrita de CLI documentada para minimumReleaseAge.
    yarnAdicione <pkg> (ou um glob) a npmPreapprovedPackages em .yarnrc.yml, ou execute YARN_NPM_MINIMAL_AGE_GATE=0s yarn up <pkg>@<ver> para um único comando. npmPreapprovedPackages isenta correspondências de todos os limites de pacotes do Yarn, não apenas do limite de idade.
    bunAdicione <pkg> a install.minimumReleaseAgeExcludes em um bunfig.toml de nível de repositório ou em ~/.bunfig.toml de nível de usuário, ou execute bun add <pkg>@<ver> --minimum-release-age 0.
    aubeAdicione <pkg> a minimumReleaseAgeExclude em .npmrc, ou defina AUBE_MINIMUM_RELEASE_AGE=0 (ou npm_config_minimum_release_age=0) para uma única instalação.
    uvAdicione "<pkg>" = false a exclude-newer-package em uv.toml ou pyproject.toml, execute uv add <pkg>==<ver>, e depois remova a entrada. exclude-newer-package é uma sobrescrita separada por pacote do limite global exclude-newer. A CLI do uv aceita --exclude-newer-package PACKAGE=DATE, mas não PACKAGE=false.
    pipExecute pip install <pkg>==<ver> --uploaded-prior-to=P0D para uma instalação. P0D desativa o cooldown apenas para esse comando; o pip não tem exclusão por pacote na configuração.
    poetryAdicione <pkg> a solver.min-release-age-exclude (separado por vírgulas) em poetry.toml/config.toml, execute poetry add <pkg>@<ver>, e depois remova a entrada. solver.min-release-age-exclude-source isenta todos os pacotes de um índice nomeado em vez disso.
    RenovateAtualizações de segurança já ignoram minimumReleaseAge. Para uma atualização de versão, adicione uma entrada packageRules com matchPackageNames: ["<pkg>"] e minimumReleaseAge: null.
    DependabotAtualizações de segurança já ignoram cooldown. Para uma atualização de versão, adicione <pkg> a cooldown.exclude.