AgentSkillsCN

multi-tenant-guard

在 DataPilot 中验证多租户数据隔离机制。在编写数据库查询、服务,或任何访问数据的代码时,应主动采取措施,确保 tenant_id 隔离机制得到正确实现。

SKILL.md
--- frontmatter
name: multi-tenant-guard
description: Verifies multi-tenant data isolation in DataPilot. Use proactively when writing database queries, services, or any code that accesses data to ensure tenant_id isolation is correctly implemented.
allowed-tools: Read, Grep

Multi-Tenant Guard — DataPilot

Règle fondamentale

CHAQUE accès à la base de données DOIT filtrer par tenant_id. Une faille = fuite de données client = mort du produit.

Checklist à vérifier sur chaque service

python
# CORRECT
db.query(Dashboard).filter(
    Dashboard.id == id,
    Dashboard.tenant_id == current_user.tenant_id  # ✔️
).first()

# DANGEREUX - ne jamais faire
db.query(Dashboard).filter(Dashboard.id == id).first()  # ❌ pas de tenant check

Commande de vérification

Recherche les queries sans tenant_id :

bash
grep -r ".query(" backend/app/services/ | grep -v "tenant_id"

Si une ligne apparaît → faille potentielle à corriger.