03-complet-saas · 1 à 2 jours · 8 min

Audit SaaS : l’isolation d’abord, pas les en-têtes.

Sur un SaaS, le trou qui coupe les revenus n’est pas un header manquant. C’est l’invoice de l’org A lue depuis l’org B. Le mode Complet SaaS existe pour ça. Sans deux tenants, l’isolation reste Non testé — écrit en tête du rapport, pas en note.

Quand l’ouvrir
  • SaaS multi-utilisateur : orgs, workspaces, équipes, facturation, webhooks
  • Le produit promet « vos données restent les vôtres »
  • Tu peux fournir au moins un compte-test ; deux tenants pour toute conclusion d’isolation
Agents
00–11 + spécialiste saas-multitenant (toujours)
Hors de ce mode
  • Un seul tenant : aucun IDOR trans-org Confirmé. Statut Non testé, confiance d’isolation = 0
  • Ce n’est pas un audit SOC 2, ni un SSPM pour les SaaS que tu consommes
  • Pas d’énumération d’ids, pas de bruteforce

Le mauvais « SaaS security »

La plupart des pages « SaaS security » vendent un poste de CISO : verrouiller Slack, Salesforce, Office 365. Ce n’est pas ça. Ici tu audites l’application que TU vends. Tes tenants. Tes IDs. Tes exports.

La règle des deux tenants

On s’authentifie A, on note les ids que l’UI et l’API exposent. On s’authentifie B (session séparée). On demande, avec B, une ressource de A dont l’id a été vu chez A — un GET. 200 avec les données de A = preuve. 403/404 = contrôle observé, pas un finding Confirmé. Un seul tenant + un org_id dans l’URL = Non testé. Confirmer un IDOR sans deux contextes est interdit.

Ce que la squad cherche

  • Invitation, SSO, session, reset (agent 04).
  • Rôles intra-tenant d’abord, puis trans-org (05 + spécialiste).
  • Object IDs, exports, webhooks, admin, recherche globale, avatars, S3, caches, impersonation.
  • Surface agent : l’agent 09 tourne toujours. Si rien n’existe, il l’écrit.

Couverture

Sans second tenant, la confiance globale est plafonnée à 3, même si le reste est soigné. La section Isolation existe toujours dans le rapport, même remplie de Non testé. C’est honnête. Un rapport qui cache ça ment.

Phrase type

Complet SaaS sur https://app.exemple.tld. Deux tenants dans le brief. Extérieur + intérieur. Comptes hors chat.

Avant de lancer

Je n’ai qu’un compte de démo.
On tourne. L’isolation reste Non testé. Le rapport le dit en tête. Tu ajoutes un second tenant plus tard et tu relances en Delta.
C’est aussi un audit MCP ?
09 tourne toujours sur un Complet SaaS. Si le produit EST un agent, ouvre plutôt le mode MCP et ajoute le spécialiste multi-tenant.

Le kit, pas le guide.

Open source, MIT. Tu clones, tu l’ouvres dans Claude, Codex, Cursor ou Hermes. Rapport tenu — ou le silence de la QA.

Open sourceMIT0 étoiles0 forks

github.com/cryptulien/security-kit