Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
detecttrace — Ferramenta open-source de engenharia de detecção que rastreia detecções de segurança de ponta a ponta e identifica o primeiro estágio com falha. | Kitploit
Ferramentas/GitHubGitHub/g0dse11/detecttrace
Ferramentas DefensivasAnálise de VulnerabilidadesScripting e AutomaçãoDevSecOpsUtilitários e FrameworksDetecção de IntrusãoResposta a IncidentesAnálise de Logs
GitHubg0dse11/detecttrace

detecttrace

Ferramenta open-source de engenharia de detecção que rastreia detecções de segurança de ponta a ponta e identifica o primeiro estágio com falha.

113há 1 diaAinda 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 →
Ver Repositório
Compartilhar

DetectTrace

Uma detecção deveria ter disparado. Não disparou. O DetectTrace diz exatamente por quê.

DetectTrace é uma ferramenta open-source de engenharia de detecção para testar detecções de segurança de ponta a ponta e localizar o primeiro estágio com falha.

Em vez de testar apenas uma consulta SIEM, o DetectTrace trata uma detecção como um pipeline:

test behaviour
    -> telemetry
    -> ingestion
    -> normalization/schema
    -> rule evaluation
    -> rule execution
    -> alert generation

Um DetectSpec declara o que deveria acontecer. O DetectTrace reúne evidências do que realmente aconteceu, avalia o contrato, interrompe o raciocínio causal no primeiro estágio de falha comprovada e marca os estágios dependentes a jusante como BLOCKED.

O backend ativo atual é o Elastic Security. O DetectTrace também inclui um modo determinístico baseado em arquivos para desenvolvimento local e testes de regressão.

Por que o DetectTrace existe

Falhas de detecção são frequentemente diagnosticadas manualmente:

  • O teste realmente foi executado?
  • A telemetria foi gerada?
  • Ela chegou ao backend?
  • Algum campo foi renomeado ou descartado?
  • A regra ainda corresponde?
  • A regra está desabilitada ou não saudável?
  • O alerta apareceu, e ele pertencia a esta execução de teste exata?

O DetectTrace transforma essas perguntas em verificações executáveis e evidências.

Exemplo de falha:

Test event                 PASS
Backend connection         PASS
Telemetry index            PASS
Telemetry located          PASS
Normalization              FAIL
Rule                       BLOCKED
Elastic rule exists        BLOCKED
Elastic rule enabled       BLOCKED
Rule execution             BLOCKED
Elastic alert              BLOCKED

RESULT
------------------------------------------------------------------------
Required field 'process.command_line' is absent, but the value from
'winlog.event_data.CommandLine' survived at 'process.args'.
Probable schema/mapping drift.

Confidence: HIGH
First failing stage: NORMALIZATION
Failure code: SCHEMA_DRIFT

A parte importante não é apenas que a detecção falhou. O DetectTrace explica onde o caminho de detecção se tornou inválido pela primeira vez e por quê.

O que o DetectTrace atualmente suporta

  • Validação do DetectSpec v1
  • traces offline determinísticos a partir de evidências JSON/JSONL
  • DSL de predicados declarativa e segura; sem execução arbitrária de Python ou shell
  • verificações de campos aninhados
  • dicas de linhagem de campos para provável desvio de schema/mapeamento
  • semântica de estágios PASS / FAIL / BLOCKED / UNKNOWN / SKIPPED
  • diagnósticos do primeiro estágio com falha
  • códigos de falha estáveis e texto de remediação
  • testes correlacionados do Elastic Security usando um detecttrace.run_id único
  • verificações reais de existência/habilitação/execução de regras do Elastic
  • verificação correlacionada de alertas do Elastic
  • medição de latência de alertas
  • TLS seguro do Elasticsearch com uma CA configurada
  • verificações de ambiente com detecttrace doctor
  • saída em texto, JSON e compatível com JUnit
  • testes de regressão e CI com GitHub Actions
  • laboratório local reproduzível de Elasticsearch + Kibana

O que o DetectTrace não é

O DetectTrace não é:

  • uma plataforma de simulação de ataques
  • um substituto de BAS
  • um editor de regras SIEM
  • um scanner genérico de vulnerabilidades
  • um sistema de IA que adivinha se uma detecção funcionou

A execução de ataques/testes pode ser integrada posteriormente. O trabalho do DetectTrace é verificar o caminho de detecção e diagnosticar falhas a partir das evidências observadas.

Requisitos

  • Python 3.10+
  • Docker com Compose v2 apenas se você quiser executar o laboratório Elastic fornecido

A suíte de CI atualmente testa Python 3.10, 3.11, 3.12 e 3.13.

Início rápido offline em cinco minutos

Clone o repositório, crie um ambiente virtual e instale o DetectTrace.

Windows PowerShell

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e .

Linux/macOS

python -m venv .venv
source .venv/bin/activate
python -m pip install -e .

Verifique a instalação:

detecttrace --version

Crie um projeto inicial executável:

detecttrace init demo

Em seguida:

cd demo
detecttrace validate detectspec.yaml
detecttrace test detectspec.yaml

O projeto gerado é autocontido. Ele não requer Elasticsearch, Kibana, Docker ou acesso à rede.

Uma execução saudável termina com:

Detection contract passed end-to-end.
Confidence: HIGH

Exemplos offline saudáveis e quebrados

O repositório inclui um fixture PowerShell com evidências conhecidamente boas e deliberadamente quebradas.

Saudável:

detecttrace test examples/powershell/detectspec.yaml --profile healthy

Quebrado:

detecttrace test examples/powershell/detectspec.yaml --profile broken

O perfil quebrado preserva deliberadamente a linha de comando original em process.args em vez do process.command_line exigido. O DetectTrace localiza essa falha na normalização e bloqueia a avaliação de regra/alerta.

DetectSpec

O DetectSpec é o contrato declarativo. O DetectTrace é o motor que avalia esse contrato em relação às evidências.

Um DetectSpec pode descrever:

  1. evidência de execução
  2. telemetria de origem
  3. evidência de coleta
  4. requisitos de normalização
  5. semântica de regras
  6. expectativas e tempo de alerta
  7. casos de teste ao vivo correlacionados

Exemplo:

spec_version: detectspec/v1
id: DET-PS-LIVE-001
title: Live Encoded PowerShell

inputs:
  profiles:
    live: {}

test:
  cases:
    healthy:
      event:
        event:
          code: 1
        process:
          name: powershell.exe
          command_line: powershell.exe -enc AAA

    broken:
      event:
        event:
          code: 1
        winlog:
          event_data:
            CommandLine: powershell.exe -enc AAA
        process:
          name: powershell.exe
          args: powershell.exe -enc AAA

checkpoints:
  normalization:
    require_event:
      all:
        - field: process.name
          op: endswith
          value: powershell.exe
    required_fields:
      - field: process.command_line
        from: winlog.event_data.CommandLine

  rule:
    match:
      all:
        - field: process.name
          op: endswith
          value: powershell.exe
        - field: process.command_line
          op: regex
          value: "(?i)(?:\\s|^)-(?:enc|encodedcommand)\\b"

O JSON Schema está em:

schemas/detectspec-v1.schema.json

O validador de runtime e o JSON Schema são intencionalmente estritos quanto a estrutura desconhecida do DetectSpec, para que erros de digitação falhem cedo.

DSL de predicados

Predicados folha usam:

field: process.name
op: equals
value: powershell.exe

Os operadores suportados incluem:

exists
equals
not_equals
contains
startswith
endswith
regex
in
gt
gte
lt
lte

Predicados podem ser compostos com all, any e not.

Exemplo:

all:
  - field: process.name
    op: endswith
    value: powershell.exe
  - any:
      - field: process.command_line
        op: contains
        value: "-enc"
      - field: process.command_line
        op: contains
        value: "-EncodedCommand"

Semântica do primeiro estágio com falha

O DetectTrace segue uma regra simples:

Evidência antes de inferência. O primeiro estágio com falha vence.

Se a normalização falhar, o DetectTrace não finge saber se uma regra ou alerta a jusante teria tido sucesso. Esses estágios são reportados como BLOCKED.

Se a evidência estiver indisponível em vez de refutada, o DetectTrace reporta UNKNOWN em vez de adivinhar.

O schema de resultado estável e legível por máquina é:

detecttrace.result/v1

Campos importantes incluem:

Baixar ferramenta