Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
GraphIP-Bench — Benchmark e libreria per valutare attacchi di estrazione del modello e difese della proprietà (watermarking, perturbazione dell'output, rilevamento delle query) su reti neurali a grafo sotto un unico protocollo black-box. | Kitploit
Strumenti/GitHubGitHub/labrai/graphip-bench
Strumenti DifensiviMachine LearningPaper e RicercaApprendimento e FormazioneSicurezza dell'IAAttacco Avversario
GitHublabrai/graphip-bench

GraphIP-Bench

Benchmark e libreria per valutare attacchi di estrazione del modello e difese della proprietà (watermarking, perturbazione dell'output, rilevamento delle query) su reti neurali a grafo sotto un unico protocollo black-box.

Vedi Repository
2365 mesi 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

GraphIP-Bench

Quanto è difficile rubare una rete neurale per grafi, e possiamo impedirlo?

Un benchmark e una libreria unificati per valutare attacchi di estrazione del modello e difese della proprietà su reti neurali per grafi sotto un unico protocollo black-box riproducibile.

Project Python PyTorch DGL PyG License

Perché GraphIP-Bench · Punti salienti · Avvio rapido · Domande di ricerca · Struttura · Citazione

Attacks Defenses Datasets Backbones Tasks Joint Track


Perché GraphIP-Bench

Le reti neurali per grafi distribuite come servizi cloud possono essere rubate tramite attacchi di estrazione del modello: un avversario invia query accuratamente selezionate, registra le etichette o i punteggi di confidenza restituiti dall'endpoint e addestra un surrogato locale che riproduce il comportamento del modello bersaglio. Un furto riuscito divulga la proprietà intellettuale del titolare, compromette i ricavi basati sul pagamento per query e consente ai concorrenti di ricreare funzionalità proprietarie a basso costo.

Una linea crescente di difese della proprietà — watermarking, fingerprinting, perturbazione dell'output, rilevamento dei pattern di query — cerca di prevenire o tracciare tale furto. Ma la pratica sperimentale in questo ambito è frammentata: gli studi utilizzano split privati, budget incompatibili e metriche incoerenti; i pochi testbed esistenti si concentrano su robustezza o privacy ed escludono l'estrazione del modello insieme alla verifica della proprietà.

GraphIP-Bench colma questa lacuna. Standardizza la valutazione di due tracce complementari — la traccia di estrazione (un avversario addestra un surrogato che imita una GNN distribuita) e la traccia di proprietà (il titolare del modello verifica un watermark o un fingerprint dopo l'estrazione) — sotto un unico protocollo black-box con split, query e budget condivisi. Aggiungiamo poi una traccia congiunta di attacco e difesa che esegue ogni attacco di estrazione su ogni bersaglio difeso e misura la sopravvivenza del watermark sul surrogato estratto — la configurazione che determina effettivamente se una difesa è utile.

ComponenteCosa ti offre
12 attacchiSei baseline in stile MEA (MEA0–MEA5), adversarial (AdvMEA), guidato dalla centralità (CEGA), structure-aware (Realistic) e tre varianti data-free (DFEA_I/II/III)
12 difese5 di tracciamento della proprietà (BackdoorWM, RandomWM, SurviveWM, ImperceptibleWM, Integrity) + 7 di limitazione dell'informazione (OP_low, OP_high, PR_2bit, PR_top1, PRADA, AdaptMisinfo, GradRedir)
10 datasetCitazioni omofile (Cora, CiteSeer, PubMed), coautori/prodotti (CoauthorCS, CoauthorPhysics, Computers, Photo), su larga scala (OGBN-Arxiv), eterofili (RomanEmpire, AmazonRatings)
3 backbone × 3 taskGCN, GAT, GraphSAGE su classificazione dei nodi, predizione dei link, classificazione dei grafi
Track congiuntoFedeltà del surrogato e sopravvivenza del watermark sul surrogato estratto, tutto sotto un unico protocollo
RiproducibilitàSplit pubblici, set di query condivisi, seed fissi, output JSON-Lines, script di aggregazione pronti all'uso

Punti salienti

Un protocollo, due lati

Ogni attacco è valutato contro ogni difesa con gli stessi split, budget e ipotesi sugli endpoint. Fedeltà, verifica della proprietà, utilità e costo computazionale sono riportati su una suite di metriche condivisa.

Sopravvivenza del watermark, non solo embedding

Il track congiunto misura se un watermark verifica ancora dopo che il modello è stato effettivamente estratto — esponendo il divario che le valutazioni su singolo modello trascurano.

Grafi eterofili e su larga scala

Oltre ai sette grafi omofili del protocollo principale, aggiungiamo OGBN-Arxiv (169K nodi, 40 classi) e i grafi eterofili RomanEmpire / AmazonRatings per stressare il comportamento di attacchi e difese.

Riproducibile per costruzione

Seed fissi, set di query condivisi e record di output JSON-Lines per ogni cella (dataset, attacco, difesa, regime, budget, seed). Un'esecuzione con singolo seed è direttamente confrontabile con la cella corrispondente nel paper.


In sintesi

SegnaleScala nel benchmark
Attacchi di estrazione12
Difese di proprietà / limitazione dell'informazione12
Dataset di grafi10
Backbone GNN3 (GCN, GAT, GraphSAGE)
Task di graph learning3 (nodo / link / grafo)
Regimi di disponibilità dei dati4 (entrambi, solo feature, solo struttura, data-free)
Budget di query standardizzati5 (0.05× — 1.00× dimensione del test)
Seed per cella3
Track di valutazione3 (estrazione, proprietà, congiunto)

Avvio rapido

git clone https://github.com/LabRAI/GraphIP-Bench.git
cd GraphIP-Bench
conda create -n graphip python=3.11 -y
conda activate graphip
pip install -r requirements.txt

Esegui una cella del percorso di estrazione:

python scripts/run_rq1_single.py \
  --dataset Cora \
  --attack MEA0 \
  --regime both \
  --budget 0.25 \
  --seed 0 \
  --gpu \
  --output-dir outputs/RQ1

Esegui la track congiunta di attacco e difesa su un singolo dataset:

python examples/run_joint_evaluation.py \
  --dataset Cora \
  --seed 0 \
  --gpu

Ogni esecuzione scrive un record JSON-Lines per ogni tupla (attack, defense, regime, budget, seed) in outputs/. I record possono essere uniti e analizzati con gli helper in scripts/ (ad es. merge_rq1_rq5_faithful_results.py).


Installazione

GraphIP-Bench supporta Linux (consigliato) con Python 3.10+. Fissiamo le versioni di PyTorch / DGL / PyG perché i kernel graphbolt di DGL 2.1.0 sono distribuiti come librerie condivise precompilate solo per PyTorch 2.0–2.2 su CUDA 12.1.

Opzione A: Conda (consigliato)

conda create -n graphip python=3.11 -y
conda activate graphip
pip install -r requirements.txt

Opzione B: pip + venv

python -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
📦 Stack con versioni bloccate
Scarica lo strumento