A arquitetura por trás do meu analisador de pacotes: de NPM para Python, Ruby e além
Fala, pessoal!
Há alguns dias, postei aqui a Prova de Conceito de um "antivírus" proativo para NPM. A repercussão e as ideias foram ótimas e me ajudaram a pensar nos próximos passos.
Em especial, um comentário do usuário JuanMathewsRebelloSantos perguntou sobre estender a ferramenta para outros ecossistemas, como Python/pip. Essa sugestão foi o gatilho para eu compartilhar a visão de arquitetura que estou planejando.
Desde o início, a ferramenta está sendo pensada de forma modular. A ideia é ter um "core" de análise de risco e criar "adaptadores" agnósticos para cada gerenciador de pacotes.
- O primeiro adaptador é para o NPM, por ser um alvo frequente de ataques.
- O objetivo é criar outros para:
- Python (pip)
- Ruby (RubyGems)
- Java (Maven)
- etc.
Ainda estou no começo e o foco total é fazer o módulo de NPM funcionar de forma impecável. Mas a fundação está sendo construída para suportar essa visão multi-ecossistema.
A pergunta que eu gostaria de fazer à comunidade é: na visão de vocês, qual deveria ser a próxima prioridade depois do NPM? Qual ecossistema mais se beneficiaria de uma ferramenta assim?
Todo feedback sobre essa abordagem de arquitetura é bem-vindo!