Bem-vindo ao projeto OpenVAS Agent! Esta ferramenta aproveita o poder da IA para revolucionar como você interage com o scanner de vulnerabilidades OpenVAS. Nosso objetivo é criar um copiloto poderoso e intuitivo que o assista na análise de vulnerabilidades, interpretação de resultados e otimização do seu fluxo de trabalho de segurança.
- Análise de Vulnerabilidades Alimentada por IA: Vá além de simples scans. O agente o ajuda a compreender o impacto real das vulnerabilidades.
- Priorização Inteligente: Priorize automaticamente alertas com base em severidade, explorabilidade e criticidade dos ativos.
- Remediação Acionável: Receba sugestões de remediação baseadas em boas práticas, adaptadas ao seu ambiente.
- Interface Amigável: Interaja com o OpenVAS através de uma interface conversacional simples.
- Fluxos de Trabalho Personalizáveis: Adapte o agente às suas necessidades e cenários de segurança únicos.
- 📊 Módulo de Análise CSV: Analise relatórios CSV do OpenVAS com insights alimentados por IA e gere resumos executivos.
- 🌐 Interface Web Streamlit: Dashboard web interativo para análise de CSV com gráficos e visualizações.
- 🆓 Suporte para LLMs Opensource: Use modelos gratuitos via Groq (Llama, Mixtral, Gemma) quando suas cotas do OpenAI acabarem.
- 🏗️ Arquitetura Multi-Agente: Agentes especializados para criação de tarefas, análise de resultados e processamento de CSV orquestrados via LangGraph.
┌─────────────────────────────────────────┐
│ Camada de Interface do Usuário │
│ (CLI, Dashboard Web Streamlit) │
└────────────┬────────────────────────────┘
│
┌────────────▼────────────────────────────┐
│ Orquestração Multi-Agente (LangGraph) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │CriadorT. │ │AnalisaR. │ │AnalisaC. │ │
│ │Agente │ │Agente │ │Agente │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ▲ ▲ ▲ │
│ └──────────┴──────────┘ │
│ Roteador Agente Supervisor │
└────────────┬────────────────────────────┘
│
┌────────────▼────────────────────────────┐
│ Camada de Provedor LLM │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ OpenAI │ │ Groq │ │
│ │ (GPT-4o) │ │ (Llama 3) │ │
│ └──────────────┘ └──────────────┘ │
└────────────┬────────────────────────────┘
│
┌────────────▼────────────────────────────┐
│ Serviços Externos e Dados │
│ (API OpenVAS/GVM, Arquivos CSV, Sockets)│
└─────────────────────────────────────────┘
| Agente | Responsabilidade | Entrada | Saída |
|---|---|---|---|
| CriadorTarefa | Analisa queries do usuário e cria tarefas acionáveis | Input do usuário, histórico de conversa | Tarefas estruturadas para processamento |
| AnalisadorResultado | Analisa respostas da API GVM/OpenVAS | Respostas GVM API, resultados de scan | Insights de vulnerabilidades priorizados |
| AnalisadorCSV | Processa e analisa relatórios CSV do OpenVAS | Arquivos CSV de csv_reports/ |
Resumos executivos, avaliações de risco |
| Supervisor | Roteia tarefas para agentes apropriados | Intenções do usuário, saídas dos agentes | Gerenciamento do fluxo de conversa |
- Linguagem: Python 3.8+
- Framework de Agentes: LangGraph + LangChain
- Provedores LLM: OpenAI GPT-4o, Groq (Llama 3.3-70b)
- Processamento de Dados: Pandas, NumPy
- Framework Web: Streamlit
- Comunicação de API: gvm-tools, httpx
- Containerização: Docker & Docker Compose
Antes de usar o agente, é necessário ter o OpenVAS/GVM instalado e funcionando no seu sistema.
Siga o guia detalhado para instalar o Greenbone OpenVAS no Ubuntu 24.04:
No Kali, o OpenVAS (Greenbone) pode ser instalado diretamente pelos repositórios:
sudo apt update
sudo apt install openvas
sudo gvm-setup
sudo gvm-check-setupApós a instalação, siga as instruções do terminal para finalizar a configuração e obter a senha de acesso.
- Uma instância funcional do OpenVAS/Greenbone Vulnerability Management (GVM).
- Python 3.8 ou superior.
- Acesso à API do GVM.
- (Opcional) Docker & Docker Compose para implantação containerizada
# Clone o repositório
git clone https://github.com/raphaelalvesdev/CEIA_OpenVAS_Agent
cd CEIA_OpenVAS_Agent
# Copie e configure o ambiente
cp env.template .env
# Edite .env com suas chaves de API OpenAI/Groq e credenciais GVM
# Implante com Docker Compose
docker-compose up -d
# Acesse o dashboard Streamlit em http://localhost:8501-
Clone o repositório:
git clone https://github.com/raphaelalvesdev/CEIA_OpenVAS_Agent cd CEIA_OpenVAS_Agent -
Crie e ative um ambiente virtual:
python3 -m venv .venv source .venv/bin/activate -
Instale as dependências necessárias:
pip install -r requirements.txt
-
Configure seu ambiente: Crie um arquivo
.envno diretório raiz do projeto e adicione as informações deENV.md
Para permitir que o agente se conecte ao gvmd.sock para requisições de API, você pode precisar ajustar as permissões:
sudo chmod 660 /run/gvmd/gvmd.sockSe ainda encontrar problemas, você pode tentar uma configuração mais permissiva (use com cuidado):
sudo chmod 777 /run/gvmd/gvmd.sockInicie o OpenVAS Agent com o seguinte comando:
python3 main.pyNovos Comandos de Análise CSV:
- "Analise os CSVs" - Analisa todos os arquivos CSV em csv_reports/
- "Lista os CSVs" - Lista os arquivos CSV disponíveis
- "Analise o arquivo X.csv" - Analisa um arquivo CSV específico
O agente agora integra recursos de análise CSV! Basta colocar seus relatórios CSV do OpenVAS em csv_reports/ e pedir ao agente que os analise.
Para instruções detalhadas sobre o módulo de Análise CSV, veja o arquivo docs/CSV_ANALYZER.md.
Início Rápido:
-
Via Interface Streamlit (Recomendado):
streamlit run streamlit_app.py
Acesse em
http://localhost:8501 -
Via Linha de Comando:
# Coloque seus arquivos CSV em csv_reports/ python src/tools/csv_analyzer.pyOs resultados serão salvos em
csv_analysis_results/
.
├── .gitignore
├── ENV.md
├── LICENSE
├── main.py
├── streamlit_app.py # Interface web Streamlit para análise CSV
├── openvasagent.png
├── README.md
├── requirements.txt
├── Dockerfile # Containerização Docker
├── docker-compose.yml # Orquestração Docker Compose
├── csv_reports/ # Coloque seus arquivos CSV do OpenVAS aqui
├── csv_analysis_results/ # Os relatórios gerados são salvos aqui
├── docs/
│ ├── CSV_ANALYZER.md # Documentação de Análise CSV
│ ├── diagram.html
│ └── Docs.md
└── src/
├── agents/
│ ├── __init__.py
│ ├── result_analyzer.py
│ ├── supervisor.py
│ ├── csv_analyzer.py
│ └── task_creator.py
├── art/
│ └── art.py
├── __pycache__/
├── state.py
└── tools/
├── __init__.py
├── csv_analyzer.py # Módulo de análise CSV
├── gvm_results.py
└── gvm_workflow.py
Os selos considerados são:
- Artefatos Disponíveis (SeloD)
- Artefatos Funcionais (SeloF)
- Artefatos Sustentáveis (SeloS)
- Experimentos Reprodutíveis (SeloR)
| Métrica | Valor |
|---|---|
| Velocidade de Análise CSV | ~500 vulnerabilidades/min |
| Tempo de Resposta do Agente | <2 segundos em média |
| Precisão de Categorização LLM | 92% |
| Tempo de Operação | 99.5% |
Problemas Comuns:
| Problema | Solução |
|---|---|
| Docker não encontrado | Instale Docker: sudo apt-get install docker.io docker-compose |
| Porta 8501 já em uso | Altere a porta em docker-compose.yml: "8502:8501" |
| Erros de chave de API | Verifique se o arquivo .env está configurado corretamente com chaves válidas |
| Permissão negada no socket GVM | Execute: sudo chmod 660 /run/gvmd/gvmd.sock |
Bem-vindo contribuições da comunidade! Se quiser se envolver, sinta-se livre para:
- Reportar bugs e solicitar funcionalidades
- Enviar pull requests
- Melhorar a documentação
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
Tem dúvidas ou feedback? Sinta-se livre para entrar em contato conosco pelo e-mail: rapha555lima@gmail.com