Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
BotLens — Исследовательский артефакт и MCP-сервер, который проводит аудит проблем безопасности и конфиденциальности в сторонних Discord-ботах посредством крупномасштабного анализа отзывов, разметки с помощью LLM и таксономии из 31 темы. | Kitploit
Инструменты/GitHubGitHub/ua-spectral/botlens
Анализ уязвимостейСбор информацииВеб-безопасностьКонфиденциальностьМашинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеКраулер
GitHubua-spectral/botlens

BotLens

Исследовательский артефакт и MCP-сервер, который проводит аудит проблем безопасности и конфиденциальности в сторонних Discord-ботах посредством крупномасштабного анализа отзывов, разметки с помощью LLM и таксономии из 31 темы.

15 дней назадЕщё не проверено
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

BotLens: фреймворк аудита безопасности и конфиденциальности для сторонних ботов сообществ на социальных платформах

Статья: Kofi Ampomah and Tu Le. Measuring Users' Security and Privacy Concerns About Third-Party Community Bots on Discord. Network and Distributed System Security (NDSS) Symposium 2027. https://dx.doi.org/10.14722/ndss.2027.230535

Рецензентам артефактов: начните с ARTIFACT-EVALUATION.md. В нём каждое утверждение из статьи сопоставлено с точной командой, воспроизводящей его, перечислены ожидаемые результаты и время выполнения, а также указано, какие компоненты выходят за рамки.

Обзор

Этот репозиторий содержит исходный код конвейера BotLens, который анализирует проблемы безопасности и конфиденциальности (S&P) в сторонних ботах сообществ Discord посредством крупномасштабного анализа отзывов и аудита метаданных. Конвейер обрабатывает 183 142 пользовательских отзыва о 23 102 ботах, собранных с Top.gg, выделяет 8 832 отзыва как относящихся к S&P — наблюдаемая производительность конвейера составляет 4,82% — и сопоставляет их с таксономией S&P из 31 темы.

Структура репозитория

BotLens/
├── README.md                          # This file
├── ARTIFACT-EVALUATION.md             # Claim → command → expected output
├── LICENSE                            # See License below
├── CITATION.cff                       # How to cite (also used by Zenodo)
├── botlens-ndss-data.zip              # The data; unpack to data/ (see Data below)
├── requirements-lock.txt              # Exact versions used for the paper
├── requirements.txt                   # Looser version bounds
│
├── config/                            # Pipeline configuration
│   ├── __init__.py
│   ├── settings.py                    # Paths, model params, thresholds
│   └── taxonomy.py                    # 31-theme S&P taxonomy (single source of truth)
│
├── scrapers/                          # Data collection scripts
│   ├── topgg_metadata_scraper.py      # Bot metadata scraper (Top.gg pages)
│   ├── topgg_reviews_scraper.py       # Bot review scraper (Top.gg reviews)
│   └── discord_server_scanner.py      # Server bot scanner — OUT OF SCOPE, see below
│
├── scripts/                           # Pipeline stages + analysis
│   ├── stage0_preprocess.py           # Merge, clean, detect language, translate
│   ├── stage1_llm_labeling.py         # Binary S&P classification via Ollama
│   ├── stage1b_active_learning.py     # Active learning loop
│   ├── stage2_prepare_data.py         # Train/val/test splits with balancing
│   ├── stage3_finetune_deberta.py     # Fine-tune DeBERTa-v3-large classifier
│   ├── stage4_classify_all.py         # Classify all 183K reviews
│   ├── stage5_theme_assignment.py     # Assign 31-theme taxonomy themes
│   ├── stage6_emotion_classification.py # GoEmotions → Ekman-style groups
│   ├── stage7_analysis.py             # Sec. IV-A: SPRR, TPR, per-tag/per-bot tables
│   ├── stage8_visualizations.py       # Figs. 2–9
│   ├── rq3_permissions_metadata.py    # RQ3 (Sec. IV-D): statistics + Figs. 10–14, 18
│   ├── language_affective_analysis.py # Appendix B: Fig. 17
│   ├── experiment_labeling_pct.py     # Labeling-budget experiment (10–45%)
│   ├── create_irr_sheets.py           # Inter-rater reliability labeling sheets
│   ├── compute_kappa.py               # Cohen's kappa (Sec. III-C3)
│   ├── check_langs.py                 # Language distribution (Table IV; needs raw crawl)
│   └── prep_30pct_for_al.py           # Prepare labels for active learning
│
├── tests/
│   └── test_smoke.py                  # Fast integrity checks, no data required
│
└── mcp_server/                        # BotLens MCP server (Sec. V)
    ├── server.py                      # The six tools of Sec. V-B2 (+ internal helpers)
    ├── example_client.py              # MCP SDK client reproducing Use Cases 1 and 2
    └── benchmark_latency.py           # Sec. V-D latency session

Каждый рисунок, создаваемый скриптами, назван по номеру рисунка в статье (figures/fig02_sprr_over_time.png — это рис. 2, и так далее). Скрипты создают ровно те рисунки, что и в статье: рис. 2–14, 17 и 18. Рис. 1 — это схема конвейера, а рис. 15–16 — скриншоты интерфейса отчёта BotLens.

Получение артефакта

Артефакт опубликован по адресу https://github.com/ua-spectral/BotLens. Каждый релиз на GitHub постоянно архивируется на Zenodo с присвоением DOI; DOI указан в приложении об артефакте к статье и на странице релиза репозитория.

Данные

Данные поставляются в репозитории в виде botlens-ndss-data.zip (41 МБ; один файл распаковывается до 515 МБ, что превышает лимит GitHub на файл). Распакуйте его один раз в корневом каталоге репозитория:

python -m zipfile -e botlens-ndss-data.zip .

Это создаёт data/ рядом с config/; больше ничего скачивать не нужно. Структура такова:

BotLens/
└── data/
    ├── processed/
    │   ├── all_reviews_classified.csv    # 183,142 rows — required by the MCP server
    │   ├── privacy_reviews_full.csv      # 8,832 S&P reviews w/ themes + affect
    │   ├── bot_metadata_cleaned.csv      # 23,102 bots (Table I, MCP fallback)
    │   ├── train.csv / val.csv / test.csv
    │   └── label_map.json
    ├── results/                          # Tables behind the paper's numbers
    ├── reference_figures/                # Our output of every generated figure
    └── irr/                              # Annotator workbooks (Sec. III-C3)

Проверьте целостность с помощью sha256sum -c SHA256SUMS.txt изнутри data/. data/README.md описывает каждый файл.

Архитектура конвейера

ЭтапСкриптОписаниеКлючевой результат
0stage0_preprocess.pyОбъединение отзывов + метаданных, определение языка, Argos Translatedata/raw/reviews.csv
1stage1_llm_labeling.pyБинарная классификация S&P с помощью Ollama/Llama 3 8Bphase1_binary_labels.csv
1bstage1b_active_learning.pyВыборка по неопределённости + метки по большинству голосовУлучшенный обучающий набор
2stage2_prepare_data.pyФильтрация по уверенности, понижающая дискретизация 5:1, стратифицированные разбиенияtrain/val/test.csv
3stage3_finetune_deberta.pyДообучение DeBERTa-v3-large (F1 = 0.938 при 30% разметки)best_model/
4stage4_classify_all.pyПакетный инференс по всем 183 142 отзывамall_reviews_classified.csv
5stage5_theme_assignment.pyOllama присваивает темы из таксономии из 31 темыprivacy_reviews_themed.csv
6stage6_emotion_classification.pyGoEmotions (RoBERTa) → 8 групп аффектаprivacy_reviews_full.csv
7stage7_analysis.pySPRR, TPR, SPRR по тегам и по ботам, аффект по темамdata/results/analysis_summary.json
8stage8_visualizations.pyРис. 2–9, включая тренд OLS на рис. 2 (R² = 0.35)figures/fig02_* … fig09_*

Ключевые метрики

  • SPRR (Security and Privacy Review Rate — доля отзывов о безопасности и приватности): процент отзывов, которые наш конвейер определил и сохранил как относящиеся к S&P. Общий SPRR = 4.82%. Это доля отзывов, определённых конвейером, а не мера подтверждённых уязвимостей, подтверждённых нарушений или риска на уровне ботов.
  • TPR (Theme Prevalence Rate — доля распространённости тем): распределение отзывов S&P по таксономии из 31 темы, за исключением отзывов с меткой unassigned.

Таксономия

Таксономия S&P из 31 темы (таблица V в статье) включает 20 тем, унаследованных от Akgul et al. (USENIX Security 2024), и 11 тем, разработанных индуктивно в этом исследовании — 2 дополнительные темы по безопасности и защищённости и 9 тем, специфичных для Discord. config/taxonomy.py является единственным источником истины; stage8_visualizations.py выводит свои группировки из него.

Скачать инструмент