@gustavodias/diax-shield
v0.1.0-alpha
Published
Biblioteca de proteção e licenciamento para projetos Node.js
Maintainers
Readme
🛡️ DIAX Shield
Uma biblioteca modular em TypeScript/JavaScript no estilo NestJS focada em proteção de código, licenciamento, criptografia de dados, detecção de depuradores (anti-debug), máquinas virtuais (anti-vm) e monitoramento de integridade (anti-tamper) para aplicativos Node.js.
🚀 Instalação
Como a biblioteca é empacotada localmente ou publicada no npm, você pode instalá-la em seus projetos usando:
npm install @gustavodias/diax-shieldE para instalar o utilitário CLI globalmente:
npm install -g @gustavodias/diax-shield⚙️ Arquitetura do Kernel
O DIAX Shield funciona com base em um Kernel centralizado que inicializa e gerencia módulos de forma desacoplada:
import Shield, { BaseProvider } from "@gustavodias/diax-shield";
// Instancia o Shield com as flags de proteção desejadas
const shield = new Shield({
licenseKey: "CHAVE_BASE64_ASSINADA_RSA",
policy: "balanced", // strict, balanced ou development
antiDebug: true, // Detecção de Debugger / Inspector
antiTamper: true, // Validação de hash de arquivos do projeto
antiVM: true, // Detecção de Máquina Virtual (VirtualBox, VMware, etc.)
antiHook: true, // Evita que alterem funções do node (monkey-patch)
watchdog: true, // Detector invisível de breakpoints/congelamento
secureStorage: true, // Banco de dados chave-valor encriptado travado ao HWID
});
// Inicializa a blindagem
await shield.start();🔑 Funcionalidades Principais
1. Banco Criptografado (Secure Storage)
Grave dados sensíveis localmente sem se preocupar. A biblioteca criptografa os dados com AES-256-GCM usando uma chave derivada da assinatura de hardware (HWID) da máquina, garantindo que o arquivo não possa ser lido se for copiado para outro computador. Além disso, a integridade é assegurada via HMAC.
// Salvar valor
shield.storage.set("db_password", "senha_secreta_123");
// Ler valor
const pass = shield.storage.get("db_password"); // "senha_secreta_123"2. Memória Ofuscada (Hidden Values)
Proteja variáveis críticas na memória heap do processo (ex: contagem de créditos, tokens de API) contra varreduras de ferramentas como Cheat Engine. O valor é encriptado em memória e a chave muda a cada modificação.
import { HiddenValue } from "diax-shield";
// Declara a variável protegida
const userCoins = new HiddenValue(1000);
// Faz contas sem expor o valor permanentemente na RAM
userCoins.updateNumber((current) => current + 150);
console.log(userCoins.get()); // 11503. Escuta de Eventos Elegante
O Shield emite eventos tipados quando qualquer incidente de segurança ou licenciamento ocorre, permitindo que seu app reaja de forma personalizada.
shield.on("tamper", (detail) => {
console.log(`⚠️ Arquivo modificado ou adulterado: ${detail.message}`);
});
shield.on("debugger", (detail) => {
console.log(`🚨 Depurador anexado detectado: ${detail.message}`);
});
shield.on("hookDetected", (detail) => {
console.log(`🚫 Tentativa de interceptar a função ${detail.method}`);
});4. Diagnóstico Completo (Exportação)
Gere um relatório compactado contendo logs criptografados de auditoria, HWID, versão do sistema, status de saúde de cada módulo e testes de latência (benchmark para detectar lentidão causada por breakpoints).
// Exporta para 'shield-report.zip' no diretório raiz do projeto
const zipPath = await shield.diagnostics.export();
console.log(`Relatório de suporte gerado em: ${zipPath}`);5. Sistema de Provedores (Providers)
Integre facilmente com frameworks e ambientes específicos:
import { ExpressProvider } from "@gustavodias/diax-shield/dist/providers/express";
const expressProvider = new ExpressProvider();
shield.use(expressProvider);
// Use o middleware de proteção do Shield no Express
app.use(expressProvider.getMiddleware());🛠️ CLI do Shield (Linha de Comando)
Após instalar a biblioteca globalmente, você ganha acesso ao comando shield:
shield init: Cria um arquivo de configuração modelo (shield.config.json) na raiz do seu projeto.shield fingerprint: Mostra a assinatura digital única (HWID) do computador atual.shield generate-license: Cria uma licença RSA válida.- Exemplo:
shield generate-license --client "Empresa ABC" --hwid "HASH_DE_HARDWARE" --expires "2027-12-31"
- Exemplo:
shield doctor: Executa testes rápidos nas dependências e verifica se o Shield está pronto para blindar seu projeto.
