██████╗ █████╗ ███████╗██╗██╗ ██╗███████╗██╗ ██╗
██╔══██╗██╔══██╗██╔════╝██║██║ ██║██╔════╝██║ ██╔╝
██████╔╝███████║███████╗██║██║ ██║███████╗█████╔╝
██╔══██╗██╔══██║╚════██║██║██║ ██║╚════██║██╔═██╗
██████╔╝██║ ██║███████║██║███████╗██║███████║██║ ██╗
╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝╚══════╝╚═╝╚══════╝╚═╝ ╚═╝
Uma ferramenta avançada de linha de comando para análise abrangente de dependências em projetos de software
BasiliskScan é uma ferramenta poderosa e intuitiva desenvolvida para identificar, catalogar e reportar dependências vulneráveis e desatualizadas em projetos de software. Com suporte a múltiplos ecossistemas e uma interface rica em recursos, o BasiliskScan é essencial para manter a segurança e atualização de suas dependências.
- Análise Abrangente: Varredura recursiva de projetos identificando todas as dependências
- Múltiplos Ecossistemas: Suporte para Node.js (npm) e Python (pip)
- Relatórios Interativos: Saída em HTML com interface rica e navegação por abas
- Interface Rica: Barras de progresso e feedback visual em tempo real
- Filtragem Inteligente: Ignora automaticamente diretórios desnecessários
- Identifica automaticamente arquivos de dependências suportados
- Percorre recursivamente toda a estrutura do projeto
- Filtra inteligentemente diretórios irrelevantes (
node_modules,.git,__pycache__, etc.)
- Node.js:
package.json(dependencies, devDependencies, peerDependencies) - Python:
requirements.txt(versões fixas e flexíveis)
- Saída em formato HTML com interface moderna e responsiva
- Navegação por abas para diferentes categorias de componentes
- Logo personalizado e visual profissional
- Metadados completos e estatísticas detalhadas por ecossistema
- Preparado para futuras funcionalidades de vulnerabilidades
- Barras de progresso em tempo real durante o scan
- Código de cores para diferentes tipos de informação
- Mensagens de status claras e informativas
- Logo ASCII artístico no terminal
- Relatórios HTML interativos com design moderno
- Python 3.10 ou superior
- pip (gerenciador de pacotes Python)
pip install basiliskscan# Clone o repositório
git clone https://github.com/PuertA/basiliskscan.git
cd basiliskscan
# Instale em modo desenvolvimento
pip install -e .# Teste a instalação
bscan --version
bscan --help# Varredura do diretório atual
bscan scan
# Varredura de um projeto específico
bscan scan --project /caminho/para/projeto
# Varredura com arquivo de saída personalizado
bscan scan --project ./meu-app --output relatorio-deps.html| Opção | Alias | Descrição | Padrão |
|---|---|---|---|
--project |
-p |
Diretório do projeto a ser analisado | . (atual) |
--url |
-u |
Modo alternativo de especificação do projeto | - |
--output |
-o |
Arquivo de saída para o relatório HTML | dependencies_report.html |
--help |
-h |
Exibe ajuda detalhada | - |
bscan scanbscan scan --project ../meu-backend --output backend-deps.htmlbscan scan --url /opt/aplicacoes/webapp --output webapp-analysis.htmlbscan scan --project ./api-python --output api-dependencies.html# Após a execução, abra o arquivo HTML gerado no seu navegador
# O relatório inclui logo, navegação por abas e interface interativa
# Exemplo: abrir no navegador padrão (Windows)
start dependencies_report.html
# Exemplo: abrir no navegador padrão (Linux/Mac)
open dependencies_report.htmlO BasiliskScan gera relatórios em formato HTML interativo com:
- Design responsivo com tema escuro profissional
- Logo personalizado do BasiliskScan no topo
- Navegação por abas para diferentes categorias:
- 📦 Todos os Componentes: Lista completa de dependências encontradas
- 🚨 Componentes Vulneráveis: Preparado para futuras integrações de segurança
⚠️ Componentes Desatualizados: Preparado para verificação de versões
- Metadados do Scan: Data, ferramenta, versão, diretório analisado
- Estatísticas Resumidas: Contadores visuais de componentes por categoria
- Detalhes dos Componentes: Nome, versão, ecossistema, arquivo de origem
- Badges Coloridos: Identificação visual por ecossistema (npm, pypi, etc.)
- Hover Effects: Destaque visual ao passar mouse sobre componentes
- Animações Suaves: Logo animado e transições elegantes
- Estrutura Extensível: Preparada para futuras funcionalidades de vulnerabilidades
O BasiliskScan foi desenvolvido com uma arquitetura modular e extensível:
src/basiliskscan/
├── cli.py # Ponto de entrada CLI principal
├── config.py # Configurações e constantes globais
├── help_text.py # Textos de ajuda e mensagens
├── parsers.py # Parsers para arquivos de dependências
├── scanner.py # Sistema de varredura e descoberta
├── reporter.py # Geração de relatórios e saídas
├── ui.py # Interface de usuário e componentes visuais
└── commands/
└── scan.py # Implementação do comando scan
- 🔍 Scanner: Descoberta e coleta de arquivos de dependências
- 📝 Parsers: Análise específica por tipo de arquivo (package.json, requirements.txt)
- 📊 Reporter: Geração de relatórios estruturados e apresentação de resultados
- 🎨 UI: Interface rica com barras de progresso e feedback visual
# Clone o projeto
git clone https://github.com/PuertA/basiliskscan.git
cd basiliskscan
# Crie um ambiente virtual
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou
venv\Scripts\activate # Windows
# Instale dependências de desenvolvimento
pip install -e ".[dev]"- click: Interface de linha de comando
- requests: Requisições HTTP (funcionalidades futuras)
- packaging: Manipulação de versões de pacotes
- rich: Interface rica e colorida no terminal
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -am 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
- Suporte a mais formatos de dependências (Pipfile, yarn.lock, composer.json)
- Integração com APIs de vulnerabilidades (CVE, npm audit)
- Relatórios em formatos adicionais (CSV, XML, JSON)
- Cache de resultados para execuções subsequentes
- Análise de dependências transitivas
- Verificação de licenças de pacotes
- Comando de atualização automática de dependências
- Interface web para visualização de relatórios
- Sistema de plugins extensível
- Integração com CI/CD
- API REST para integração com outras ferramentas
- Dashboard de monitoramento contínuo
- Auditoria de segurança em projetos corporativos
- Compliance e verificação de licenças
- Monitoramento contínuo de dependências em CI/CD
- Análise rápida de projetos herdados
- Verificação de saúde de dependências antes de releases
- Identificação de dependências obsoletas
- Estudos sobre ecossistemas de software
- Análise de vulnerabilidades em larga escala
- Pesquisa sobre evolução de dependências
- Atualmente suporta apenas
package.jsonerequirements.txt - Não analisa dependências transitivas (ainda)
- Não verifica vulnerabilidades em tempo real
- Limitado a projetos no sistema de arquivos local
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- PuertA - Desenvolvimento inicial - GitHub
- Comunidade Python e click pela excelente documentação
- Projeto Rich pela biblioteca de interface rica
- Comunidade open source por inspiração e feedback
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Feito com ❤️ para a comunidade de desenvolvedores
⭐ Se este projeto foi útil, considere dar uma estrela! ⭐