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
AGAS — Framework di attacco di group shilling agentico guidato da LLM che manipola i ranking dei sistemi di raccomandazione collaborative-filtering black-box utilizzando strategie adattive multi-ruolo eludendo al contempo il rilevamento. | Kitploit
Strumenti/GitHubGitHub/phkhanhtrinh23/agas
Machine LearningPaper e RicercaApprendimento e FormazioneSicurezza dell'IAAttacco Avversario
GitHubphkhanhtrinh23/agas

AGAS

Framework di attacco di group shilling agentico guidato da LLM che manipola i ranking dei sistemi di raccomandazione collaborative-filtering black-box utilizzando strategie adattive multi-ruolo eludendo al contempo il rilevamento.

Vedi Repository
28412 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

Un Efficiente ed Efficace Attacco Agentico di Group Shilling sui Sistemi di Raccomandazione

arXiv visitors

Questo è il codice ufficiale del paper: "An Efficient and Effective Agentic Group Shilling Attack on Recommender Systems". Questo paper introduce AGAS, che è un attacco shilling guidato da LLM contro recommender collaborative-filtering black-box. Un Coordinator orchestra un pool di worker utente-fake su una sequenza di round. In ogni round, il Coordinator sceglie una tra otto strategie e assegna un ruolo a ogni worker. I worker poi decidono quali item valutare utilizzando il proprio ciclo di ragionamento in stile ReAct.

AGAS pipeline


1. Panoramica del repository

agent_attack_rs/
  bash/                           # Reviewer-friendly shell scripts (RQ1–RQ5)
  prompts/                        # Coordinator + per-role prompt templates
  scripts/run_agas.py             # Single entry point (--dataset --victim ...)
  src/agas/
    roles.py                      # Role enum {PR, SN, CA, IN} (paper symbols)
    signals.py                    # WorkerSignals (τ, γ, φ) + EnvSignals (ρ, Δρ, η, ξ, a)
    strategies.py                 # 8-strategy enum
    agents/                       # Coordinator + Worker policies
    simulation/                   # Episode runner (= AGAS algorithm outer loop)
    llm/                          # OpenAI / Ollama
    recsys/                       # Surrogate + 11-victim backends
    data/                         # Dataset loaders + preprocessing pipeline
  tests/                          # Pytest suite

2. Riepilogo del metodo

AGAS istanzia quattro ruoli di worker (simboli del paper in roles.py):

SimboloNome estesoCosa fa
PRProfilerValutazioni sicure di filler-item per sondare la piattaforma e costruire bridge pool.
SNSniperRuolo di payload; push diretto del target o promozione di bridge-item.
CACamouflageurRuolo stealth; ricostruisce la fiducia con attività dall'aspetto benigno.
INInactiveNessuna azione in questo round (cool-down o quarantena).

Ogni round il Coordinator sceglie esattamente una tra otto strategie da strategies.py (vedi method_strategies.tex):

  1. Victim Probe (S1_VICTIM_PROBE)
  2. Bridge Building (S2_BRIDGE_BUILDING, solo graph victims)
  3. Warm-up (S3_WARM_UP)
  4. First Push (S4_FIRST_PUSH)
  5. Silent Slowdown (S5_SILENT_SLOWDOWN)
  6. Profile Cleanup (S6_PROFILE_CLEANUP)
  7. Safe Replacement (S7_SAFE_REPLACEMENT)
  8. Main Attack (S8_MAIN_ATTACK)

Il Coordinator guida tali decisioni a partire da due gruppi di segnali (signals.py):

  • Segnali dei worker τ_{t,w}, γ_{t,w}, φ_{t,w} — fiducia, rischio e un validatore strutturale. Le equazioni di aggiornamento corrispondono esattamente a method_coordinator.tex (eq:trust_update, eq:risk_update, eq:risk_decay, eq:profile_validator).
  • Segnali ambientali ρ^{(t)}, Δρ^{(t)}, η_t, ξ_t = (q_t, s_t), a_t — rank, movimento del rank, tasso di accettazione, segnale di soppressione, flag di allerta. Il punteggio di sospetto q_t è la somma pesata a 0.2 dei cinque termini normalizzati (d̂_t, δ̂_t, m̂_t, ŝ_t, g_t) da eq:round_suppression_terms e eq:round_suppression_score.

Ciclo del round (ASCII)

                ┌─────────────────────────────────────────────────┐
   t=0…T-1 ──►  │ 1. Observe ρ^{(t)}, update memory m_t           │
                │ 2. Update τ, γ, φ, η, ξ, a                       │
                │ 3. Coordinator picks Strategy ∈ {S1…S8}          │
                │    and assigns Role ∈ {PR, SN, CA, IN} per worker│
                │ 4. Workers act (filler / bridge / target items)  │
                │ 5. Validate + accept actions → ΔR̃^{(t+1)}        │
                │ 6. Refit / query victim → ρ^{(t+1)}              │
                └─────────────────────────────────────────────────┘
                          │
                          ▼
                   t* = argmin_t ρ^{(t)}, return R* = [R ; R̃^{(≤t*)}]

Il ciclo esterno è implementato in src/agas/simulation/episode.py e rispecchia algorithms/agas_end_to_end.tex.

3. Ambiente

ComponenteRequisitoTestato con
Python≥ 3.103.13.5
PyTorch≥ 2.1 (solo targets)2.11.0+cu128
CUDAopzionale12.8
NumPy≥ 1.242.4.2
Pandas≥ 2.03.0.1
SciPy≥ 1.101.17.0
scikit-learn≥ 1.31.8.0
openai SDK≥ 1.122.21.0

PyTorch e CUDA sono richiesti solo per i modelli vittima di deep learning (extra [targets]). Il ciclo AGAS principale e i percorsi basati su regole / surrogati funzionano su CPU senza dipendenze GPU.

4. Installazione

pip install -e .
# If you want to use the deep-learning victim models (LightGCN, NeuMF, …)
pip install -e '.[targets]'

Variabili d'ambiente richieste:

VariabileScopoPredefinito
OPENAI_API_KEYChiave API OpenAI Responses per il Coordinatore / LLM worker.(non impostata → fallback)
OPENAI_MODELNome del modello passato a OpenAI.gpt-5.1

4. Dataset

Il paper valuta su sei benchmark CF pubblici (vedi experiment.tex):

Nome breveFonteUtentiElementiInterazioniDownloadPosiziona i file grezzi in
ML-100KMovieLens 100K9431,682100,000GroupLensdata/ml-100k/
ML-1MMovieLens 1M6,0403,7061,000,209GroupLensdata/ml-1m/
Genome 2021MovieLens Tag Genome 202137,94184,6612,000,000 (limitato)GroupLensdata/genome2021/
NetflixNetflix Prize342,44517,4342,000,000 (limitato)Kaggledata/netflix/
DoubanDouban Movie28,05749,1768,085,679HKUSTdata/douban/
AmazonAmazon Reviews 2018998,65330,9642,000,000 (limitato)UCSDdata/amazon/
Scarica lo strumento