Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
GraphIP-Bench — 그래프 신경망에서 단일 블랙박스 프로토콜 아래 모델 추출 공격과 소유권 방어(워터마킹, 출력 교란, 쿼리 탐지)를 평가하기 위한 벤치마크 및 라이브러리입니다. | Kitploit
도구/GitHubGitHub/labrai/graphip-bench
Defensive ToolsMachine LearningPapers & ResearchLearning & EducationAI SecurityAdversarial Attack
GitHublabrai/graphip-bench

GraphIP-Bench

그래프 신경망에서 단일 블랙박스 프로토콜 아래 모델 추출 공격과 소유권 방어(워터마킹, 출력 교란, 쿼리 탐지)를 평가하기 위한 벤치마크 및 라이브러리입니다.

저장소 보기
2245개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

GraphIP-Bench

그래프 신경망을 탈취하는 것은 얼마나 어려우며, 우리는 이를 막을 수 있는가?

단일하고 재현 가능한 블랙박스 프로토콜 아래에서 그래프 신경망에 대한 모델 추출 공격과 소유권 방어를 평가하기 위한 통합 벤치마크 및 라이브러리.

Project Python PyTorch DGL PyG License

GraphIP-Bench를 사용하는 이유 · 주요 특징 · 빠른 시작 · 연구 질문 · 구성 · 인용

Attacks Defenses Datasets Backbones Tasks Joint Track


GraphIP-Bench를 사용하는 이유

클라우드 서비스로 배포된 그래프 신경망은 모델 추출 공격을 통해 탈취될 수 있습니다. 공격자는 신중하게 선택한 쿼리를 제출하고, 엔드포인트가 반환하는 레이블이나 신뢰도 점수를 기록한 뒤, 대상의 동작을 재현하는 로컬 대리 모델을 학습시킵니다. 성공적인 탈취는 소유자의 지식 재산을 유출하고, 쿼리당 과금 수익을 훼손하며, 경쟁자가 낮은 비용으로 독점 기능을 재현할 수 있게 합니다.

워터마킹, 핑거프린팅, 출력 교란, 쿼리 패턴 탐지 등 점점 늘어나는 소유권 방어 기법들은 이러한 탈취를 방지하거나 추적하려고 시도합니다. 그러나 이 분야의 실험 관행은 파편화되어 있습니다. 연구들은 비공개 분할, 호환되지 않는 예산, 일관성 없는 지표를 사용하며, 소수의 기존 테스트베드는 견고성이나 프라이버시에 초점을 맞추고 모델 추출과 소유권 검증을 배제합니다.

GraphIP-Bench는 이 격차를 해결합니다. 공유된 분할, 쿼리, 예산을 갖춘 단일 블랙박스 프로토콜 아래에서 두 가지 상호 보완적인 트랙, 즉 추출 트랙(공격자가 배포된 GNN을 모방하는 대리 모델을 학습)과 소유권 트랙(모델 소유자가 추출 후 워터마크나 핑거프린트를 검증)의 평가를 표준화합니다. 이어서 모든 방어된 대상에 대해 모든 추출 공격을 실행하고 추출된 대리 모델에서 워터마크 생존율을 측정하는 공격-방어 결합 트랙을 추가합니다. 이는 방어가 실제로 유용한지를 결정하는 설정입니다.

구성 요소제공 내용
12개 공격6개의 MEA 스타일 베이스라인(MEA0–MEA5), 적대적(AdvMEA), 중심성 기반(CEGA), 구조 인식(Realistic), 그리고 3개의 데이터 프리 변형(DFEA_I/II/III)
12개 방어5개의 소유권 추적(BackdoorWM, RandomWM, SurviveWM, ImperceptibleWM, Integrity) + 7개의 정보 제한(OP_low, OP_high, PR_2bit, PR_top1, PRADA, AdaptMisinfo, GradRedir)
10개 데이터셋동종 선호 인용(Cora, CiteSeer, PubMed), 공저자/제품(CoauthorCS, CoauthorPhysics, Computers, Photo), 대규모(OGBN-Arxiv), 이종 선호(RomanEmpire, AmazonRatings)
3개 백본 × 3개 태스크노드 분류, 링크 예측, 그래프 분류에서의 GCN, GAT, GraphSAGE
조인트 트랙추출된 서로게이트에 대한 대리 모델 충실도 및 워터마크 생존성, 모두 하나의 프로토콜 아래에서
재현성공개 분할, 공유 쿼리 세트, 고정 시드, JSON-Lines 출력, 즉시 사용 가능한 집계 스크립트

하이라이트

하나의 프로토콜, 두 가지 측면

모든 공격은 동일한 분할, 예산, 엔드포인트 가정 아래에서 모든 방어에 대해 평가됩니다. 충실도, 소유권 검증, 유용성, 연산 비용은 공유된 지표 모음에서 보고됩니다.

단순한 삽입이 아닌 워터마크 생존성

조인트 트랙은 모델이 실제로 추출된 후에도 워터마크가 여전히 검증되는지를 측정하여, 단일 모델 평가가 놓치는 격차를 드러냅니다.

이종 선호 및 대규모 그래프

핵심 프로토콜의 7개 동종 선호 그래프를 넘어, OGBN-Arxiv(169K 노드, 40개 클래스)와 이종 선호 RomanEmpire / AmazonRatings를 추가하여 공격 및 방어 동작을 스트레스 테스트합니다.

구조적으로 재현 가능

고정 시드, 공유 쿼리 세트, 그리고 (데이터셋, 공격, 방어, 체제, 예산, 시드) 셀별 JSON-Lines 출력 레코드. 단일 시드 실행은 논문의 해당 셀과 직접 비교할 수 있습니다.


한눈에 보기

신호벤치마크 내 규모
추출 공격12
소유권 / 정보 제한 방어12
그래프 데이터셋10
GNN 백본3 (GCN, GAT, GraphSAGE)
그래프 학습 태스크3 (노드 / 링크 / 그래프)
데이터 가용성 체제4 (둘 다, 특징만, 구조만, 데이터 프리)
표준화된 쿼리 예산5 (0.05× — 1.00× 테스트 크기)
셀당 시드3
평가 트랙3 (추출, 소유권, 조인트)

빠른 시작

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

추출 트랙의 셀 하나를 실행합니다:

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

단일 데이터셋에서 공격 및 방어 통합 트랙을 실행합니다:

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

각 실행은 (attack, defense, regime, budget, seed) 튜플마다 하나의 JSON-Lines 레코드를 outputs/에 기록합니다. 레코드는 scripts/의 헬퍼(예: merge_rq1_rq5_faithful_results.py)를 사용하여 병합하고 분석할 수 있습니다.


설치

GraphIP-Bench는 **Python 3.10+**와 함께 Linux(권장)를 지원합니다. DGL 2.1.0 graphbolt 커널은 CUDA 12.1에서 PyTorch 2.0–2.2용으로 미리 빌드된 공유 라이브러리만 제공되므로 PyTorch / DGL / PyG 버전을 고정합니다.

옵션 A: Conda (권장)

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

옵션 B: pip + venv

python -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
📦 고정된 스택
라이브러리버전고정 이유
PyTorch2.2.1 + cu121DGL 2.1.0 graphbolt 휠은 PT 2.0–2.2 / CUDA 12.1만 지원
DGL2.1.0 + cu121로더에서 사용하는 Graphbolt 커널
PyTorch Geometric2.7.0링크 예측 및 그래프 분류 어댑터
OGB1.3.6OGBN-Arxiv 로더
NumPy< 2.0DGL 커널 ABI

연구 질문

GraphIP-Bench는 다섯 가지 연구 질문을 중심으로 구성되며, 각 질문은 최상위 재현 스크립트에 대응합니다.

RQ질문진입점
RQ1쿼리 예산에 따라 추출 효과는 어떻게 변하며, 이러한 추세는 이종성(heterophilic) 및 대규모 그래프에서도 유지되는가?scripts/run_rq1_single.py
RQ2보호된 모델에서 기존 방어 기법은 얼마나 효과적인가?scripts/run_defense_single.py
RQ3방어 기법은 보호와 유용성 사이의 균형을 얼마나 잘 맞추는가?scripts/run_defense_single.py + scripts/run_defense_hp_ablation.py
RQ4공격과 방어의 계산 복잡도와 실제 효율성은 어떠한가?모든 JSONL 레코드에 기록된 wall-clock 및 peak-mem 필드
RQ5공동 적대적 설정에서 방어 기법은 얼마나 효과적이며, 워터마크 신호는 추출된 대리 모델에서 살아남는가?examples/run_joint_evaluation.py

보조 트랙:

도구 다운로드