Introduction

Les bogues logiciels les plus graves sont souvent les plus ennuyeux. Par exemple, un utilisateur ne devrait pas pouvoir lire les données d'un autre locataire. Cependant, les règles de contrôle d'accès cassées restent le problème numéro un de la liste OWASP Top 10.

Contexte Technique

Ces bogues surviennent parce que les règles sont placées dans la mauvaise partie du système. Ils vivent dans une invite, dans une liste de vérification, dans l'attente partagée que chaque futur ingénieur, et maintenant chaque future invocation de modèle, se souvienne de l'invariant et le réapplique correctement.

Les modèles IA peuvent générer la plupart du code, mais l'hypothèse selon laquelle les règles seront respectées est faible et échoue ouvertement. Les tests peuvent aider, mais ils sont empiriques et ne peuvent pas garantir que le code fera ce que vous voulez.

Analyse et Implications

La pression structurelle inverse (backpressure) peut battre les améliorations incrémentales de l'intelligence des agents. Les modèles existants peuvent déjà écrire la plupart de votre code, mais le facteur limitant est de savoir si vous pouvez être certain qu'ils ont fait ce que vous vouliez.

Shen-Backpressure est un outil et une méthodologie conçus pour explorer cette idée. Il utilise un langage de spécification pour écrire des règles qui peuvent être projetées dans le code, créant ainsi une surface de refus qui empêche les bogues de se produire.

Perspective

La perspective est de créer des systèmes plus sûrs et plus fiables en utilisant la pression structurelle inverse pour garantir que les règles sont respectées. Cela nécessite de repenser la façon dont nous concevons et développons les systèmes logiciels, en utilisant des langages de spécification et des outils de vérification formelle pour créer des codes plus robustes et plus sécurisés.