Dashboard para análise de arquivos com a API v3 da VirusTotal: envie arquivos, acompanhe os resultados da varredura e explore estatísticas agregadas (engines mais precisas, malwares menos identificados, nomes de detecção mais comuns etc).
- Docker e o plugin
docker compose(recomendado — osetup.shinstala o Docker automaticamente em Linux se ele não estiver presente) - Alternativamente, para rodar sem Docker: Node.js 22+
- Uma chave de API da VirusTotal (grátis em https://www.virustotal.com/gui/my-apikey, após criar uma conta)
git clone https://github.com/JonathasSC/argus.git
cd argus. ./setup.shO script setup.sh:
- Instala o Docker automaticamente se necessário (apenas Linux).
- Cria o arquivo
.envcom valores padrão, caso ainda não exista. - Verifica se a porta
3000já está em uso e escolhe outra livre automaticamente, se preciso. - Builda a imagem e sobe o container com
docker compose up -d --build.
Ao final, o dashboard estará disponível em http://localhost:3000 (ou na porta impressa no terminal).
Para parar o container:
./stop.shnpm install
cp .env.example .env
npm startO servidor sobe em http://localhost:3000 (ou na porta definida em PORT no .env).
Você pode informar a chave de API de duas formas:
- No
.env(compartilhada por todos que acessam o dashboard nesta instância): editeVT_API_KEYno arquivo.envcriado no passo anterior. - Direto na interface web (fica salva apenas no
localStoragedo seu navegador): cole a chave no campo "Chave de API da VirusTotal" na tela de upload.
O tier gratuito da VirusTotal permite até 4 requisições por minuto. O dashboard reaproveita relatórios já existentes para hashes já analisados antes, evitando gastar cota à toa.
argus/
├── server.js # servidor Express — proxy para a API da VirusTotal
├── public/
│ ├── index.html
│ └── assets/
│ ├── css/dashboard.css
│ ├── img/logo.png
│ └── js/
│ ├── dashboard/ # estado, cálculos e renderização do dashboard
│ └── vt/ # integração com a VirusTotal (upload, polling, cache por hash)
├── setup.sh # sobe o projeto via Docker
├── stop.sh # para o container
├── Dockerfile
└── docker-compose.yml
| Variável | Descrição |
|---|---|
VT_API_KEY |
Chave de API da VirusTotal usada como padrão pelo servidor (opcional) |
PORT |
Porta usada ao rodar node server.js diretamente (sem Docker) |
HOST_PORT |
Porta do host mapeada para o container pelo docker-compose |
docker compose logs -f # ver logs do container
./stop.sh # parar o container