La sécurité de ton app, là où tu codes déjà.
Ton agent, ton dépôt, ta CI. Les mêmes contrôles que l'interface, la même preuve de propriété, les mêmes correctifs.
Serveur MCP
Ton agent scanne, corrige et revérifie.
Connexion OAuth depuis l'agent, ou une clé d'API. Cinq outils, rien qui écrive chez toi.
claude mcp add --transport http rustine https://mcp.rustine.io
// ~/.cursor/mcp.json
{ "mcpServers": { "rustine": { "url": "https://mcp.rustine.io" } } }URL : https://mcp.rustine.io Auth : OAuth, ou en-tête Authorization: Bearer <clé>
Inclus dans Pro. 14 jours d'essai avec Solo.
list_projectsTes projets et leur score.run_scanLance un scan rapide ou un audit complet.list_issuesLes problèmes ouverts, avec leur preuve.get_fixLe correctif à appliquer dans ton projet.recheck_issueRevérifie un problème après la correction.Dépôt GitHub
Ce qui ne se voit que dans le code.
Installe l'app GitHub sur un dépôt. Rustine lit la branche par défaut et l'historique récent, sans rien exécuter, sur une copie détruite après.
CRITIQUEclé AWS dans un commit du 03/09 · .env.localHAUTEnext 15.1.0 · CVE-2025-29927 · passe en 15.2.3MOYENsupabase/migrations · table orders sans RLSOKaucune clé service_role côté client
API · bientôt
Une clé d'API, les mêmes routes que l'app.
Aujourd'hui, les clés d'API servent au serveur MCP. Les routes de l'app leur ouvrent ensuite : une clé agit pour ton espace, avec ses quotas, et se révoque en un clic.
curl https://api.rustine.io/v1/scans \
-H "Authorization: Bearer rst_••••" \
-d '{"url": "https://monsaas.fr"}'
{ "id": "8f3a…", "status": "queued" }CLI et CI · bientôt
Bloquer le déploiement quand ça fuit.
Pas encore disponibles. Voilà à quoi ils ressembleront.
$ npx rustine scan monsaas.fr ✓ 35 contrôles · 1 problème ✗ CRITIQUE table users lisible sans connexion → npx rustine fix users-rls
# .github/workflows/rustine.yml
- uses: rustine/scan-action@v1
with:
url: ${{ vars.PREVIEW_URL }}
fail-on: high