Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
AGAS — إطار هجوم ترويج جماعي قائم على الوكلاء مدفوع بنموذج لغوي كبير يتلاعب بترتيبات أنظمة التوصية القائمة على التصفية التعاونية ذات الصندوق الأسود باستخدام استراتيجيات متعددة الأدوار تكيفية مع تفادي الكشف. | Kitploit
أدوات/GitHubGitHub/phkhanhtrinh23/agas
تعلم الآلةالأوراق والأبحاثالتعلم والتعليمأمن الذكاء الاصطناعيالهجوم العدائي
GitHubphkhanhtrinh23/agas

AGAS

إطار هجوم ترويج جماعي قائم على الوكلاء مدفوع بنموذج لغوي كبير يتلاعب بترتيبات أنظمة التوصية القائمة على التصفية التعاونية ذات الصندوق الأسود باستخدام استراتيجيات متعددة الأدوار تكيفية مع تفادي الكشف.

عرض المستودع
271منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

هجوم شيلينغ جماعي وكيلي فعّال وفعّال على أنظمة التوصية

هذا هو الكود الرسمي للورقة البحثية: "An Efficient and Effective Agentic Group Shilling Attack on Recommender Systems". تقدّم هذه الورقة AGAS، وهو هجوم شيلينغ مدفوع بنماذج اللغة الكبيرة (LLM) ضد أنظمة التوصية القائمة على التصفية التعاونية ذات الصندوق الأسود. يقوم منسّق (Coordinator) واحد بتنسيق مجموعة من العاملين (workers) الوهميين من المستخدمين المزيّفين عبر سلسلة من الجولات. في كل جولة، يختار المنسّق واحدة من ثماني استراتيجيات ويُسنِد دورًا لكل عامل. ثم يقرّر العاملون العناصر التي سيقيّمونها باستخدام حلقة استدلال خاصة بهم على نمط ReAct.

AGAS pipeline


1. نظرة عامة على المستودع```

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. ملخص الطريقة

يقوم AGAS بإنشاء أربعة أدوار للعاملين (رموز الورقة في `roles.py`):

| الرمز | الاسم الكامل | ما يفعله |
|--------|----------------|-------------------------------------------------------------------------|
| `PR`   | Profiler       | تقييمات آمنة لعناصر الحشو لاستكشاف المنصة وبناء مجموعات الجسور.  |
| `SN`   | Sniper         | دور الحمولة؛ الدفع المباشر نحو الهدف أو ترقية عنصر الجسر.              |
| `CA`   | Camouflageur   | دور التخفي؛ يعيد بناء الثقة من خلال نشاط يبدو حميدًا.                   |
| `IN`   | Inactive       | لا إجراء في هذه الجولة (تهدئة أو حجر صحي).                         |

في كل جولة يختار المنسق واحدة بالضبط من ثماني استراتيجيات من
`strategies.py` (انظر `method_strategies.tex`):

1. **Victim Probe** (`S1_VICTIM_PROBE`)
2. **Bridge Building** (`S2_BRIDGE_BUILDING`، لضحايا الرسم البياني فقط)
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`)

يقود المنسق هذه القرارات انطلاقًا من مجموعتي إشارات (`signals.py`):

* **إشارات العاملين** `τ_{t,w}, γ_{t,w}, φ_{t,w}` — الثقة، والمخاطر، ومدقق
  بنيوي. تطابق معادلات التحديث `method_coordinator.tex`
  تمامًا (`eq:trust_update`، `eq:risk_update`، `eq:risk_decay`،
  `eq:profile_validator`).
* **إشارات البيئة** `ρ^{(t)}, Δρ^{(t)}, η_t, ξ_t = (q_t, s_t), a_t` —
  الرتبة، وحركة الرتبة، ومعدل القبول، وإشارة الكبت، وعلم التنبيه. درجة
  الاشتباه `q_t` هي المجموع الموزون بمعامل 0.2 للمصطلحات الخمسة المعيارية
  `(d̂_t, δ̂_t, m̂_t, ŝ_t, g_t)` من `eq:round_suppression_terms` و
  `eq:round_suppression_score`.

### حلقة الجولة (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*)}]

تُنفَّذ الحلقة الخارجية في src/agas/simulation/episode.py وتحاكي algorithms/agas_end_to_end.tex.

3. البيئة

المكوّنالمتطلبتم اختباره مع
Python≥ 3.103.13.5
PyTorch≥ 2.1 (الأهداف فقط)2.11.0+cu128
CUDAاختياري12.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 وCUDA إلا لنماذج الضحية الخاصة بالتعلّم العميق (إضافة [targets]). تعمل حلقة AGAS الأساسية والمسارات القائمة على القواعد / البديلة على CPU دون أي اعتماد على GPU.

4. التثبيت```bash

pip install -e .

If you want to use the deep-learning victim models (LightGCN, NeuMF, …)

pip install -e '.[targets]'

متغيرات البيئة المطلوبة:

| المتغير            | الغرض                                                         | الافتراضي                |
|--------------------|---------------------------------------------------------------|--------------------------|
| `OPENAI_API_KEY`   | مفتاح OpenAI Responses API لوكلاء Coordinator / worker LLMs.   | *(غير معيّن → fallback)* |
| `OPENAI_MODEL`     | اسم النموذج المُمرَّر إلى OpenAI.                              | `gpt-5.1`                |

## 4. Datasets

تقيّم الورقة البحثية على ستة معايير CF عامة (انظر `experiment.tex`):

| الاسم المختصر | المصدر                    | المستخدمون | العناصر | التفاعلات          | التنزيل                                                            | ضع الملفات الخام في  |
|-------------|---------------------------|----------:|-------:|-------------------:|-------------------------------------------------------------------|---------------------|
| ML-100K     | MovieLens 100K            |       943 |  1,682 |            100,000 | [GroupLens](https://files.grouplens.org/datasets/movielens/ml-100k.zip) | `data/ml-100k/`     |
| ML-1M       | MovieLens 1M              |     6,040 |  3,706 |          1,000,209 | [GroupLens](https://files.grouplens.org/datasets/movielens/ml-1m.zip)   | `data/ml-1m/`       |
| Genome 2021 | MovieLens Tag Genome 2021 |    37,941 | 84,661 | 2,000,000 (محدود)  | [GroupLens](https://grouplens.org/datasets/movielens/tag-genome-2021/)  | `data/genome2021/`  |
| Netflix     | Netflix Prize             |   342,445 | 17,434 | 2,000,000 (محدود)  | [Kaggle](https://www.kaggle.com/datasets/netflix-inc/netflix-prize-data) | `data/netflix/`     |
| Douban      | Douban Movie              |    28,057 | 49,176 |          8,085,679 | [HKUST](http://shichuan.org/HIN_dataset.html)                     | `data/douban/`      |
| Amazon      | Amazon Reviews 2018       |   998,653 | 30,964 | 2,000,000 (محدود)  | [UCSD](https://nijianmo.github.io/amazon/index.html)              | `data/amazon/`      |
تنزيل الأداة