Aller au contenu
vetkit

Sécurité

La sécurité chez vetkit

Vous confiez votre code source à un auditeur de code : la sécurité est donc le produit. Voici comment nous protégeons votre code et comment nous prévenir si nous nous sommes trompés.

Dernière mise à jour :
Cette traduction est fournie par souci de commodité. En cas de divergence avec la version anglaise, la version anglaise prévaut.

Signaler une vulnérabilité

Écrivez à security@vetkit.dev en décrivant le problème, les étapes pour le reproduire, l’URL, l’endpoint ou la version de paquet concernés, ainsi que l’impact que vous lui attribuez. Un code de preuve de concept ou des captures d’écran sont utiles. Merci de ne pas ouvrir d’issues GitHub publiques pour des problèmes de sécurité.

Notre fichier security.txt est publié à l’adresse /.well-known/security.txt.

vetkit ne propose pas de programme de bug bounty rémunéré pendant la bêta. Nous vous sommes reconnaissants pour chaque signalement et, avec votre accord, nous vous créditerons publiquement une fois le problème corrigé.

Périmètre

Dans le périmètre :

  • vetkit.dev, app.vetkit.dev et api.vetkit.dev
  • Le paquet npm @vetkit/mcp
  • La GitHub App vetkit, y compris le traitement des webhooks et le pipeline d’audit

Hors périmètre :

  • Les tests de déni de service et les tests volumétriques, le spam ou l’ingénierie sociale visant le personnel ou les utilisateurs
  • Les problèmes identifiés dans les services tiers que nous utilisons (signalez-les au fournisseur concerné)
  • L’absence d’en-têtes recommandés ou de paramètres TLS conformes aux bonnes pratiques, sans impact démontré
  • Les rapports générés uniquement par des scanners automatisés, sans preuve de concept fonctionnelle

Ne testez que sur des comptes, organisations et dépôts qui vous appartiennent, et n’accédez jamais aux données d’autres utilisateurs, ne les modifiez pas et ne les conservez pas. Si vous y accédez par accident, arrêtez-vous et prévenez-nous.

Protection juridique

Si vous agissez de bonne foi et respectez cette politique, nous n’engagerons ni ne soutiendrons aucune action en justice contre vous en raison de vos recherches, et nous considérerons votre activité comme autorisée. Si un tiers engage une action contre vous pour des recherches conformes à cette politique, nous ferons savoir que vous avez agi avec notre autorisation.

Nos engagements

  • Accuser réception de votre signalement sous 3 jours ouvrés.
  • Vous tenir au courant pendant que nous analysons et corrigeons le problème.
  • Coordonner avec vous la divulgation publique une fois un correctif publié.

Comment nous protégeons votre code

Accès GitHub selon le principe du moindre privilège

La GitHub App vetkit demande des autorisations en lecture seule pour le contenu, les métadonnées et les pull requests, ainsi qu’un accès en lecture à votre adresse e-mail lors de la connexion. Elle ne peut pas pousser de code, modifier des paramètres ni accéder aux dépôts que vous n’avez pas sélectionnés. Pour chaque audit, nous générons un jeton d’installation limité à ce seul dépôt, ainsi qu’au contenu et aux métadonnées en lecture seule. Il expire en moins d’une heure et n’est jamais écrit sur disque ni en base de données ; nous ne stockons pas du tout votre jeton utilisateur GitHub.

Aucune exécution de code

Les audits n’installent jamais de dépendances, n’exécutent jamais de scripts de build ni de tests. Les extractions sont superficielles, les hooks git sont désactivés, les liens symboliques ne sont pas matérialisés et les analyseurs ne lisent les fichiers que via un index de fichiers contrôlé. Les fichiers de configuration de scanner propres au dépôt sont ignorés : un dépôt ne peut donc pas masquer ses propres constats. Des limites de taille et de nombre de fichiers arrêtent les dépôts trop volumineux avant l’analyse.

Espaces de travail éphémères

Chaque audit s’exécute dans un nouveau répertoire temporaire, supprimé lorsque l’audit se termine, échoue ou est annulé. Un processus de nettoyage périodique supprime tout ce qu’un worker défaillant aurait laissé derrière lui. Les processus des analyseurs s’exécutent avec des délais d’expiration, des limites de sortie et un environnement restreint à une liste d’autorisation, qui ne contient pas nos identifiants.

Minimisation des données

Nous conservons les constats, pas les dépôts. Les valeurs des secrets sont masquées avant stockage et seul un hachage irréversible est conservé pour suivre un constat d’un audit à l’autre. Les jetons de session et les secrets des clés d’API sont stockés sous forme de hachages. Les clés d’API ont des portées, sont soumises à des limites de débit, peuvent expirer et sont révoquées instantanément.

Transport et stockage

Tout le trafic passe par HTTPS ; vetkit.dev figure sur la liste de préchargement HSTS, car il fait partie du domaine de premier niveau .dev. Les cookies de session sont HttpOnly, Secure et SameSite=Lax, et les requêtes modifiant l’état sont vérifiées par rapport à une liste d’origines autorisées. Notre fournisseur de base de données chiffre les données au repos.

Intégrité des webhooks

Les livraisons de webhooks GitHub sont vérifiées par une signature HMAC avant d’être traitées, et les livraisons en double sont ignorées.

Consultez également notre Politique de confidentialité pour savoir ce que nous stockons et pendant combien de temps.