Altération du prix de la commande
Une commande soignée fait toujours confiance à un prix envoyé par le navigateur.
Navigateur → service de tarification
Notes d'implémentation
Autoriser une commande par rapport à un catalogue de confiance. Les valeurs client peuvent exprimer une intention, mais ne peuvent pas fixer l'argent dû. Revérifier les remises et la devise sur le serveur. Cette configuration combine l'altération du prix avec une sélection de produit non prise en charge.
Une page de succès n'est pas une preuve de paiement
L'interface indique « payé » avant qu'un événement de paiement fiable n'existe.
URL de retour → magasin de droits
Notes d'implémentation
Une redirection est une navigation, pas une preuve. Résolvez la commande côté serveur et confirmez son propriétaire, son montant, sa devise et son état de paiement. Les méthodes de paiement différé nécessitent des états en attente. Les remboursements et les litiges nécessitent des politiques de droits explicites.
Webhooks forgés et répétés
Un point de terminaison d'événement fait confiance à une charge utile et accorde l'accès deux fois.
Fournisseur de paiement → webhook → enregistrements
Notes d'implémentation
Les événements du fournisseur peuvent être dupliqués ou arriver dans le désordre. Authentifiez la requête brute avant d'analyser la signification commerciale. Un registre d'événements doit survivre à la livraison parallèle ; un drapeau de lecture-puis-écriture est insuffisant. Vérifiez la commande ainsi que l'événement.
Administrateur auto-attribué
Un champ de profil modifiable devient une permission.
Profil → identité de confiance → API protégée
Notes d'implémentation
L'authentification identifie un appelant ; l'autorisation détermine ce qu'il peut faire. Les contrôles cachés ne protègent pas les API. Rejetez les champs de profil privilégiés et évaluez les permissions à la limite de l'action, y compris les tâches en arrière-plan.
Facture d'un autre client
Un identifiant d'enregistrement modifié franchit une limite d'organisation.
Session → locataire → enregistrement
Notes d'implémentation
Utilisez deux comptes ordinaires dans des organisations distinctes. Testez les enregistrements directs, les listes, les exportations et les écritures. N'acceptez jamais un identifiant de locataire comme preuve d'appartenance. Les clients de base de données administratifs contournent les règles et nécessitent des vérifications explicites du serveur.
Registres publics et fichiers privés
Les règles de base de données et les permissions de téléchargement sont des limites distinctes.
Visiteur anonyme → base de données et stockage
Notes d'implémentation
La sécurisation des tables ne sécurise pas le stockage d'objets. Examinez séparément la liste, le téléchargement, le téléversement et l'expiration des URL signées. Un identifiant client public n'est pas un secret d'administrateur ; les politiques larges sont la vulnérabilité dans cette configuration.
Une clé exposée reste dangereuse
Supprimer un secret du navigateur ne révoque pas une copie antérieure.
Bundle public → service privilégié
Notes d'implémentation
Inspectez les actifs construits et l'historique du référentiel. Gardez les clés privilégiées sur le serveur avec le moindre privilège. Supprimer un fichier n'est pas une révocation. Les cartes sources ne sont pas intrinsèquement secrètes : examinez leur contenu plutôt que de prétendre que chaque carte source est une vulnérabilité.
Téléchargements non fiables et contenu rendu
Une étiquette de fichier et un texte formaté sont acceptés sans validation.
Téléchargement → validation serveur → rendu
Notes d'implémentation
La validation du navigateur est une commodité. Validez sur le serveur et traitez les noms de fichiers, les déclarations MIME et le contenu généré comme non fiables. Une fonctionnalité de récupération d'URL nécessite également des restrictions réseau distinctes. Cette configuration n'exécute aucun contenu téléchargé.
Requêtes illimitées et coûts d'IA
Un point de terminaison public n'a ni limites de requêtes ni limites de dépenses.
API publique → budget de charge de travail
Notes d'implémentation
Les limites de taux et les quotas répondent à des questions différentes : à quelle vitesse et combien. Appliquez les contrôles avant les appels de modèle ou les tâches coûteuses. Les déploiements distribués nécessitent des compteurs partagés et une politique de défaillance définie. Ne faites pas confiance à un temps de recharge du navigateur.
Deux achats, un crédit
Deux requêtes parallèles passent toutes deux une vérification de solde non atomique.
API → registre de crédit → exécution
Notes d'implémentation
Une clé d'idempotence ne remplace pas la correction du solde, et une transaction n'identifie pas un achat logique réessayé. Testez les requêtes parallèles à la limite avec un crédit restant. Validez le registre et l'état commercial de manière cohérente.
Un document demande une exportation client
Des instructions non fiables dirigent un outil vers des données sensibles.
Document externe → agent → outil autorisé
Notes d'implémentation
Un filtre d'invite ne peut pas garantir l'autorisation de l'outil. Séparez les instructions fiables du contenu récupéré, limitez les arguments de l'outil et les destinations sortantes, et liez les approbations à l'action exacte. Cette simulation illustre une exportation dans un flux de travail délimité qui nécessite toujours une approbation.
Une version risquée sans signal
Une version contourne les vérifications de dépendance et les échecs d'administrateur passent inaperçus.
Pipeline de publication → exécution → surveillance
Notes d'implémentation
Une découverte de scanner nécessite un contexte et une propriété de remédiation. Une alerte n'est utile que lorsque quelqu'un peut agir dessus. Protégez les journaux des secrets et des données personnelles excessives. La surveillance détecte et soutient la réponse ; elle ne supprime pas automatiquement toutes les vulnérabilités.