
Cyber Threat Intelligence (CTI) usando fontes e indicadores de ameaças nacionais, ou até globais, mas com evidencias ou indicadores nacionais do Brasil 🌎
The BRIntelcollector is a Cyber Threat Intelligence (CTI) tool focused on Brazilian national threat indicators. The tool allows searching and consolidating information about cyber threats through multiple intelligence sources, facilitating the creation of a centralized database for security analysis.
Currently, the tool integrates two main intelligence sources:
You need to obtain API keys from the following platforms:
Important: The IBM key must be in the format key:password encoded in Base64.
pip3 install BRIntel1
Create a .env file with your credentials:
echo "OTX_KEY = '<sua chave>'" > .env
echo "IBM_KEY = '<sua chave + senha em base64>'" >> .env
Example of encoding the IBM key:
echo -n "sua_chave:sua_senha" | base64
from BRIntel import allSources
# Returns a list of dictionaries containing all data from the sources
resultados = allSources("Search term")
from BRIntel import default
# Returns a list of dictionaries in a standardized format
resultados = default("Search term")
The default() function returns data in the following format:
from BRIntel import xfe
# Search in XFE (returns STIX 2.1 format)
resultados_xfe = xfe.search("Search term")
# Display in default format
xfe.show(resultados_xfe[0])
# Get full details of a specific report
detalhes = xfe.details(resultados_xfe[0]["id"])
from BRIntel import otx
# Search in OTX (returns open OTX pulse format)
resultados_otx = otx.search("Search term")
# Display in default format
otx.show(resultados_otx[0])
# Get full details of a specific pulse
detalhes = otx.details(resultados_otx[0]["id"])
from BRIntel import default
# Search for a suspicious domain
resultados = default("exemplo.com.br")
for resultado in resultados:
print(f"Title: {resultado['title']}")
print(f"Author: {resultado['author']}")
print(f"TLP: {resultado['tlp']}")
print(f"URL: {resultado['url']}")
print("-" * 50)
from BRIntel import otx, xfe
# Search in both sources
resultados_otx = otx.search("malware Brasil")
resultados_xfe = xfe.search("malware Brasil")
# Get details of the first result from each source
if resultados_otx:
detalhes_otx = otx.details(resultados_otx[0]["id"])
print("OTX details:", detalhes_otx)
if resultados_xfe:
detalhes_xfe = xfe.details(resultados_xfe[0]["id"])
print("XFE details:", detalhes_xfe)
from BRIntel import allSources
# Search all sources with full data
todas_fontes = allSources("phishing")
print(f"Total results found: {len(todas_fontes)}")
for item in todas_fontes:
print(f"Source: {item.get('fonte', 'N/A')}")
print(f"Title: {item.get('title', 'N/A')}")
The tool uses the TLP standard for information sharing classification:
More information: https://www.gov.br/cisc/pt-br/tlp
To contribute to the project, visit the repository on GitHub: https://github.com/devfoundsec/BRIntelcollector
To report bugs or request features, open an issue on the project's GitHub.
Developed by: devfoundsec
Repository: https://github.com/devfoundsec/BRIntelcollector
| Field | Description |
|---|
title | Title of the pulse/report |
description | Detailed description of the pulse/report |
author | Author name |
created | Creation date |
Modified | Last modification date |
tlp | Traffic Light Protocol (sharing classification) |
url | URL of the pulse/report |