O BRIntelcollector é uma ferramenta de Cyber Threat Intelligence (CTI) focada em indicadores de ameaças nacionais do Brasil. A ferramenta permite pesquisar e consolidar informações sobre ameaças cibernéticas através de múltiplas fontes de inteligência, facilitando a criação de um banco de dados centralizado para análise de segurança.
- Coletar indicadores de ameaças nacionais brasileiras
- Integrar múltiplas fontes de CTI em uma única interface
- Facilitar pesquisas e identificação de ameaças
- Auxiliar organizações na busca por possíveis ameaças relevantes
Atualmente, a ferramenta integra duas principais fontes de inteligência:
- OTX (Open Threat Exchange) - AlienVault
- XFE (X-Force Exchange) - IBM
- Python 3+
- pip (correspondente à versão do Python)
É necessário obter chaves de API das seguintes plataformas:
- Open Threat Exchange (OTX): https://otx.alienvault.com
- IBM X-Force Exchange: https://exchange.xforce.ibmcloud.com
Importante: A chave da IBM deve estar no formato chave:senha codificado em Base64.
pip3 install BRIntel1Crie um arquivo .env com suas credenciais:
echo "OTX_KEY = '<sua chave>'" > .env
echo "IBM_KEY = '<sua chave + senha em base64>'" >> .envExemplo de codificação da chave IBM:
echo -n "sua_chave:sua_senha" | base64from BRIntel import allSources
# Retorna uma lista com dicionários contendo todos os dados das fontes
resultados = allSources("Termo de busca")from BRIntel import default
# Retorna uma lista com dicionários em formato padronizado
resultados = default("Termo de busca")A função default() retorna os dados no seguinte formato:
| Campo | Descrição |
|---|---|
title |
Título do pulse/relatório |
description |
Descrição detalhada do pulse/relatório |
author |
Nome do autor |
created |
Data de criação |
Modified |
Data da última modificação |
tlp |
Traffic Light Protocol (classificação de compartilhamento) |
url |
URL do pulse/relatório |
from BRIntel import xfe
# Busca no XFE (retorna formato STIX 2.1)
resultados_xfe = xfe.search("Termo de busca")
# Exibir em formato padrão
xfe.show(resultados_xfe[0])
# Obter detalhes completos de um relatório específico
detalhes = xfe.details(resultados_xfe[0]["id"])from BRIntel import otx
# Busca no OTX (retorna formato aberto de pulse OTX)
resultados_otx = otx.search("Termo de busca")
# Exibir em formato padrão
otx.show(resultados_otx[0])
# Obter detalhes completos de um pulse específico
detalhes = otx.details(resultados_otx[0]["id"])from BRIntel import default
# Buscar por um domínio suspeito
resultados = default("exemplo.com.br")
for resultado in resultados:
print(f"Título: {resultado['title']}")
print(f"Autor: {resultado['author']}")
print(f"TLP: {resultado['tlp']}")
print(f"URL: {resultado['url']}")
print("-" * 50)from BRIntel import otx, xfe
# Buscar em ambas as fontes
resultados_otx = otx.search("malware Brasil")
resultados_xfe = xfe.search("malware Brasil")
# Obter detalhes do primeiro resultado de cada fonte
if resultados_otx:
detalhes_otx = otx.details(resultados_otx[0]["id"])
print("Detalhes OTX:", detalhes_otx)
if resultados_xfe:
detalhes_xfe = xfe.details(resultados_xfe[0]["id"])
print("Detalhes XFE:", detalhes_xfe)from BRIntel import allSources
# Buscar em todas as fontes com dados completos
todas_fontes = allSources("phishing")
print(f"Total de resultados encontrados: {len(todas_fontes)}")
for item in todas_fontes:
print(f"Fonte: {item.get('fonte', 'N/A')}")
print(f"Título: {item.get('title', 'N/A')}")A ferramenta utiliza o padrão TLP para classificação de compartilhamento de informações:
- TLP:RED - Informação restrita, não compartilhar
- TLP:AMBER - Compartilhamento limitado
- TLP:GREEN - Compartilhamento dentro da comunidade
- TLP:WHITE - Compartilhamento público ilimitado
Mais informações: https://www.gov.br/cisc/pt-br/tlp
- OTX: Retorna dados no formato aberto de pulse do OTX
- XFE: Retorna dados no formato STIX 2.1
- Análise de Ameaças: Identificar campanhas maliciosas direcionadas ao Brasil
- Investigação de Incidentes: Correlacionar indicadores com ameaças conhecidas
- Threat Hunting: Buscar proativamente por indicadores de comprometimento
- Enriquecimento de IOCs: Adicionar contexto a indicadores coletados
- Relatórios de Inteligência: Consolidar informações para relatórios executivos
- Gestão de Credenciais: Nunca compartilhe ou commite suas chaves de API
- Rate Limiting: Respeite os limites de requisições das APIs
- Validação de Dados: Sempre valide e contextualize os resultados obtidos
- Atualização Regular: Mantenha a biblioteca atualizada para novos recursos
- Documentação TLP: Respeite as classificações TLP dos relatórios
- Dependência de APIs externas (requer conectividade e credenciais válidas)
- Limitado às fontes OTX e XFE atualmente
- Sujeito aos limites de taxa das APIs utilizadas
Para contribuir com o projeto, visite o repositório no GitHub: https://github.com/devfoundsec/BRIntelcollector
Para reportar bugs ou solicitar recursos, abra uma issue no GitHub do projeto.
Desenvolvido por: devfoundsec
Repositório: https://github.com/devfoundsec/BRIntelcollector