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
aimp — Um protocolo de rede sem servidor projetado para sincronização de estado resiliente entre agentes autônomos em redes fragmentadas e de baixa largura de banda | Kitploit
Ferramentas/GitHubGitHub/fabriziosalmi/aimp
Segurança de Sistemas EmbarcadosSegurança IoTSegurança de RedeCriptografiaSegurança de HardwareInteligência de AmeaçasAprendizado de MáquinaPapers e PesquisaAprendizado e Educação
GitHubfabriziosalmi/aimp

aimp

Um protocolo de rede sem servidor projetado para sincronização de estado resiliente entre agentes autônomos em redes fragmentadas e de baixa largura de banda

51há 8 diasAinda 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
Ver RepositórioSite

AIMP — AI Mesh Protocol

CI License: MIT Rust ResearchGate ResearchHub

Um protocolo de rede experimental e sem servidor para sincronização resiliente de estado entre agentes autónomos em redes fragmentadas e de baixa largura de banda. Construído sobre Merkle-CRDTs e identidade criptográfica — sem autoridade central, sem DNS global, sempre escrevível.


Artigos

#VersãoTítuloLink
1v0.1.0Protocolo Merkle-CRDT (L1/L2)ResearchGate
2v0.2.0Camada Epistémica (L3)ResearchGate
3v0.3.0Agregação Sensível à Correlação (L3)ResearchGate
4v0.4.0Topologias Semânticas Determinísticas (L3)ResearchGate

Perfis do autor: ResearchGate · ResearchHub


Pilha de Protocolo


Novidades

v0.4.0 — Topologias Semânticas Determinísticas

A L3 v0.3.0 exigia que as aplicações construíssem manualmente o grafo de conhecimento (arestas de Suporta/Contradiz). A v0.4.0 elimina este gargalo com geração autónoma de arestas:

  • As afirmações carregam um QuantizedEmbedding([u64; 4]) opcional — um SimHash de 256 bits calculado no lado da aplicação a partir de um modelo de incorporação canónico.
  • A cada limite de época, o protocolo calcula distâncias de Hamming aos pares (XOR + popcount, ~1 ns por par) e emite arestas de Suporte para pares próximos (d <= 30 bits) e arestas de Contradição para pares distantes (d >= 200 bits).
  • A força da aresta escala linearmente com a distância em pontos base (d=0 → 10000 bps, d=30 → 1000 bps).
  • Um limite max_k_nearest limita a densidade de arestas a O(N), evitando a explosão da propagação de confiança.
  • embedding_version: u32 isola espaços latentes disjuntos para atualizações de modelo ao nível do protocolo.
  • As auto-arestas são materializadas via gossip L2, sobrevivendo à GC via Roteamento Holográfico.
  • Zona morta (31-199 bits) abandona afirmações ambíguas — isolamento epistemologicamente correto.
root@kitploit:~
// Descoberta autónoma da verdade: 10.000 afirmações → digitalização de 50 ms, arestas O(N)
// Sem floats. Sem coordenação. Sem autoridade central.
let edges = auto_edge_generator.generate_edges(&epoch_claims);

v0.3.0 — Agregação de Crenças Sensível à Correlação

A L3 v0.2.0 assume que todas as fontes de evidência são estatisticamente independentes (Naive Bayes). Isto produz hiperconfiança patológica quando sensores fisicamente correlacionados (ex.: 100 dispositivos IoT no mesmo telhado) ou agentes semanticamente correlacionados (ex.: LLMs ajustados no mesmo conjunto de dados) reportam observações concordantes.

A v0.3.0 introduz Desconto de Correlação por Célula de Grelha:

  • Cada afirmação carrega um CorrelationCell(u64) opcional — uma coordenada discreta para proximidade espacial, semântica ou temporal.
  • Dentro de cada célula, a evidência é classificada por força e descontada geometricamente: a fonte mais forte retém 100% do peso; cada fonte subsequente recebe discount_bps^rank / 10000^rank (padrão 30%).
  • Com desconto de 30%, N sensores correlacionados convergem para ~1.42x a evidência de um único sensor — independentemente de N. A abordagem ingénua produziria amplificação Nx.
  • O desafio de associatividade do CRDT (decadência geométrica não é associativa entre mesclagens parciais) é resolvido arquitetonicamente: a redução de época agrupa por (temporal_grid, fingerprint, correlation_cell), garantindo computação atómica no conjunto completo.
  • Afirmações com correlation_cell: None comportam-se de forma idêntica à v0.2.0 (regressão zero).
  • Toda a aritmética é inteira (i32/i64, pontos base). Sem floats. Pronto para ZK.
root@kitploit:~
// 100 sensores co-localizados, 70% de confiança cada:
// v0.2.0 (ingénuo):  100 × 847 = 84.700 mili-log-odds → ~100% (hiperconfiante)
// v0.3.0 (30%):    847 × Σ(0.3^i) ≈ 1.207 mili-log-odds → ~77% (realista)

Arquitetura

root@kitploit:~
aimp_node/          Implementação de referência em Rust (membro do workspace Cargo)
  src/
    crdt/           Motor Merkle-DAG, modelo de ator, alocador arena, consenso de quórum
    crypto/         Identidade Ed25519, hash BLAKE3, firewall de confiança zero
    network/        Gossip UDP, sessões Noise Protocol XX, limitação de taxa por par
    protocol/       Formato de fio (MessagePack), enum de payloads tipadas
    epistemic.rs    Camada Epistémica L3 (v0.3.0): log-odds, propagação de confiança, desconto de correlação
    semantic_topology.rs  Topologia Semântica L3 (v0.4.0): Embeddings SimHash, geração automática de arestas
    decision_engine.rs  Motor de decisão determinístico plugável (trait + motor de regras + recarga a quente)
    error.rs        Hierarquia unificada de tipos AimpError
    dashboard/      TUI Ratatui
    config.rs       Configuração dinâmica com validação
    event/          Registro estruturado + métricas Prometheus (contadores + histogramas)
  tests/            Testes de integração
  benches/         Benchmarks Criterion
aimp_testbed/       SDK Python (aimp-client) + ferramenta CLI + testes de caos
deploy/             Serviço Systemd, microVM Firecracker, script de instalação
formal/             Especificação TLA+ de convergência + segurança de quórum + convergência de crenças
docs/               Artigo 1 (fonte Typst + PDF)
v0.2.0/             Artigo 2: Camada Epistémica (fonte Typst + PDF)
v0.3.0/             Artigo 3: Agregação Sensível à Correlação (fonte Typst + PDF)

Vantagens Estratégicas


Características Principais

Motor Principal (v0.1.0)

  • Modelo de Ator com CRDT de estado zero compartilhado via tokio::mpsc
  • Alocação Slab/Arena com inserção O(1) e layout SoA
  • Persistência durável via redb com encriptação ChaCha20Poly1305 em repouso
  • Derivação de chave HKDF-SHA256 com separação de domínios
  • Raiz Merkle em cache com invalidação na escrita
  • GC real de marcação e varredura com recuperação de memória slab
  • Rastreamento de GC baseado em épocas integrado ao ator CRDT

Camada Epistémica (v0.2.0 — v0.4.0)

  • Aritmética de log-odds inteiros (i32, mili-log-odds) — sem floats, 100% determinística
  • Propagação de confiança Markoviana em duas passagens (Suportes → Contradições, sem oscilação)
  • Reputação resistente a Sybil: novos nós começam em 0, delegação necessária, gasto de reputação
  • Redução de época alinhada à grelha com compactação materializada (Resumos sobrevivem à GC)
  • Deteção de ciclos (DFS ordenada) evita loops de inflação de confiança
  • v0.3.0: Agregação sensível à correlação — desconto geométrico para sensores/LLMs co-localizados
  • v0.3.0: Redução atómica de células — agrupamento por (época, fingerprint, célula) para segurança CRDT
  • v0.4.0: Topologias semânticas determinísticas — Embeddings SimHash, geração autónoma de arestas
  • 98-142x mais rápido que Lógica Subjetiva / Dempster-Shafer (bit-identical entre arquiteturas)

Rede e Segurança

  • Sessões encriptadas Noise Protocol XX (ativadas por padrão)
  • Limitação de taxa por par com token bucket (aritmética inteira)
  • Deduplicação de gossip O(1) via HashSet + VecDeque
  • Deteção de ataques de replay TTL com disjuntor
  • Evicção LRU de sessões (TTL + contagem máxima)
  • Negociação de intervalo de versão do protocolo para atualizações contínuas

Motor de Decisão e Consenso

  • Trait DecisionEngine plugável com implementação RuleEngine
  • Regras recarregáveis a quente a partir de aimp_rules.json (sem necessidade de reinício)
  • Votação de quórum BFT com decisões verificadas e persistentes
  • Enum de Payload tipada por opcode (segurança em tempo de compilação)

Observabilidade

  • Contadores, gauges e histogramas de latência Prometheus
  • Endpoint /health composto com subverificações e códigos de estado HTTP
  • Registo estruturado SystemEvent com painel TUI

Operações

  • Hierarquia unificada de tipos AimpError (sem mais Box<dyn Error>)
  • Validação de configuração (rejeita combinações de parâmetros inválidas)
  • Encerramento gracioso com timeout de 5 segundos
  • Ficheiro de serviço Systemd endurecido
  • CI/CD: lint, teste, auditoria de segurança, docs, lançamentos cross-compilados

Benchmarks

Medidos com Criterion em Apple Silicon (série M), single-threaded, modo fast-crypto:

A Nível de Sistema

Cluster simulado de 5 nós com sincronização anti-entropia (in-process, Apple Silicon):

Degradação de Rede (simulação netem)

Convergência sob perda de pacotes, latência e partições simuladas (5 nós, 50 mutações/nó):

O AIMP converge até ~80% de perda de pacotes dentro de algumas rondas de anti-entropia, degradando-se graciosamente.

Multi-Plataforma (ARM64 com recursos limitados)

Docker ARM64 Linux com limites de recursos ao nível de RPi:

Mesmo em hardware classe RPi Zero, a taxa de transferência é 3 ordens de grandeza acima do limite de taxa.

Comparação com Automerge v0.7

Mesmo hardware, mesmas operações, single-threaded, target-cpu=native:

O AIMP com ring supera o Automerge por 1.37x em mutações (com Ed25519 por escrita) e 2.4x em mesclagem. O Yrs é o mais rápido em mutação (sem criptografia), mas a mesclagem do AIMP está dentro de 26% do Yrs.

root@kitploit:~
# Ativar backend ring para máxima taxa de transferência
RUSTFLAGS="-C target-cpu=native" cargo run --release --features fast-crypto,fast-alloc

Execute benchmarks localmente:

root@kitploit:~
cargo bench --manifest-path aimp_node/Cargo.toml             # Micro-benchmarks
cargo run --release -p aimp_node --example bench_convergence  # Benchmarks de sistema
cargo run --release -p aimp_node --example bench_netem        # Degradação de rede
docker build -f Dockerfile.bench -t aimp-bench . && \
  docker run --rm --memory=1g --cpus=1 aimp-bench             # ARM64 com recursos limitados

Verificação Formal (TLA+)

L2 — Convergência CRDT

PropriedadeDescrição

O TLC explorou 46.063 estados (9.558 distintos) até profundidade 16 em <1 segundo com 10 trabalhadores paralelos e zero violações. Erros encontrados: 2 erros de correção (cabeçalhos fora de ordem, dupla votação no quórum). Ambos corrigidos.

L3 — Convergência de Crenças

PropriedadeDescrição

Verificação exaustiva limitada: 199.902 configurações (5 propriedades, até N=6 nós). Erros encontrados: 1 erro na fórmula de propagação de confiança (t_{k+1} = t_k + At_k vs correto t_{k+1} = t_0 + At_k). Corrigido.


Início Rápido

1. Executar o Nó

root@kitploit:~
cargo run -- --port 1337 --name node1

2. CLI Python

root@kitploit:~
cd aimp_testbed
pip install -e .
aimp-cli health --target 127.0.0.1 --metrics-port 9090
aimp-cli infer "Check valve pressure in sector north"

3. Executar Testes e Benchmarks

root@kitploit:~
make test                     # Testes baseados em propriedades + integração
make bench                    # Benchmarks Criterion
make lint                     # Formatação + clippy
make docs                     # Gerar rustdoc

Implantação na Borda

O AIMP foi projetado para ser executado como um único binário estático com zero dependências em tempo de execução. Sem Docker, sem runtime de contentor, sem JVM.

Implantação Rápida (bare metal)

root@kitploit:~
# Descarregue o binário para a sua arquitetura
curl -LO https://github.com/fabriziosalmi/aimp/releases/latest/download/aimp_node-aarch64-linux
chmod +x aimp_node-aarch64-linux

# Instale como serviço systemd
sudo deploy/install.sh ./aimp_node-aarch64-linux

# Iniciar
sudo systemctl start aimp-node
curl localhost:9090/health

Cross-Compilar a partir do Código Fonte

root@kitploit:~
make install-cross-targets   # Uma vez: instalar alvos musl
make edge-arm64              # ARM64 (RPi 4/5, Jetson, Graviton)
make edge-armv7              # ARMv7 (RPi 2/3, PLCs industriais)
make edge-x86                # x86_64 (gateways de borda)
make edge-all                # Todos os três

MicroVM Firecracker (isolamento multi-inquilino)

Para gateways de borda a executar múltiplas cargas de trabalho não confiáveis:

root@kitploit:~
sudo make microvm-rootfs     # Constrói rootfs Alpine ~15MB com AIMP
firecracker --no-api --config-file deploy/firecracker/vm-config.json

Tempo de arranque: ~125ms. Memória: 64MB. vCPU: 1.

Serviço Systemd

O ficheiro de serviço incluído (deploy/systemd/aimp-node.service) fornece:


Configuração

A configuração é carregada de (maior prioridade primeiro):

  1. Argumentos CLI (--port, --name)
  2. Variáveis de ambiente (AIMP_PORT, AIMP_NOISE_REQUIRED, AIMP_PEER_RATE_LIMIT, ...)
  3. Ficheiro aimp.toml (opcional)
  4. Valores predefinidos

Fluxo de Dados

root@kitploit:~
graph TD
    UDP[UDP Socket] -->|Envelope| RL[Rate Limiter]
    RL -->|Allowed| NP[Noise Protocol]
    NP -->|Decrypt| FW[Security Firewall]
    FW -->|Valid| BP[Backpressure Semaphore]
    BP -->|Permit| Parser[Protocol Parser]
    Parser -->|AimpData| CRDT[CRDT Actor]
    CRDT -->|Mutation| DAG[Merkle-DAG + redb]
    DAG -->|Prune| GC[Epoch GC]
    CRDT -->|Evaluation Req| DE[Decision Engine]
    DE -->|Decision + Evidence| CRDT
    CRDT -->|Quorum Vote| QM[QuorumManager]

Trabalhos Relacionados

O AIMP baseia-se em conceitos das seguintes áreas de investigação de sistemas distribuídos:

  • CRDTs — Shapiro et al., "A Comprehensive Study of Convergent and Commutative Replicated Data Types" (INRIA, 2011)
  • Merkle-CRDTs — Kleppmann & Howard, "Byzantine Eventual Consistency and the Fundamental Limits of Peer-to-Peer Databases" (2022)
  • Consenso BFT — Castro & Liskov, "Practical Byzantine Fault Tolerance" (OSDI, 1999)
  • Agregação Bayesiana — Jaynes, "Probability Theory: The Logic of Science" (2003); aritmética de log-odds para fusão de crenças
  • Redes de Confiança — Kamvar et al., "The EigenTrust Algorithm for Reputation Management in P2P Networks" (WWW, 2003)
  • Lógica Subjetiva — Jøsang, "Subjective Logic: A Formalism for Reasoning Under Uncertainty" (Springer, 2016)
  • Cópulas — Nelsen, "An Introduction to Copulas" (Springer, 2006); modelação de correlação para evidência dependente
  • Noise Protocol — Perrin, "The Noise Protocol Framework" (2018); usado via a crate snow para padrão de handshake XX
  • Protocolos de Gossip — Demers et al., "Epidemic Algorithms for Replicated Database Maintenance" (1987)
  • Árvores Merkle — Merkle, "A Digital Signature Based on a Conventional Encryption Function" (CRYPTO, 1987)
  • Relógios Vetoriais — Mattern, "Virtual Time and Global States of Distributed Systems" (1988)

Licença

MIT — Fabrizio Salmi, 2026.

Baixar ferramenta
CamadaVersãoObjetivo
L1/L2v0.1.0Merkle-DAG CRDT, assinatura Ed25519, transporte Noise Protocol, quórum BFT
L3v0.2.0Camada Epistémica: log-odds inteiros, propagação de confiança em duas passagens, reputação resistente a Sybil
L3v0.3.0Agregação Sensível à Correlação: desconto geométrico para sensores/LLMs correlacionados
L3v0.4.0Topologias Semânticas Determinísticas: geração autónoma de arestas via SimHash de 256 bits
CaracterísticaAIMP (Merkle-CRDT)Tradicional (Raft/Paxos)
TopologiaMalha P2P / DescentralizadaLíder / Quórum
DisponibilidadeAP (Sempre Escrevível)CP (Requer Maioria)
OrdenaçãoCausal (Relógios Vetoriais)Total (Sequencial)
IntegridadeCriptográfica (Merkle-DAG)Baseada em log
HardwareOtimizado para Edge/IoTNível de Data Center
OperaçãoTempoTaxa de Transferência
append_mutation (100 ops)41.8 µs~2.4M mutações/seg
get_merkle_root (em cache)4.8 nsO(1)
Hash BLAKE3 (1 KB)925 ns~1.08 GB/s
Ser / de MessagePack204 / 210 ns—
Assinatura Ed25519 (ring)9.3 µs~108K ops/seg
Verificação Ed2551925.0 µs~40K ops/seg
CenárioResultado
Taxa de Transferência (5 nós x 1000 mutações, com assinatura Ed25519)96.289 mutações/seg
Convergência (5 nós divergentes, 250 DAG cada)0.68 ms (1 ronda de sincronização)
Partição/Mesclagem (2 grupos, 30 mutações/grupo, mesclagem completa)0.21 ms
Caminho crítico criptográfico (assinar + verificar por mensagem)45.0 µs → 22K msg/seg máx
Orçamento criptográfico a rate_limit=50/seg0,23% de utilização
CondiçãoConvergiuRondas
Base (0% perda)SIM1
10% perda de pacotesSIM2
30% perda de pacotesSIM2
50% perda de pacotesSIM2
20% perda + 100ms latência + 30ms jitterSIM2
Partição (10 rondas) depois mesclagemSIM1
Partição (50 rondas) depois mesclagem com 20% perdaSIM1
80% perda de pacotes (stress)SIM4
MétricamacOS ARM64Linux 1C/1GB (RPi 4)Linux 1C/256MB (RPi Zero)
Taxa de Transferência96.289 mut/s24.802 mut/s29.709 mut/s
Convergência0.68 ms3.06 ms1.30 ms
Assinatura Ed255198.7 µs16.2 µs15.1 µs
Verificação Ed2551920.5 µs34.6 µs45.2 µs
Máx msg/seg34.32919.69516.573
Orçamento criptográfico @50/s0,15%0,25%0,30%
BenchmarkAIMP (ring)AutomergeYrs (Yjs)
Mutação (1000 ops)129K ops/s94K ops/s632K ops/s
Mesclagem de 2 réplicas0.48 ms1.17 ms0.38 ms
Mesclagem de 5 réplicas2.16 ms3.89 ms—
Tamanho do estado (1000 ops)~18 KB4 KB—
Estado
ConvergênciaSe dois nós possuem o mesmo armazenamento, computam os mesmos cabeçalhos MerkleVerificada
QuorumSafetySe o quórum é alcançado para uma proposta, a decisão é única (sem decisões conflituantes)Verificada
QuorumLivenessSe todos os nós votam na mesma decisão, o limite de quórum é eventualmente alcançadoVerificada
Estado
BeliefDeterminismMesmas afirmações + grafo → Estado de Crença idêntico em todos os nósVerificada
NoOscillationOs valores de confiança convergem monotonamente (sem feedback da Passagem 2 → Passagem 1)Verificada
ContradictionSafetyUma única contradição não pode inverter Aceite → Rejeitado num passoVerificada
EndurecimentoValor
Isolamento de utilizadorUtilizador aimp dedicado, sem shell de login
Sistema de ficheirosProtectSystem=strict, ProtectHome=yes
Limite de memóriaMemoryMax=128M
Limite de CPUCPUQuota=80%
PrivilégiosNoNewPrivileges=yes, MemoryDenyWriteExecute=yes
Filtro de syscallLista de permissões @system-service
ReinícioEm caso de falha com backoff exponencial
EncerramentoSIGTERM → 10s de graça → SIGKILL
ParâmetroPadrãoDescrição
port1337Porta de escuta UDP
metrics_port9090Porta HTTP Prometheus
noise_requiredtrueObrigar encriptação Noise Protocol
peer_rate_limit50Máx. mensagens/seg por par
peer_rate_burst100Capacidade de burst do token bucket
gc_mutation_threshold1000Mutações antes da varredura GC
quorum_threshold2Nós necessários para consenso BFT
dag_history_depth100Máx. profundidade DAG retida após GC