Skip to main content
Glama
Miro-sh

yeswehack-mcp

by Miro-sh

YesWeHack MCP

Serveur Model Context Protocol non officiel et entièrement en lecture seule pour un compte hunter YesWeHack.

Il s'authentifie directement avec l'adresse e-mail, le mot de passe et le secret TOTP du compte. Aucun navigateur et aucun Personal Access Token ne sont requis. Le jeton de session obtenu reste uniquement en mémoire.

Ce projet n'est ni développé, ni sponsorisé, ni approuvé par YesWeHack.

Fonctionnalités

  • Consultation des programmes publics et privés accessibles au hunter

  • Lecture des règles, scopes, exclusions et grilles de récompenses

  • Vérification locale d'une URL, d'un domaine ou d'une IPv4 contre les scopes

  • Consultation et recherche des rapports du hunter

  • Chronologie, statistiques et tableau de bord du compte

  • Consultation du solde et de l'historique des crédits

  • Hacktivity et classement lorsqu'ils sont publiés par le programme

  • Métadonnées des credentials de test avec secrets systématiquement masqués

Related MCP server: HackerOne MCP Server

Prérequis

  • Node.js 20 ou supérieur

  • npm

  • Un compte hunter YesWeHack avec TOTP activé

  • Un client MCP, par exemple Codex CLI

Installation rapide

git clone https://github.com/Miro-sh/yeswehack-mcp.git
cd yeswehack-mcp
npm ci
cp .env.example .env
chmod 600 .env

Compléter ensuite .env :

YESWEHACK_EMAIL=adresse@example.com
YESWEHACK_PASSWORD="mot_de_passe"
YESWEHACK_TOPT_KEY=SECRET_BASE32

Puis compiler et enregistrer le serveur dans Codex CLI :

npm run build
codex mcp add yeswehack -- node "$PWD/dist/src/index.js"

Redémarrer Codex CLI, puis appeler session_status pour vérifier la connexion.

Variables d'environnement

Variable

Description

YESWEHACK_EMAIL

Adresse e-mail du compte hunter

YESWEHACK_PASSWORD

Mot de passe du compte

YESWEHACK_TOPT_KEY

Secret TOTP Base32 ou URI otpauth:// complète

YESWEHACK_TOTP_KEY

Alias accepté pour YESWEHACK_TOPT_KEY

YESWEHACK_ENV_FILE

Chemin optionnel vers un autre fichier d'environnement

Si le mot de passe contient # ou des espaces, il faut l'entourer de guillemets doubles. Le nom YESWEHACK_TOPT_KEY conserve volontairement l'orthographe historique utilisée par le projet.

Outils MCP

Outil

Description

session_status

Vérifie la configuration et l'authentification

list_accessible_programs

Liste les programmes explicitement accessibles

search_programs

Recherche le catalogue visible

get_program

Lit le détail, les règles et les scopes d'un programme

check_scope

Compare une cible aux scopes déclarés

recently_updated_programs

Repère les programmes récemment modifiés

compare_programs

Compare deux à cinq programmes

get_program_hacktivity

Lit la hacktivity publiée par un programme

get_program_ranking

Lit le classement publié par un programme

list_program_credentials

Liste les métadonnées des credentials, secrets masqués

get_my_credit_balance

Retourne le nombre de crédits disponibles

get_my_credit_history

Liste les gains et dépenses de crédits

list_my_reports

Liste les rapports du hunter

search_my_reports

Recherche les rapports avec filtres

get_my_report

Lit le détail d'un rapport

get_report_activity

Lit la chronologie d'un rapport

my_report_status_counts

Compte les rapports par statut

my_hunter_dashboard

Retourne les statistiques agrégées du hunter

La hacktivity, le classement et les credentials dépendent des options et droits de chaque programme. L'outil renvoie une réponse explicite lorsqu'une fonction n'est pas publiée ou accessible.

Sécurité

  • Tous les outils sont annotés en lecture seule.

  • Aucune création ou modification de rapport, commentaire, statut ou profil n'est exposée.

  • Le jeton d'accès n'est jamais écrit sur disque ni renvoyé par un outil.

  • Les logins, e-mails, alias et mots de passe des credentials sont remplacés par de simples indicateurs de présence.

  • Les jetons de tracker et les URL de pièces jointes sont exclus des résultats.

  • .env et ses variantes sont ignorés par Git ; seul .env.example est suivi.

check_scope est une aide technique conservatrice. Il ne remplace jamais la lecture des règles, exclusions et conditions particulières du programme avant un test de sécurité.

Architecture

src/index.ts            point d'entrée stdio MCP
src/tools.ts            outils principaux
src/advanced-tools.ts   outils avancés et projections sécurisées
src/auth.ts             connexion email/password/TOTP et cache mémoire
src/api.ts              client HTTP YesWeHack authentifié
src/scope.ts            moteur local de correspondance des scopes
test/                   tests unitaires

Lors du premier appel authentifié, le serveur effectue /login, génère le code TOTP localement, puis finalise la connexion avec /account/totp. Le jeton est mis en cache en mémoire et renouvelé automatiquement si l'API répond 401.

Développement

npm ci
npm run check
npm test
npm run build

Tests avec un compte configuré :

npm run smoke
npm run smoke:mcp

Les tests automatisés ne nécessitent pas de véritables identifiants et n'affichent jamais le contenu de .env. Le workflow GitHub Actions exécute le type-checking, les tests et la compilation sur chaque push et pull request.

Contribution et sécurité

Les contributions sont détaillées dans CONTRIBUTING.md. Pour signaler une vulnérabilité, suivre SECURITY.md et ne jamais ouvrir une issue contenant des identifiants, un secret TOTP ou un jeton.

Licence

Distribué sous licence MIT. Voir LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only interaction with App Store Connect via MCP tools, including listing apps, versions, builds, and review submissions, with compliance boundaries and no write operations by default.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    A local, read-only MCP server that connects your HackerOne researcher account to Claude Desktop and Claude Code, helping you find targets, analyze program scopes, review reports and earnings, and draft bug reports.
    17
    4
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Read-only MCP access to a personal Telegram account. Allows querying chats, reading and searching messages via Streamable HTTP.
    -