Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitLabGitLab/jazbengu/threatdetect
Aprendizado de MáquinaDetecção de Anomalias
GitLabjazbengu/threatdetect

ThreatDetect

Protótipo de detecção de ameaças internas baseado em Streamlit usando XGBoost e Isolation Forest para analisar dados de atividade de funcionários, gerar resumos de risco e fornecer explicações por funcionário baseadas em SHAP.

Ver RepositórioSite
há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ThreatDetect

O ThreatDetect é um protótipo de detecção de ameaças internas baseado em Streamlit que analisa dados de atividade de funcionários e sinaliza comportamentos potencialmente arriscados. Ele utiliza um classificador XGBoost treinado juntamente com um detector de anomalias Isolation Forest para produzir resumos de risco a nível organizacional e insights explicáveis a nível de funcionário.

Demonstração

A aplicação pode ser executada localmente usando Streamlit. Uma demo implantada foi publicada anteriormente em:

  • https://threatdetectcos720.streamlit.app/

Principais Recursos

  • Detecção de risco em lote a partir de um arquivo CSV enviado
  • Resumo organizacional de ameaças com contagens, distribuição de probabilidade e níveis de risco
  • Explicabilidade por funcionário usando valores SHAP
  • Análise Exploratória de Dados (EDA) para conjuntos de dados enviados ou amostra
  • Exportação de resultados de previsão em CSV
  • Visualizações para importância de features, distribuição de risco e detecção de anomalias

Estrutura do Repositório

  • streamlit_app.py — aplicação principal em Streamlit
  • requirements.txt — dependências de pacotes Python
  • AI_Model_Code/insider_threat_model.pkl — pipeline de inferência salvo e artefatos do modelo treinado
  • AI_Model_Code/insider_threat_clean_dataset.csv — conjunto de dados de amostra incluído para EDA
  • AI_Model_Code/cos720_ai_model_FINAL.ipynb — caderno de desenvolvimento do modelo
  • assets/app_styling.css — estilo personalizado da interface para a aplicação Streamlit
  • unit testing/ — arquivos de teste para preparação de features e lógica de explicação
  • docs/TECHNICAL_DOCUMENTATION.md — documentação técnica do projeto

Requisitos de Software

  • Python 3.8 ou posterior
  • streamlit
  • pandas
  • numpy
  • scikit-learn
  • matplotlib
  • seaborn
  • plotly
  • xgboost
  • shap

Instale todas as dependências com:

root@kitploit:~
pip install -r requirements.txt

Instalação

  1. Clone o repositório:
root@kitploit:~
git clone https://github.com/jazbengu/ThreatDetect.git
cd ThreatDetect
  1. Crie e ative um ambiente virtual (recomendado):
root@kitploit:~
python3 -m venv venv
source venv/bin/activate
  1. Instale as dependências:
root@kitploit:~
pip install -r requirements.txt

Executando a Aplicação

Inicie a aplicação com:

root@kitploit:~
streamlit run streamlit_app.py

Em seguida, abra o URL local exibido no terminal (geralmente http://localhost:8501).

Usando o ThreatDetect

Pesquisa Organizacional via CSV

  • Envie um arquivo CSV contendo features de funcionários e atividades.
  • Clique em Run Threat Detection para calcular as probabilidades de risco para cada registro.
  • A aplicação mostra um resumo das previsões gerais de malicioso vs normal, distribuição de probabilidade de risco e importância das features.
  • Você pode expandir a tabela de resultados detalhados e baixar a saída como CSV.
  • Use a seção de explicação por registro para inspecionar por que um funcionário específico foi sinalizado.

Análise Exploratória de Dados

  • Envie seu próprio CSV ou use o conjunto de dados de amostra incluído em AI_Model_Code/insider_threat_clean_dataset.csv.
  • A página exibe a forma do conjunto de dados, estatísticas descritivas, informações de valores ausentes e gráficos de features.
  • Colunas numéricas podem ser exploradas com histogramas, boxplots, relações de dispersão e mapas de calor de correlação.
  • Uma varredura rápida de anomalias com Isolation Forest pode destacar registros incomuns.

Páginas da Barra Lateral

  • Organisational Search via CSV é o principal fluxo de trabalho de detecção de ameaças em lote.
  • Single Search é exibido na barra lateral, mas atualmente não está implementado na lógica da aplicação.
  • Exploratory Data Analysis está disponível para exploração do conjunto de dados e verificações rápidas de anomalias.

Artefatos do Modelo

AI_Model_Code/insider_threat_model.pkl contém um pacote de modelo serializado com:

  • xgb_model: classificador XGBoost treinado
  • iso_forest: detector de anomalias Isolation Forest treinado
  • scaler: StandardScaler para entradas numéricas
  • label_encoders: codificadores para features categóricas
  • feature_columns: lista ordenada de features
  • cat_cols, num_cols, bin_cols: agrupamentos de features
  • best_threshold: limiar de classificação usado para decisões de risco
  • shap_explainer: explicador SHAP para explicabilidade

O arquivo do modelo é carregado por streamlit_app.py e usado para pré-processar entradas, calcular probabilidades de risco e gerar explicações.

Testes

O repositório inclui testes na pasta unit testing/.

Execute a suíte de testes com:

root@kitploit:~
pytest "unit testing/"

Notas e Solução de Problemas

  • Se o Streamlit falhar ao iniciar, certifique-se de que seu ambiente virtual está ativo e as dependências estão instaladas.
  • Se a aplicação relatar colunas obrigatórias ausentes, verifique se o CSV enviado inclui os campos esperados de funcionário e atividade.
  • O arquivo do modelo foi serializado com versões mais antigas do scikit-learn; portanto, o carregamento pode gerar avisos de compatibilidade se seu ambiente usar versões mais novas.
  • Se o conjunto de dados de amostra embutido não estiver disponível, envie seu próprio CSV para continuar usando a página de EDA.

Contribuição

Este repositório está configurado para aprimoramento e testes. Melhorias futuras podem incluir expansão da cobertura de features e retreinamento do modelo com dados adicionais de ameaças internas.

Baixar ferramenta