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
BotLens — Artefact de recherche et serveur MCP qui audite les préoccupations de sécurité et de confidentialité des bots Discord tiers via une analyse à grande échelle des avis, un étiquetage par LLM et une taxonomie de 31 thèmes. | Kitploit
Outils/GitHubGitHub/ua-spectral/botlens
Analyse des VulnérabilitésCollecte d'InformationsSécurité WebProtection de la Vie PrivéeApprentissage AutomatiqueArticles et RechercheApprentissage et ÉducationCrawler
GitHubua-spectral/botlens

BotLens

Artefact de recherche et serveur MCP qui audite les préoccupations de sécurité et de confidentialité des bots Discord tiers via une analyse à grande échelle des avis, un étiquetage par LLM et une taxonomie de 31 thèmes.

1il y a 5 joursPas encore vérifié
Voir le dépôt

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

BotLens : un cadre d'audit de sécurité et de confidentialité pour les bots communautaires tiers sur les plateformes sociales

Article : Kofi Ampomah et 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

Évaluateurs d'artefacts : commencez par ARTIFACT-EVALUATION.md. Il associe chaque affirmation de l'article à la commande exacte qui la reproduit, liste les sorties et temps d'exécution attendus, et précise quels composants sont hors périmètre.

Aperçu

Ce dépôt contient le code source du pipeline BotLens, qui analyse les préoccupations de sécurité et de confidentialité (S&P) dans les bots communautaires tiers sur Discord au moyen d'une analyse de reviews à grande échelle et d'un audit des métadonnées. Le pipeline traite 183 142 reviews d'utilisateurs portant sur 23 102 bots collectés depuis Top.gg, identifie 8 832 reviews comme pertinentes pour la S&P — soit un rendement observé du pipeline de 4,82 % — et les rattache à une taxonomie S&P de 31 thèmes.

Structure du dépôt

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

Chaque figure générée par les scripts porte le nom du numéro de figure de son article (figures/fig02_sprr_over_time.png correspond à la Fig. 2, et ainsi de suite). Les scripts produisent exactement les figures de l'article : Figs. 2–14, 17 et 18. La Fig. 1 est le schéma du pipeline et les Figs. 15–16 sont des captures d'écran de l'interface du rapport BotLens.

Obtenir l'artefact

L'artefact est publié à l'adresse https://github.com/ua-spectral/BotLens. Chaque version GitHub est archivée de façon permanente sur Zenodo avec un DOI ; le DOI est indiqué dans l'annexe de l'artefact de l'article et sur la page de version du dépôt.

Données

Les données sont fournies dans le dépôt sous la forme de botlens-ndss-data.zip (41 Mo ; un fichier se décompresse en 515 Mo, au-delà de la limite par fichier de GitHub). Décompressez-le une fois, à la racine du dépôt :

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

Cela crée data/ à côté de config/ ; rien d'autre ne doit être téléchargé. L'arborescence est la suivante :

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)

Vérifiez l'intégrité avec sha256sum -c SHA256SUMS.txt depuis l'intérieur de data/. data/README.md décrit chaque fichier.

Architecture du pipeline

ÉtapeScriptDescriptionSortie clé
0stage0_preprocess.pyFusion des avis + métadonnées, détection de langue, Argos Translatedata/raw/reviews.csv
1stage1_llm_labeling.pyClassification binaire S&P par Ollama/Llama 3 8Bphase1_binary_labels.csv
1bstage1b_active_learning.pyÉchantillonnage par incertitude + étiquettes par vote majoritaireJeu d'entraînement amélioré
2stage2_prepare_data.pyFiltrage par confiance, sous-échantillonnage 5:1, découpages stratifiéstrain/val/test.csv
3stage3_finetune_deberta.pyRéglage fin de DeBERTa-v3-large (F1 = 0,938 à 30 % d'étiquetage)best_model/
4stage4_classify_all.pyInférence par lots sur les 183 142 avisall_reviews_classified.csv
5stage5_theme_assignment.pyOllama attribue les thèmes de la taxonomie à 31 thèmesprivacy_reviews_themed.csv
6stage6_emotion_classification.pyGoEmotions (RoBERTa) → 8 groupes d'affectsprivacy_reviews_full.csv
7stage7_analysis.pySPRR, TPR, SPRR par tag et par bot, affect par thèmedata/results/analysis_summary.json
8stage8_visualizations.pyFig. 2–9, y compris la tendance OLS de la Fig. 2 (R² = 0,35)figures/fig02_* … fig09_*

Métriques clés

  • SPRR (Security and Privacy Review Rate, taux d'avis liés à la sécurité et à la vie privée) : le pourcentage d'avis que notre pipeline a identifiés et retenus comme pertinents pour la S&P. SPRR global = 4,82 %. Il s'agit d'un taux d'avis identifiés par le pipeline, et non d'une mesure de vulnérabilités vérifiées, de comportements répréhensibles confirmés ou d'un risque au niveau des bots.
  • TPR (Theme Prevalence Rate, taux de prévalence des thèmes) : distribution des avis S&P sur la taxonomie à 31 thèmes, à l'exclusion des avis étiquetés unassigned.

Taxonomie

Télécharger l’outil