Bug bounty
Trouvez une faille de sécurité. Soyez payé pour ça.
My AI Fin App contient les connexions bancaires, les budgets et les dettes de vraies personnes. Si vous trouvez un moyen d'accéder à des données qui ne sont pas les vôtres, nous voulons l'apprendre de vous en premier, et nous vous paierons pour ça. Cette page dit ce qui est couvert, ce qui ne l'est pas, comment tester sans nuire à personne et ce qui se passe après votre message.
Signaler une vulnérabilitéPrimes payées
Les signalements valides et originaux sont récompensés. Le montant dépend de la gravité et de la qualité du signalement.
Protection juridique
La recherche de bonne foi qui suit ces règles est autorisée. Nous n'engagerons aucune poursuite contre vous.
Les ingénieurs répondent
Les signalements arrivent directement chez les ingénieurs qui construisent l'app. Comptez une première réponse sous quelques jours ouvrés.
Couvert
Tout ce qu'un utilisateur connecté peut atteindre, et ce qui se trouve derrière :
- L'app web sur www.myaifin.app, y compris tout ce qui se trouve sous /app.
- Les fonctions edge appelées par l'app sur qvmgeoeigwztyrzayykn.supabase.co/functions/v1/.
- Les règles d'accès de la base de données : lire ou modifier les lignes d'un autre foyer, c'est précisément ce pour quoi ce programme existe.
- Le connecteur pour assistants sur www.myaifin.app/mcp, ses points de terminaison OAuth et les jetons d'accès personnels.
- Les apps iOS et Android.
- La connexion, l'authentification à deux facteurs, la réinitialisation du mot de passe, la récupération de compte et les invitations au foyer.
Ce qui compte le plus
- Lire ou modifier les données financières d'un autre utilisateur ou d'un autre foyer.
- Prendre le contrôle d'un compte, ou contourner l'authentification à deux facteurs.
- Obtenir un jeton de connexion bancaire, ou agir sur la connexion bancaire de quelqu'un d'autre.
- Appeler une fonction edge ou le connecteur pour assistants en vous faisant passer pour quelqu'un d'autre.
- XSS stockée, falsification de requête côté serveur ou exécution de code sur tout élément couvert.
Non couvert
Ces cas ne donnent pas droit à une prime. Certains sont de vrais problèmes chez quelqu'un d'autre : signalez-les à ce quelqu'un.
- L'infrastructure de Plaid, Supabase, Vercel, Google ou Apple. Signalez-la via leurs propres programmes.
- Déni de service, tests de charge ou tout ce qui dégrade l'app pour les autres.
- Ingénierie sociale, hameçonnage ou attaques physiques contre les utilisateurs ou les personnes qui travaillent sur l'app.
- Résultats de scanners automatiques sans preuve d'impact fonctionnelle.
- En-têtes de sécurité, attributs de cookies ou enregistrements e-mail (SPF, DKIM, DMARC) manquants sans impact démontré.
- Clickjacking sur des pages sans action sensible, self-XSS et CSRF de déconnexion.
- Limites de débit sur des points de terminaison qui ne protègent ni secret ni dépense.
- Numéros de version, traces d'erreur ou bibliothèques obsolètes sans moyen de les exploiter.
- Tout ce qui nécessite un téléphone rooté ou jailbreaké, ou l'appareil déverrouillé de quelqu'un d'autre entre vos mains.
Connu et accepté
Nous avons examiné chacun de ces points, plus d'une fois, et ils sont voulus. Les signalements qui les concernent reçoivent une courte réponse renvoyant ici, sans récompense.
- La clé d'API Supabase dans l'app
- La clé publiable est livrée volontairement dans chaque copie de l'app web et mobile. Elle désigne le projet ; elle ne connecte personne. Ce qui protège les données, c'est le jeton de connexion de l'utilisateur et la sécurité au niveau des lignes de la base de données.
- Access-Control-Allow-Origin sur supabase.co
- L'API de Supabase renvoie l'origine de la requête, avec Allow-Credentials. L'app ne se connecte jamais par cookies : le jeton passe dans l'en-tête Authorization, qu'un navigateur n'ajoute pas pour un autre site, donc une page d'une autre origine ne peut pas faire de requête connectée au nom d'un visiteur.
- Votre propre compte, lu avec votre propre jeton
- Des points d'accès comme /auth/v1/user renvoient l'e-mail, l'identifiant et les informations de connexion du compte connecté. Un constat qui a besoin dès le départ du jeton d'accès de quelqu'un, puis ne fait que ce que cette session pouvait déjà faire, n'est pas une vulnérabilité.
- Noms de tables et de colonnes dans les erreurs de l'API
- Le schéma de la base de données n'est pas secret. L'accès est décidé par la sécurité au niveau des lignes sur chaque table, pas en cachant les noms.
- 'unsafe-inline' pour les styles
- La politique de sécurité du contenu autorise les styles en ligne, dont les composants de l'interface ont besoin. Les scripts en ligne ne sont pas autorisés.
Règles d'engagement
- Testez uniquement avec des comptes que vous avez créés. Pour tester l'isolation des foyers, créez deux comptes gratuits et essayez de passer de l'un à l'autre.
- Si vous voyez des données qui ne sont pas les vôtres, arrêtez-vous. Ne les gardez pas, ne les modifiez pas, ne cherchez pas plus loin ; dites ce que vous avez vu dans votre signalement.
- Ne connectez aucune banque autre que la vôtre, et ne déconnectez ni ne perturbez les connexions des autres.
- Gardez un trafic automatisé faible. Rien qui ralentisse l'app pour de vrais foyers.
- Une vulnérabilité par signalement, sauf si plusieurs n'ont d'importance qu'ensemble.
- Gardez-le confidentiel jusqu'à la correction, ou pendant 90 jours après votre signalement, selon ce qui arrive en premier. Nous pouvons convenir d'une autre date.
- Exiger un paiement avant de partager les détails, c'est de l'extorsion, pas de la recherche, et cela met fin à l'échange.
Primes
Les montants ne sont pas publiés. Chaque signalement valide est payé selon son impact réel, la part de cet impact que vous avez démontrée et la clarté du signalement. Un signalement court et reproductible d'une faille critique vaut plus qu'un long signalement sur une faille mineure.
Critique
Prime la plus élevée
Lire ou modifier les données de n'importe quel foyer, prise de contrôle de compte sans interaction, vol de jetons de connexion bancaire.
Élevée
Prime importante
Contourner l'authentification à deux facteurs, XSS stockée dans l'app, agir comme un autre utilisateur via une fonction edge.
Moyenne
Prime
Fuite de données personnelles limitées d'un autre utilisateur, CSRF sur une action sensible, faiblesses des liens d'invitation ou de réinitialisation.
Faible
Prime à notre discrétion
Problèmes à l'impact réel mais faible, ou qui exigent des conditions peu probables.
- Le premier signalement d'un problème reçoit la prime. Les doublons suivants reçoivent nos remerciements.
- Les primes sont payées une fois le problème confirmé, par un moyen convenu ensemble.
- Les impôts sur une prime sont à votre charge. Nous ne pouvons pas payer là où la loi l'interdit, y compris aux personnes figurant sur des listes de sanctions.
Comment signaler
Écrivez à l'adresse ci-dessous avec « Security » dans l'objet. Merci d'inclure :
- Ce que vous avez trouvé, et la gravité que vous lui donnez.
- Les étapes de reproduction : les URL, les requêtes et les comptes utilisés (les vôtres).
- Ce qu'un attaquant pourrait réellement en faire.
- Tout ce que vous avez vu qui ne vous appartenait pas. Dites-le, et arrêtez-vous là.
Et ensuite
1
Reçu
Une réponse sous quelques jours ouvrés pour confirmer la réception de votre signalement.
2
Évalué
Nous le reproduisons et vous indiquons la gravité retenue, généralement sous deux semaines.
3
Corrigé
Nous le corrigeons et vous prévenons, pour que vous puissiez vérifier la correction si vous le souhaitez.
4
Payé
La prime est versée.
Protection juridique
Si vous suivez cette page de bonne foi, nous considérons votre recherche comme autorisée. Nous n'engagerons pas de poursuites contre vous et ne vous signalerons pas aux autorités pour cela, et si un tiers agit contre vous pour une recherche conforme à ces règles, nous ferons savoir qu'elle était autorisée.
La bonne foi signifie que vous avez évité de nuire aux utilisateurs, n'avez pas accédé ni conservé plus de données que nécessaire pour montrer le problème, et nous avez laissé un délai raisonnable pour corriger avant d'en parler à quiconque. En cas de doute sur ce qui est permis, demandez d'abord.
Ce programme est géré par Kind of Good Apps, LLC à sa discrétion et peut changer ou prendre fin à tout moment. Les primes sont décidées au cas par cas. Les tests qui enfreignent ces règles ne sont pas couverts par la protection juridique.