Skip to content

Security: 1Winox2/SQLite-x402-Gateway

Security

SECURITY.md

Politique de sécurité

Signaler une vulnérabilité

Si vous découvrez une faille de sécurité dans SQLite x402 Gateway, merci de ne pas ouvrir une issue publique GitHub. Contactez directement le mainteneur (voir profil GitHub damienos61) avec :

  • Une description de la vulnérabilité et de son impact potentiel
  • Les étapes de reproduction
  • Une estimation de la sévérité (utilisez le barème CVSS 3.1 si possible)

Nous nous engageons à accuser réception sous 72h et à publier un correctif dans un délai raisonnable selon la sévérité, avant toute divulgation publique (divulgation coordonnée).

Programme de bug bounty

À ce stade, ce projet est open-source et ne dispose pas encore d'un programme de bug bounty financé. Toute contribution de recherche en sécurité est néanmoins créditée publiquement dans SECURITY.md et les notes de version, sauf préférence contraire du chercheur.

Checklist d'audit (pré-requis avant tout déploiement en production réelle)

Cette checklist reflète les classes de vulnérabilités documentées publiquement dans l'écosystème x402 (replay, front-running, "grant-before-settle", bypass de signature) :

  • Vérification indépendante que verifyAuthorization/verifyPermit (src/x402-protocol/schemes/) rejette toute signature dont la fenêtre de validité (validAfter/validBefore/deadline) est expirée ou pas encore active
  • Vérification que le montant réglé on-chain (settle()) ne peut jamais excéder le montant vérifié (verifyAuthorization) — protection contre le "grant-before-settle"
  • Test de charge sur le store de nonces (en mémoire ET Redis) pour confirmer l'absence de race condition en cas de rejeu concurrent
  • Revue du relayer (clé privée) : isolation stricte (HSM ou Vault), jamais dans les logs, jamais dans les variables d'environnement en clair en production
  • Vérification que le circuit breaker (src/security/circuit-breaker.js) se déclenche bien avant qu'un volume significatif de fonds soit à risque
  • Audit du KYT screening (src/compliance/kyt-screening.js) : confirmer qu'un provider réel (pas offline/disabled) est configuré avant tout déploiement traitant des fonds réels
  • Test de non-régression du schéma JSON (src/x402-protocol/conformance/schema-validator.js) sur chaque nouvelle route
  • Revue tierce (audit externe) avant tout déploiement gérant des montants significatifs — ce projet n'a pas encore été audité par un tiers indépendant à ce jour

Limites de sécurité connues, à date

  • Les modules src/x402-protocol/schemes/*.js implémentent la vérification cryptographique correctement (EIP-712, Permit2) mais n'ont pas été formellement audités par un tiers.
  • Le mode secretsBackend: "env-encrypted" (src/vault/secrets-manager.js) est adapté à un déploiement mono-instance ; privilégier HashiCorp Vault pour toute production multi-instance.
  • Le provider KYT offline (src/compliance/kyt-screening.js) n'est PAS une source de vérité en production — c'est un stub de développement.

There aren't any published security advisories