Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
aimp — Un protocollo di rete serverless progettato per la sincronizzazione resiliente dello stato tra agenti autonomi in reti frammentate e a bassa larghezza di banda. | Kitploit
Strumenti/GitHubGitHub/fabriziosalmi/aimp
Sicurezza Sistemi EmbeddedSicurezza IoTSicurezza di ReteCrittografiaSicurezza HardwareThreat IntelligenceMachine LearningPaper e RicercaApprendimento e Formazione
GitHubfabriziosalmi/aimp

aimp

Un protocollo di rete serverless progettato per la sincronizzazione resiliente dello stato tra agenti autonomi in reti frammentate e a bassa larghezza di banda.

519 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi RepositorySito web

AIMP — Protocollo AI Mesh

CI License: MIT Rust ResearchGate ResearchHub

Un protocollo di rete sperimentale e serverless per la sincronizzazione resiliente dello stato tra agenti autonomi in reti frammentate e a bassa larghezza di banda. Basato su Merkle-CRDT e identità crittografica — nessuna autorità centrale, nessun DNS globale, sempre scrivibile.


Articoli

#VersioneTitoloLink
1v0.1.0Protocollo Merkle-CRDT (L1/L2)ResearchGate
2v0.2.0Livello Epistemico (L3)ResearchGate
3v0.3.0Aggregazione Sensibile alla Correlazione (L3)ResearchGate
4v0.4.0Topologie Semantiche Deterministiche (L3)ResearchGate

Profili autore: ResearchGate · ResearchHub


Stack di Protocollo


Novità

v0.4.0 — Topologie Semantiche Deterministiche

L3 v0.3.0 richiedeva alle applicazioni di costruire manualmente il grafo della conoscenza (archi Supporta/Contraddice). v0.4.0 elimina questo collo di bottiglia con la generazione autonoma di archi:

  • Le affermazioni portano un QuantizedEmbedding([u64; 4]) opzionale — un SimHash 256-bit calcolato lato applicazione da un modello di embedding canonico.
  • Ad ogni confine di epoca, il protocollo calcola le distanze di Hamming a coppie (XOR + popcount, ~1 ns per coppia) e emette archi Supporta per coppie vicine (d <= 30 bit) e archi Contraddice per coppie distanti (d >= 200 bit).
  • La forza dell'arco scala linearmente con la distanza in punti base (d=0 → 10000 bps, d=30 → 1000 bps).
  • Un tetto max_k_arest limita la densità degli archi a O(N), prevenendo l'esplosione della propagazione della fiducia.
  • embedding_version: u32 isola spazi latenti disgiunti per aggiornamenti di modello a livello di protocollo.
  • Gli archi automatici sono materializzati tramite gossip L2, sopravvivendo alla GC tramite Routing Olografico.
  • Zona morta (31-199 bit) orfana affermazioni ambigue — isolamento epistemologicamente corretto.
root@kitploit:~
// Scoperta autonoma della verità: 10.000 affermazioni → scansione 50 ms, archi O(N)
// Nessun float. Nessuna coordinazione. Nessuna autorità centrale.
let edges = auto_edge_generator.generate_edges(&epoch_claims);

v0.3.0 — Aggregazione delle Credenze Sensibile alla Correlazione

L3 v0.2.0 assume che tutte le fonti di evidenza siano statisticamente indipendenti (Naive Bayes). Questo produce iper-confidenza patologica quando sensori fisicamente correlati (es. 100 dispositivi IoT sullo stesso tetto) o agenti semanticamente correlati (es. LLM addestrati sugli stessi dati) riportano osservazioni concordanti.

v0.3.0 introduce lo Sconto di Correlazione per Cella Griglia:

  • Ogni affermazione porta un CorrelationCell(u64) opzionale — una coordinata discreta per prossimità spaziale, semantica o temporale.
  • All'interno di ogni cella, l'evidenza è classificata per forza e scontata geometricamente: la fonte più forte mantiene il 100% del peso; ogni fonte successiva riceve discount_bps^rank / 10000^rank (default 30%).
  • Con uno sconto del 30%, N sensori correlati convergono a circa ~1.42x l'evidenza di un singolo sensore — indipendentemente da N. L'approccio ingenuo produrrebbe un'amplificazione Nx.
  • La sfida dell'associatività CRDT (il decadimento geometrico non è associativo tra unioni parziali) è risolta architetturalmente: la riduzione per epoca raggruppa per (temporal_grid, fingerprint, correlation_cell), garantendo un calcolo atomico sull'insieme completo.
  • Le affermazioni con correlation_cell: None si comportano identicamente a v0.2.0 (zero regressione).
  • Tutta l'aritmetica è solo intera (i32/i64, punti base). Nessun float. Pronto per ZK.
root@kitploit:~
// 100 sensori co-localizzati, 70% di confidenza ciascuno:
// v0.2.0 (ingenuo):  100 × 847 = 84.700 milli-log-odds → ~100% (iper-confidente)
// v0.3.0 (30%):    847 × Σ(0.3^i) ≈ 1.207 milli-log-odds → ~77% (realistico)

Architettura

root@kitploit:~
aimp_node/          Implementazione di riferimento in Rust (membro del workspace Cargo)
  src/
    crdt/           Motore Merkle-DAG, modello attore, allocatore arena, consenso quorum
    crypto/         Identità Ed25519, hashing BLAKE3, firewall zero-trust
    network/        Gossip UDP, sessioni Noise Protocol XX, limitazione di velocità per peer
    protocol/       Formato wire (MessagePack), enum di payload tipizzato
    epistemic.rs    Livello Epistemico L3 (v0.3.0): log-odds, propagazione fiducia, sconto correlazione
    semantic_topology.rs  Topologia Semantica L3 (v0.4.0): embedding SimHash, generazione archi automatica
    decision_engine.rs  Motore decisionale deterministico pluggable (trait + motore regole + hot-reload)
    error.rs        Gerarchia unificata del tipo AimpError
    dashboard/      TUI Ratatui
    config.rs       Configurazione dinamica con validazione
    event/          Log strutturato + metriche Prometheus (contatori + istogrammi)
  tests/            Test di integrazione
  benches/          Benchmark Criterion
aimp_testbed/       SDK Python (aimp-client) + strumento CLI + test di caos
deploy/             Servizio systemd, microVM Firecracker, script di installazione
formal/             Specifica TLA+ per convergenza + sicurezza del quorum + convergenza delle credenze
docs/               Articolo 1 (sorgente Typst + PDF)
v0.2.0/             Articolo 2: Livello Epistemico (sorgente Typst + PDF)
v0.3.0/             Articolo 3: Aggregazione Sensibile alla Correlazione (sorgente Typst + PDF)

Vantaggi Strategici


Caratteristiche Principali

Motore Core (v0.1.0)

  • Modello Attore con CRDT a stato zero condiviso tramite tokio::mpsc
  • Allocazione Slab/Arena con inserimento O(1) e layout SoA
  • Persistenza durevole tramite redb con crittografia ChaCha20Poly1305 a riposo
  • Derivazione delle chiavi HKDF-SHA256 con separazione di dominio
  • Radice Merkle cachata con invalidazione su scrittura
  • GC reali mark-and-sweep con recupero memoria slab
  • Tracciamento GC basato su epoche integrato nell'attore CRDT

Livello Epistemico (v0.2.0 — v0.4.0)

  • Aritmetica log-odds intera (i32, milli-log-odds) — nessun float, 100% deterministica
  • Propagazione della fiducia markoviana a due passi (Supporti → Contraddizioni, nessuna oscillazione)
  • Reputazione resistente ai Sybil: i nuovi nodi partono da 0, è richiesta delega, spesa reputazionale
  • Riduzione per epoca allineata a griglia con compattazione materializzata (I riepiloghi sopravvivono alla GC)
  • Rilevamento dei cicli (DFS ordinato) previene loop di inflazione della confidenza
  • v0.3.0: Aggregazione sensibile alla correlazione — sconto geometrico per sensori/LLM co-localizzati
  • v0.3.0: Riduzione atomica per cella — raggruppamento per (epoca, fingerprint, cella) per sicurezza CRDT
  • v0.4.0: Topologie semantiche deterministiche — embedding SimHash, generazione archi autonoma
  • 98-142x più veloce della Logica Soggettiva / Dempster-Shafer (bit-identico tra architetture)

Rete e Sicurezza

  • Sessioni criptate con Noise Protocol XX (attive per default)
  • Limitazione della velocità per peer con token bucket (aritmetica intera)
  • Deduplicazione gossip O(1) tramite HashSet + VecDeque
  • Rilevamento attacchi replay TTL con interruttore automatico
  • Evizione cache sessione LRU (TTL + conteggio massimo)
  • Negoziazione intervallo versione protocollo per aggiornamenti rolling

Motore Decisionale e Consenso

  • Trait DecisionEngine pluggable con implementazione RuleEngine
  • Regole hot-reload da aimp_rules.json (nessun riavvio necessario)
  • Votazione quorum BFT con decisioni verificate persistenti
  • Enum Payload tipizzato per codice operativo (sicurezza a tempo di compilazione)

Osservabilità

  • Contatori Prometheus, gauge e istogrammi di latenza
  • Endpoint /health composito con sotto-controlli e codici stato HTTP
  • Log strutturato SystemEvent con dashboard TUI

Operazioni

  • Gerarchia unificata del tipo AimpError (niente più Box<dyn Error>)
  • Validazione della configurazione (respinge combinazioni di parametri non valide)
  • Spegnimento graduale con timeout di 5 secondi
  • File di servizio systemd indurito
  • CI/CD: lint, test, audit di sicurezza, documentazione, rilasci cross-compilati

Benchmark

Misurati con Criterion su Apple Silicon (serie M), single-thread, modalità fast-crypto:

Livello Sistema

Cluster simulato di 5 nodi con sincronizzazione anti-entropia (in-process, Apple Silicon):

Degrado di Rete (simulazione netem)

Convergenza sotto perdita di pacchetti simulata, latenza e partizionamenti (5 nodi, 50 mutazioni/nodo):

AIMP converge fino a circa l'80% di perdita di pacchetti entro pochi round di anti-entropia, degradando con garbo.

Multipiattaforma (ARM64 con risorse limitate)

Docker ARM64 Linux con limiti di risorse stile RPi:

Anche su hardware classe RPi Zero, il throughput è 3 ordini di grandezza sopra il limite di velocità.

Confronto con Automerge v0.7

Stesso hardware, stesse operazioni, single-thread, target-cpu=native:

AIMP con ring supera Automerge di 1,37x nelle mutazioni (con Ed25519 per scrittura) e di 2,4x nell'unione. Yrs è il più veloce in mutazione (nessuna crittografia) ma l'unione di AIMP è entro il 26% di Yrs.

root@kitploit:~
# Abilita il backend ring per il massimo throughput
RUSTFLAGS="-C target-cpu=native" cargo run --release --features fast-crypto,fast-alloc

Esegui i benchmark localmente:

root@kitploit:~
cargo bench --manifest-path aimp_node/Cargo.toml             # Micro-benchmark
cargo run --release -p aimp_node --example bench_convergence  # Benchmark di sistema
cargo run --release -p aimp_node --example bench_netem        # Degrado di rete
docker build -f Dockerfile.bench -t aimp-bench . && \
  docker run --rm --memory=1g --cpus=1 aimp-bench             # ARM64 con vincoli

Verifica Formale (TLA+)

L2 — Convergenza CRDT

ProprietàDescrizione

TLC ha esplorato 46.063 stati (9.558 distinti) fino a profondità 16 in <1 secondo con 10 lavoratori paralleli e zero violazioni. Bug trovati: 2 bug di correttezza (testate fuori ordine, doppio voto nel quorum). Entrambi corretti.

L3 — Convergenza delle Credenze

ProprietàDescrizione

Verifica esaustiva limitata: 199.902 configurazioni (5 proprietà, fino a N=6 nodi). Bug trovati: 1 bug nella formula di propagazione della fiducia (t_{k+1} = t_k + At_k vs corretto t_{k+1} = t_0 + At_k). Corretto.


Avvio Rapido

1. Esegui il Nodo

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 "Controlla pressione valvola nel settore nord"

3. Esegui Test & Benchmark

root@kitploit:~
make test                     # Test basati su proprietà + integrazione
make bench                    # Benchmark Criterion
make lint                     # Formatta + clippy
make docs                     # Genera rustdoc

Distribuzione Edge

AIMP è progettato per funzionare come singolo binario statico con zero dipendenze runtime. Nessun Docker, nessun runtime container, nessuna JVM.

Distribuzione Rapida (Bare Metal)

root@kitploit:~
# Scarica il binario per la tua architettura
curl -LO https://github.com/fabriziosalmi/aimp/releases/latest/download/aimp_node-aarch64-linux
chmod +x aimp_node-aarch64-linux

# Installa come servizio systemd
sudo deploy/install.sh ./aimp_node-aarch64-linux

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

Cross-Compila dal Sorgente

root@kitploit:~
make install-cross-targets   # Una tantum: installa target musl
make edge-arm64              # ARM64 (RPi 4/5, Jetson, Graviton)
make edge-armv7              # ARMv7 (RPi 2/3, PLC industriali)
make edge-x86                # x86_64 (gateway edge)
make edge-all                # Tutti e tre

Firecracker MicroVM (isolamento multi-tenant)

Per gateway edge che eseguono carichi di lavoro multipli non fidati:

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

Tempo di avvio: ~125ms. Memoria: 64MB. vCPU: 1.

Servizio Systemd

Il file di servizio incluso (deploy/systemd/aimp-node.service) fornisce:


Configurazione

La configurazione è caricata da (priorità decrescente):

  1. Argomenti CLI (--port, --name)
  2. Variabili d'ambiente (AIMP_PORT, AIMP_NOISE_REQUIRED, AIMP_PEER_RATE_LIMIT, ...)
  3. File aimp.toml (opzionale)
  4. Valori predefiniti

Flusso Dati

root@kitploit:~
graph TD
    UDP[Socket UDP] -->|Inviluppo| RL[Limitatore di Velocità]
    RL -->|Consentito| NP[Noise Protocol]
    NP -->|Decripta| FW[Firewall di Sicurezza]
    FW -->|Valido| BP[Semaforo di Contropressione]
    BP -->|Permesso| Parser[Parser del Protocollo]
    Parser -->|AimpData| CRDT[Attore CRDT]
    CRDT -->|Mutazione| DAG[Merkle-DAG + redb]
    DAG -->|Potatura| GC[GC per Epoca]
    CRDT -->|Richiesta Valutazione| DE[Motore Decisionale]
    DE -->|Decisione + Evidenza| CRDT
    CRDT -->|Voto Quorum| QM[Gestore Quorum]

Lavori Correlati

AIMP si basa su concetti delle seguenti aree della ricerca sui sistemi distribuiti:

  • CRDT — Shapiro et al., "Uno studio completo sui tipi di dati replicati convergenti e commutativi" (INRIA, 2011)
  • Merkle-CRDT — Kleppmann & Howard, "Coerenza finale bizantina e i limiti fondamentali dei database peer-to-peer" (2022)
  • Consenso BFT — Castro & Liskov, "Tolleranza pratica ai guasti bizantini" (OSDI, 1999)
  • Aggregazione Bayesiana — Jaynes, "Teoria della probabilità: la logica della scienza" (2003); aritmetica log-odds per fusione delle credenze
  • Reti di Fiducia — Kamvar et al., "L'algoritmo EigenTrust per la gestione della reputazione in reti P2P" (WWW, 2003)
  • Logica Soggettiva — Jøsang, "Logica soggettiva: un formalismo per ragionare sotto incertezza" (Springer, 2016)
  • Copule — Nelsen, "Un'introduzione alle copule" (Springer, 2006); modellazione della correlazione per evidenze dipendenti
  • Noise Protocol — Perrin, "Il framework del protocollo Noise" (2018); utilizzato tramite la crate snow per il pattern di handshake XX
  • Protocolli Gossip — Demers et al., "Algoritmi epidemici per la manutenzione di database replicati" (1987)
  • Alberi Merkle — Merkle, "Una firma digitale basata su una funzione di crittografia convenzionale" (CRYPTO, 1987)
  • Orologi Vettoriali — Mattern, "Tempo virtuale e stati globali di sistemi distribuiti" (1988)

Licenza

MIT — Fabrizio Salmi, 2026.

Scarica lo strumento
LivelloVersioneScopo
L1/L2v0.1.0CRDT Merkle-DAG, firma Ed25519, trasporto Noise Protocol, quorum BFT
L3v0.2.0Livello Epistemico: log-odds interi, propagazione della fiducia a due passaggi, reputazione resistente ai Sybil
L3v0.3.0Aggregazione Sensibile alla Correlazione: sconto geometrico per sensori/LLM correlati
L3v0.4.0Topologie Semantiche Deterministiche: generazione autonoma di archi tramite SimHash 256-bit
CaratteristicaAIMP (Merkle-CRDT)Tradizionale (Raft/Paxos)
TopologiaMesh P2P / DecentralizzatoLeader / Quorum
DisponibilitàAP (Sempre Scrivibile)CP (Richiede Maggioranza)
OrdinamentoCausale (Orologi Vettoriali)Totale (Sequenziale)
IntegritàCrittografica (Merkle-DAG)Basato su log
HardwareOttimizzato per Edge/IoTGrado Data Center
OperazioneTempoThroughput
append_mutation (100 operazioni)41,8 µs~2,4M mutazioni/sec
get_merkle_root (cachato)4,8 nsO(1)
Hash BLAKE3 (1 KB)925 ns~1,08 GB/s
Ser / de MessagePack204 / 210 ns—
Firma Ed25519 (ring)9,3 µs~108K operazioni/sec
Verifica Ed2551925,0 µs~40K operazioni/sec
ScenarioRisultato
Throughput (5 nodi x 1000 mutazioni, con firma Ed25519)96.289 mutazioni/sec
Convergenza (5 nodi divergenti, 250 DAG ciascuno)0,68 ms (1 round di sincronizzazione)
Partizionamento/Unione (2 gruppi, 30 mutazioni/gruppo, unione completa)0,21 ms
Hot-path crittografico (firma + verifica per messaggio)45,0 µs → 22K msg/sec max
Budget crittografico a rate_limit=50/sec0,23% utilizzo
CondizioneConvergenzaRound
Baseline (0% perdita)SÌ1
10% perdita pacchettiSÌ2
30% perdita pacchettiSÌ2
50% perdita pacchettiSÌ2
20% perdita + 100ms latenza + 30ms jitterSÌ2
Partizione (10 round) poi unioneSÌ1
Partizione (50 round) poi unione con 20% perditaSÌ1
80% perdita pacchetti (stress)SÌ4
MetricamacOS ARM64Linux 1C/1GB (RPi 4)Linux 1C/256MB (RPi Zero)
Throughput96.289 mut/s24.802 mut/s29.709 mut/s
Convergenza0,68 ms3,06 ms1,30 ms
Firma Ed255198,7 µs16,2 µs15,1 µs
Verifica Ed2551920,5 µs34,6 µs45,2 µs
Max msg/sec34.32919.69516.573
Budget crittografico @50/s0,15%0,25%0,30%
BenchmarkAIMP (ring)AutomergeYrs (Yjs)
Mutazione (1000 operazioni)129K operazioni/s94K operazioni/s632K operazioni/s
Unione 2-replica0,48 ms1,17 ms0,38 ms
Unione 5-replica2,16 ms3,89 ms—
Dimensione stato (1000 operazioni)~18 KB4 KB—
Stato
ConvergenzaSe due nodi possiedono lo stesso store, calcolano le stesse testate MerkleVerificata
SicurezzaQuorumSe il quorum è raggiunto per un prompt, la decisione è unica (nessuna decisione conflittuale)Verificata
VivacitàQuorumSe tutti i nodi votano per la stessa decisione, la soglia del quorum è raggiunta eventualmenteVerificata
Stato
DeterminismoCredenzaStesse affermazioni + grafo → BeliefState identico su tutti i nodiVerificata
NessunaOscillazioneI valori di fiducia convergono monotonicamente (nessun feedback Passo 2 → Passo 1)Verificata
SicurezzaContraddizioneUna singola contraddizione non può capovolgere Accettato → Rifiutato in un solo passoVerificata
IndurimentoValore
Isolamento utenteUtente dedicato aimp, nessuna shell di login
FilesystemProtectSystem=strict, ProtectHome=yes
Limite memoriaMemoryMax=128M
Limite CPUCPUQuota=80%
PrivilegiNoNewPrivileges=yes, MemoryDenyWriteExecute=yes
Filtro syscallWhitlelist @system-service
RiavvioSu fallimento con backoff esponenziale
SpegnimentoSIGTERM → 10s attesa → SIGKILL
ParametroPredefinitoDescrizione
port1337Porta di ascolto UDP
metrics_port9090Porta HTTP Prometheus
noise_requiredtrueImpone crittografia Noise Protocol
peer_rate_limit50Max messaggi/sec per peer
peer_rate_burst100Capacità burst token bucket
gc_mutation_threshold1000Mutazioni prima di sweep GC
quorum_threshold2Nodi richiesti per consenso BFT
dag_history_depth100Profondità massima DAG mantenuta dopo GC