Multi-pattern Match

v0.1.0Adicionado em 26 de set. de 2026Dados de exemplo

Busca Aho–Corasick de milhares de padrões em uma única passada, para varrer logs e payloads em busca de indicadores de comprometimento.

Dados de exemplo. Estes valores são provisórios, não medições.

cargo install kura-rs
kura add multi-pattern-match

Copia o arquivo de código-fonte para o seu projeto. A partir daí, o código é seu.

Se outra ferramenta já instala um comando kura, execute cargo install kura-rs --bin kura-rs e use kura-rs add no lugar.

use crate::parts::multi_pattern_match::Matcher;

let matcher = Matcher::new(&iocs);

for hit in matcher.find_all(&payload) {
    alert(hit.pattern, hit.offset);
}

Verificação

Dados de exemplo

Verificado com pyahocorasick 2.1.0 (Python). Método: Teste diferencial. As mesmas entradas são enviadas às duas implementações e as saídas são comparadas.

Referência
pyahocorasick
Python 2.1.0
Casos de teste
3.000
Teste diferencial
Aprovados
2.997 / 3.000
3 divergentes
Última execução
26 de set. de 2026
UTC

Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.

Benchmarks

Dados de exemplo

kura-rs (Rust) comparado com pyahocorasick em vários tamanhos de entrada. Mais rápido em todos os tamanhos de entrada medidos, até 5.0× mais rápido.

Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.

kura-rs (Rust)pyahocorasick
Tempo real por execução (menor é melhor).
Mostrar tabela de dados
Tamanho da entradakura-rs (Rust)pyahocorasickAceleração
1.0000,02 ms0,05 ms2.5×
10.0000,14 ms0,52 ms3.7×
100.0001,3 ms5,8 ms4.5×
1.000.00013 ms61 ms4.7×
10.000.000128 ms640 ms5.0×

Arquivos

  • parts/multi_pattern_match/mod.rs

Dependências (crates)