
Camada automatizada de segurança de dependências para assistentes de codificação de IA que audita pacotes em busca de CVEs, typosquats, abandono, problemas de idade de versão e integridade de hash nos ecossistemas npm, PyPI, RubyGems, Maven, Go e Rust.
Quando assistentes de codificação com IA, como o Claude, adicionam pacotes ao seu projeto, eles frequentemente escolhem qualquer versão que pareça adequada — sem verificar se ela possui vulnerabilidades de segurança conhecidas, se o pacote ainda é mantido ativamente ou se o nome está a um erro de digitação de um imitador malicioso.
safer-dependencies é uma camada de segurança para o Claude Code: ela fica entre o Claude e seus arquivos de manifesto e executa suas verificações de segurança automaticamente: instalações vulneráveis são negadas antes de serem executadas, e uma versão arriscada escrita em um manifesto é corrigida no disco logo após a escrita. Ela detecta e corrige dependências arriscadas — CVEs, typosquats, pacotes abandonados e problemas de idade de versão, além de um período de espera para lançamentos totalmente novos — em npm, PyPI, RubyGems, Maven, Go, Rust e PHP (Composer). Consulte CAPABILITIES.md para saber exatamente o que é e o que não é coberto.
Novo aqui? GETTING-STARTED.md leva você do zero a uma instalação funcional em cerca de cinco minutos.
Segurança e privacidade: consulte SECURITY.md (divulgação de vulnerabilidades), PRIVACY.md (saída de dados, sem telemetria) e CAPABILITIES.md (o que a ferramenta defende e o que não defende).
Licença (código-fonte disponível — NÃO é "código aberto" OSI): Livre para usar e modificar para seus próprios fins, incluindo uso interno com fins lucrativos/empresarial e construção de produtos que você vende. Uma licença paga separada é necessária apenas para monetizar o software em si — vendê-lo, distribuí-lo dentro de um produto ou serviço que é vendido, ou oferecer sua funcionalidade a terceiros mediante taxa (incluindo hospedado/SaaS/API). Redistribuição e derivados devem manter a licença e creditar este projeto. Consulte LICENSE (Seção 4 para a restrição comercial); solicitações de licença comercial via github.com/robert-auger.
GETTING-STARTED.md leva você do zero a uma instalação funcional em cerca de cinco minutos — pré-requisitos, a instalação interativa e a verificação. Para a referência completa de instalação (instalações globais/projeto/manuais, especificidades do Windows, a lista de permissões, atualização e desinstalação), consulte INSTALLATION.md.
Uso diário: uma vez que os hooks estão instalados, não há nada para executar — safer-dependencies funciona automaticamente em segundo plano. À medida que o Claude adiciona ou instala pacotes, ele sinaliza dependências arriscadas e atualiza versões vulneráveis para uma versão segura no local — e bloqueia uma instalação conhecidamente vulnerável antes mesmo de ela ser executada — para que pacotes inseguros sejam detectados e corrigidos sem que você precise pedir. Você ainda pode invocá-lo diretamente a qualquer momento: "[email protected] é seguro?", "verifique a configuração do safer-dependencies" ou "mostre estatísticas do safer-dependencies".
Quando o Claude está prestes a adicionar um pacote ao seu projeto, o safer-dependencies intercepta e executa 5 verificações:
requirements.txt do PyPI com pins --hash=sha256:..., o hash declarado é validado contra os hashes publicados do PyPI; uma incompatibilidade emite um AVISOpaperclip, request, pycrypto, github.com/dgrijalva/jwt-go) são bloqueados imediatamente com uma substituição sugerida; pacotes sem lançamento estável em 2+ anos recebem um aviso consultivo STALE:. Pacotes bloqueados são removidos do manifesto e o Claude perguntará como proceder; pacotes apenas desatualizados são mantidos no local.Se problemas forem encontrados, o Claude emite avisos e pode recuar para uma versão mais segura. Todas as verificações são registradas em ~/.claude/safer-dependencies-audit-YYYY-MM.log (um arquivo por mês calendário).
A skill é acionada automaticamente quando o Claude:
Operações de manifesto / instalação
package.json, requirements.txt, Gemfile, pom.xml, build.gradle, Cargo.toml, go.mod ou qualquer outro manifesto suportadoimport, require ou use para um pacote ainda não declarado no manifestonpm install, bundle install, poetry install, uv sync, go mod tidy, etc.) — Pré-Instalação audita os argumentos do comando, Pós-Instalação audita o arquivo de bloqueio resultanteDockerfile ou fluxo de trabalho de CI (.github/workflows/*.yml, etc.) que incorpora etapas de instalação fixadas do gerenciador de pacotesPerguntas de seleção e recomendação
Expressões de intenção de uso (pré-adição)
Perguntas sobre saúde e confiança de pacotes
Comandos de scaffolding
npx create-react-app, npm create vite@latest, django-admin startproject, rails new, cargo new + cargo add, "inicializar um novo projeto FastAPI"