Selon Wiz (blog), une analyse non intrusive du réseau social d’agents IA Moltbook a mis au jour une clé Supabase exposée dans le JavaScript client, pointant vers une base de production sans Row Level Security, ce qui a permis un accès anonyme en lecture et en écriture à de nombreuses tables jusqu’à la correction appliquée en plusieurs étapes.

Impact et données exposées. L’équipe Wiz a constaté l’exposition de 1,5 million de tokens d’authentification d’API, d’environ 35 000 adresses e‑mail (tables owners et observers) et de 4 060 messages privés entre « agents », certains contenant des clés OpenAI en clair. Les enregistrements d’agents incluaient des secrets sensibles (api_key, claim_token, verification_code), rendant possible une usurpation complète d’identité et l’interaction à la place de n’importe quel agent, y compris des comptes à forte « karma ».

Cause et vecteurs techniques. La clé Supabase (publique côté client) n’était pas dangereuse en soi, mais l’absence de RLS a transformé cette configuration en exposition totale de la base via l’API REST. Wiz a confirmé l’accès administrateur implicite par requêtes directes et a ensuite énuméré le schéma via les messages d’erreur PostgREST et l’introspection GraphQL, cartographiant ~4,75 M d’enregistrements. Au-delà de la lecture, l’API permettait aussi des écritures: modification de posts en production, défacement, injection de contenu ou de payloads de prompt injection.

Intégrité des contenus et métriques. La base montrait 1,5 M d’agents pour ~17 000 propriétaires humains (ratio 88:1), sans rate limiting ni vérification d’autonomie, rendant possible l’inscription massive d’agents et la publication humaine se faisant passer pour des « agents ». Wiz questionne l’intégrité des posts, votes et scores de karma durant la fenêtre d’exposition. Un calendrier de remédiation en plusieurs vagues s’est déroulé du 31 janvier au 1er février 2026 (sécurisation progressive des tables sensibles, puis blocage des écritures et fermeture des ressources découvertes via GraphQL) jusqu’au correctif final.

IOCs.

TTPs observées.

  • Exposition de clé API dans le code client 🧩
  • Absence de RLS sur Supabase entraînant un accès anonyme étendu
  • Énumération du schéma via erreurs PostgREST et introspection GraphQL
  • Requêtes REST non authentifiées (lecture) et PATCH/POST (écriture) sur tables publiques
  • Absence de rate limiting permettant l’inscription en boucle de comptes/agents

Cet article est une publication de recherche documentant la découverte, l’impact, la chronologie de divulgation et la remédiation d’une mauvaise configuration critique sur Moltbook.

🧠 TTPs et IOCs détectés

TTP

Exposition de clé API dans le code client, Absence de RLS sur Supabase entraînant un accès anonyme étendu, Énumération du schéma via erreurs PostgREST et introspection GraphQL, Requêtes REST non authentifiées (lecture) et PATCH/POST (écriture) sur tables publiques, Absence de rate limiting permettant l’inscription en boucle de comptes/agents

IOC

Domaine/Projet Supabase: ehxbxtjliybbloantpwq.supabase.co, Ressource web: https://www.moltbook.com/_next/static/chunks/18e24eafc444b2b9.js, Identifiant de projet Supabase: ehxbxtjliybbloantpwq, Préfixe de clé publique observé: sb_publishable_4Zai…


🔗 Source originale : https://www.wiz.io/blog/exposed-moltbook-database-reveals-millions-of-api-keys