Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
AGAS — Framework d'attaque de shilling de groupe agentique piloté par LLM qui manipule les classements de systèmes de recommandation à filtrage collaboratif en boîte noire à l'aide de stratégies multi-rôles adaptatives tout en échappant à la détection. | Kitploit
Outils/GitHubGitHub/phkhanhtrinh23/agas
Apprentissage AutomatiqueArticles et RechercheApprentissage et ÉducationSécurité de l'IAAttaque Adversariale
GitHubphkhanhtrinh23/agas

AGAS

Framework d'attaque de shilling de groupe agentique piloté par LLM qui manipule les classements de systèmes de recommandation à filtrage collaboratif en boîte noire à l'aide de stratégies multi-rôles adaptatives tout en échappant à la détection.

Voir le dépôt
284il y a 12 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Une attaque efficace et efficiente par groupe d'agents de shilling sur les systèmes de recommandation

arXiv visitors

Ceci est le code officiel de l'article : « An Efficient and Effective Agentic Group Shilling Attack on Recommender Systems ». Cet article présente AGAS, qui est une attaque de shilling pilotée par LLM contre des systèmes de recommandation à filtrage collaboratif en boîte noire. Un Coordinateur orchestre un pool de workers utilisateurs factices sur une séquence de tours. À chaque tour, le Coordinateur choisit l'une des huit stratégies et attribue un rôle à chaque worker. Les workers décident ensuite quels items noter en utilisant leur propre boucle de raisonnement de style ReAct.

AGAS pipeline


1. Aperçu du dépôt

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. Récapitulatif de la méthode

AGAS instancie quatre rôles de travailleurs (symboles de l'article dans roles.py) :

SymboleNom completCe qu'il fait
PRProfilerÉvaluations sûres d'éléments de remplissage pour sonder la plateforme et construire des pools de pont.
SNSniperRôle de charge utile ; poussée directe de la cible ou promotion d'élément de pont.
CACamouflageurRôle furtif ; reconstruit la confiance avec une activité d'apparence bénigne.
INInactifAucune action ce tour (refroidissement ou quarantaine).

À chaque tour, le Coordinateur choisit exactement l'une des huit stratégies de strategies.py (voir method_strategies.tex) :

  1. Sonde de victime (S1_VICTIM_PROBE)
  2. Construction de pont (S2_BRIDGE_BUILDING, victimes de graphe uniquement)
  3. Échauffement (S3_WARM_UP)
  4. Première poussée (S4_FIRST_PUSH)
  5. Ralentissement silencieux (S5_SILENT_SLOWDOWN)
  6. Nettoyage de profil (S6_PROFILE_CLEANUP)
  7. Remplacement sûr (S7_SAFE_REPLACEMENT)
  8. Attaque principale (S8_MAIN_ATTACK)

Le Coordinateur pilote ces décisions à partir de deux groupes de signaux (signals.py) :

  • Signaux des travailleurs τ_{t,w}, γ_{t,w}, φ_{t,w} — confiance, risque et un validateur structurel. Les équations de mise à jour correspondent exactement à method_coordinator.tex (eq:trust_update, eq:risk_update, eq:risk_decay, eq:profile_validator).
  • Signaux d'environnement ρ^{(t)}, Δρ^{(t)}, η_t, ξ_t = (q_t, s_t), a_t — rang, mouvement de rang, taux d'acceptation, signal de suppression, indicateur d'alerte. Le score de suspicion q_t est la somme pondérée à 0,2 des cinq termes normalisés (d̂_t, δ̂_t, m̂_t, ŝ_t, g_t) issus de eq:round_suppression_terms et eq:round_suppression_score.

Boucle de tour (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*)}]

La boucle externe est implémentée dans src/agas/simulation/episode.py et reflète algorithms/agas_end_to_end.tex.

3. Environnement

ComposantExigenceTesté avec
Python≥ 3.103.13.5
PyTorch≥ 2.1 (cibles uniquement)2.11.0+cu128
CUDAfacultatif12.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 et CUDA ne sont requis que pour les modèles victimes d'apprentissage profond (extra [targets]). La boucle AGAS principale et les chemins basés sur des règles / substituts fonctionnent sur CPU sans dépendance GPU.

4. Installation

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

Variables d'environnement requises :

VariableObjectifValeur par défaut
OPENAI_API_KEYClé API OpenAI Responses pour les LLM Coordinateur / worker.(non définie → repli)
OPENAI_MODELNom du modèle transmis à OpenAI.gpt-5.1

4. Jeux de données

L'article évalue sur six benchmarks CF publics (voir experiment.tex) :

Télécharger l’outil