Documentação CYS
IA para CYS
1. Visão Geral
Este projeto é uma solução de Inteligência Artificial Generativa (GenAI) projetada para analisar e interpretar logs de cibersegurança. O objetivo principal é fornecer uma interface de chat onde os analistas de segurança possam fazer perguntas em linguagem natural sobre os dados de log (provenientes do Wazuh) e receber respostas claras e contextualizadas, juntamente com os dados brutos correspondentes. O sistema traduz a pergunta do usuário para uma query de busca, executa-a no Wazuh e, em seguida, traduz os resultados de volta para uma resposta em linguagem natural.
Status Atual: Em desenvolvimento.
Fases do Projeto
1 - Implementar modelos de ML do Alsac no CyberMesh
- Levantamento e detalhamento dos modelos a serem migrados.
- Verificação de compatibilidade com o Anomaly Detection do OpenSearch.
- Integração de modelos via API (ex: OpenAI com Python).
- Exportação e tratamento de dados de alertas para treinamento.
2 - Interação com dados do CyberMesh via linguagem natural
- Criação de ambiente paralelo com cópia de índices.
- Desenvolvimento de interface de linguagem natural (ex: ChatGPT ou Eliza).
- Integração do chat ao CyberMesh (interno ou externo).
3 - Consulta a KBs e fontes externas com linguagem natural
- Integração com base de conhecimento (MySupport, Ares).
- Desenvolvimento de mecanismo de consulta semântica.
- Implementação de interface conversacional.
2. Equipe e Responsáveis
- Product Owner (PO): Cláudio Silva (claudio.silva@atos.net)
- Tech Lead: Lucas Albini (lucas.albini@atos.net)
- Desenvolvedores:
- Samara Prass(samara.prass@atos.net)
- Sergio Tanaka(sergio.tanaka@atos.net)
- Testes:
- Cláudio Silva (claudio.silva@atos.net)
- Sofia Pimasoni (sofia.pimazzoni@atos.net)
- Arquiteto: Luis Quissak (luis.quissak@atos.net)
3. Tecnologias e Definições
Frontend:
- Framework: Next.js (React)
- Linguagem: TypeScript
- Estilização: TailwindCSS
- Gerenciador de Pacotes: npm
Backend:
- Framework: FastAPI
- Linguagem: Python
- IA e LLM: Azure OpenAI
- Monitoramento: Azure Application Insights
- Dependências Principais: uvicorn, python-dotenv, requests, opencensus-ext-azure
Infraestrutura:
- Plataforma de Logs: Wazuh (com Elasticsearch)
- Deployment: O projeto utiliza Docker e Docker Compose, com uma arquitetura baseada em contêineres.
Arquitetura:
4. Como Rodar o Projeto
Pré-requisitos
- Node.js e npm
- Python 3.x e pip
- Docker e Docker Compose
Backend
- Navegue até a pasta
backend
:cd backend
- Crie e ative um ambiente virtual (recomendado):
python -m venv env-backend-cys source env-backend-cys/bin/activate
- Instale as dependências:
pip install -r requirements.txt
- Configure as variáveis de ambiente criando um arquivo
.env
na raiz da pastabackend
. - Inicie o servidor:
uvicorn main:app --reload
Frontend
- Navegue até a pasta
frontend
:cd frontend
- Instale as dependências:
npm install
- Inicie o servidor de desenvolvimento:
npm run dev
- Acesse a aplicação em
http://localhost:3000
.
5. Como Usar
Após iniciar os servidores do frontend e backend, acesse a interface web. Digite uma pergunta relacionada aos logs de segurança na caixa de chat (por exemplo, “Houve alguma tentativa de login mal-sucedida hoje?”) e pressione Enter. O sistema processará a pergunta, buscará os dados relevantes no Wazuh e exibirá a resposta em linguagem natural.
6. Problemas Conhecidos e Soluções
Conexão com tunnel falhou: Caso você não esteja conseguindo fazer a conexão com o tunnel na VM hospedada na azure, siga os seguintes passos:
1 - Verifique se o seu Zscaler está ativado, caso esteja e mesmo assim não consiga conectar desative. 2 - Navegue até o site meuip.com e pegue seu ip. 3 - Navegue até a VM > Network > Network Settings e procure a regra de entrada com o nome: AllowSSHInbound. 4 - Edite ela e adicione o seu ip ao final.