Aller au contenu principal

Shieldify

Auditer la sécurité de son code en cinq minutes. On connecte un dépôt GitHub ou GitLab, six scanners tournent dans des conteneurs éphémères, et l'IA rédige un rapport avec une note globale et une correspondance OWASP Top 10.

Produit persoApp web
shieldify.dev
Aperçu de Shieldify

Le contexte

Shieldify part d'un constat : les fuites de données se multiplient, et la plupart auraient pu être évitées. Un audit de sécurité classique coûte cher, prend des semaines et demande une expertise que les petites équipes n'ont pas.

L'idée : rendre l'audit accessible. On connecte son dépôt, le pipeline analyse le code, et on télécharge un rapport : note globale de A à F, vulnérabilités par sévérité, correspondance OWASP Top 10, recommandations de correction. Il existe en deux formats : un résumé pour les décideurs et un rapport technique pour les développeurs.

Ma mission

J'ai conçu et développé Shieldify seul, dans un mono-repo Turborepo : une landing Nuxt 3 statique, une app Nuxt 3 en SPA, une API Nitro autonome et cinq packages partagés (scanner, génération de rapports, IA, base de données, commun). Le pipeline lance six scanners dans des conteneurs Docker éphémères : Semgrep pour l'analyse statique, Trivy pour les dépendances et l'infrastructure as code, Gitleaks pour les secrets, audits npm et pip, licences. L'API Claude d'Anthropic analyse ensuite les résultats et rédige le rapport, exporté en PDF.

Un produit de sécurité doit lui-même être irréprochable : authentification maison JWT avec double authentification TOTP, mots de passe hachés en argon2id, tokens OAuth GitHub et GitLab chiffrés en AES-256-GCM, validation Zod de toutes les entrées, rapports stockés sur Scaleway S3 avec des URL présignées à durée limitée. Les paiements (abonnements et crédits) passent par Stripe avec des webhooks signés. Le tout est déployé avec Coolify sur un VPS OVH.

Construire un produit de sécurité oblige à s'appliquer ce qu'on audite chez les autres : chaque choix d'architecture devient un cas d'école. J'ai aussi aimé faire de Claude un rédacteur de rapports. À partir des sorties brutes de six scanners, il rédige un document qu'un non-technicien peut comprendre.

Ce que fait l'app

  • Connexion des dépôts via OAuth GitHub et GitLab, premier scan gratuit, aucune expertise requise
  • Six scanners dans des conteneurs Docker éphémères : SAST, dépendances, secrets, infrastructure as code, licences, OWASP
  • Rapports analysés et rédigés par l'API Claude, exportés en PDF : résumé pour les décideurs ou rapport technique détaillé
  • Note de sécurité de A à F, suivi des scans dans le temps et badge de sécurité pour le README
  • Scans programmés chaque semaine ou chaque mois, avec alertes
  • Sécurité du produit lui-même : double authentification TOTP, argon2id, chiffrement AES-256-GCM, URL présignées
  • Abonnements et crédits via Stripe, interface en français et en anglais

La stack

  • Nuxt 3
  • Nitro
  • TypeScript
  • Prisma
  • PostgreSQL
  • Tailwind CSS
  • API Claude
  • API Stripe
  • Scaleway S3
  • Docker
  • Turborepo
  • Coolify