Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
private-landing — 🔐 Apprenez l'authentification en la construisant correctement. Une implémentation de référence extensible et conforme aux normes pour Cloudflare Workers avec Hono, Turso, PBKDF2 et sessions à double jeton JWT. | Kitploit
Outils/GitHubGitHub/vhscom/private-landing
Authentification et AutorisationGestion des IdentitésSécurité WebCryptographieSécurité CloudDevSecOpsGestion des Identités et des Accès (IAM)AuthentificationApprentissage et ÉducationSécurité des APILabs et Pratique
803il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHub
vhscom/private-landing

private-landing

🔐 Apprenez l'authentification en la construisant correctement. Une implémentation de référence extensible et conforme aux normes pour Cloudflare Workers avec Hono, Turso, PBKDF2 et sessions à double jeton JWT.

Voir le dépôtSite web

Atterrissage Privé

Apprenez l'authentification en la construisant correctement.

License TypeScript Cloudflare Workers
CI codecov

Démo en direct · Modèle de menace · Flux d’authentification · ADR

Note de démo : L’endpoint de connexion est protégé par des défis PoW adaptatifs — les échecs répétés augmentent la difficulté de la preuve de travail. Un limiteur de débit basé sur le cache est implémenté et testé mais n’est pas activé sur la démo en direct ; activez createCacheClient dans app.ts pour l’activer.


Une implémentation de référence d’authentification construite de zéro pour Cloudflare Workers — hachage de mot de passe PBKDF2, sessions à double jeton JWT, comparaison en temps constant, expiration glissante et un plugin d’observabilité amovible — le tout assemblé avec Hono, Turso (avec mise en cache optionnelle Valkey/Redis) et TypeScript strict.

Chaque choix de conception remonte à une norme : NIST SP 800-63B pour les identifiants, NIST SP 800-132 pour la dérivation de clés, OWASP ASVS pour la vérification, et RFC 8725 pour les bonnes pratiques JWT.

Vous livrez un produit ? Utilisez Better Auth à la place — il couvre OAuth, les clés d’accès, l’authentification multifacteur, la limitation de débit et bien plus encore prêts à l’emploi avec un écosystème de plugins actif. Ce dépôt existe pour vous apprendre comment fonctionne l’authentification, pas pour remplacer une bibliothèque de production.

Pourquoi ce dépôt

  • Lisez le code, pas seulement la documentation — chaque propriété de sécurité (rejet en temps constant, révocation liée à la session, épinglage d’algorithme) est implémentée et testée, pas seulement décrite
  • Références NIST + OWASP + RFC partout — apprenez le pourquoi derrière chaque décision
  • 630+ tests incluant des suites de vecteurs d’attaque (altération de jetons, confusion d’algorithme, cas limites Unicode)
  • Plugin d’observabilité — journalisation structurée des audits, défis PoW adaptatifs, API d’opérations authentifiée par agent et diffusion d’événements WebSocket — se branche via le middleware Hono sans modifier le noyau d’authentification
  • Conçu pour la périphérie — fonctionne sur Cloudflare Workers avec l’API Web Crypto, aucune dépendance Node.js
  • Apache-2.0 — fork, enseignez, apprenez

Ce que vous trouverez à l’intérieur

Prochaines étapes pour la production

Ce projet omet intentionnellement des fonctionnalités qui sortent de son cadre pédagogique. Si vous étendez ce code vers la production (ou évaluez ce qu’un système d’authentification de production nécessite), les tableaux ci-dessous organisent les lacunes par niveau de priorité.

Pour la plupart des projets réels, utilisez Better Auth plutôt que de construire vous-même ces fonctionnalités.

Critique — À ajouter avant les vrais utilisateurs

FonctionnalitéPourquoi c’est importantNorme / Référence
Vérification des mots de passe compromisEmpêche l’utilisation de mots de passe connus dans les fuites publiquesNIST SP 800-63B §5.1.1.2, API HIBP

Priorité élevée — Confiance en production

Priorité moyenne — À mesure que le produit évolue

Avancé — Entreprise / Haute sécurité

Toutes ces raisons sont d’excellents motifs pour utiliser Better Auth à la place.

Structure du dépôt

root@kitploit:~
.
├── apps/
│   └── cloudflare-workers/    # Example Worker + Hono routes
├── packages/
│   ├── core/                  # Auth services, middleware, crypto utilities
│   ├── infrastructure/        # DB client + utilities
│   ├── observability/         # Event emission, adaptive challenges, ops API (removable plugin)
│   ├── schemas/               # Zod schemas
│   └── types/                 # Shared TypeScript types
├── tools/
│   └── cli/                   # plctl — Go TUI for the /ops surface
└── docs/
    ├── adr/                   # Architecture Decision Records
    └── audits/                # Security audits

Pour commencer

root@kitploit:~
git clone https://github.com/vhscom/private-landing.git
cd private-landing
bun install
bun run dev

C'est tout — pas de comptes, pas de clés API, pas de fichiers .env. Le serveur de développement démarre avec une base de données SQLite locale et des secrets générés. Ouvrez http://localhost:8788 pour enregistrer un compte et explorer les flux d'authentification.

Vous avez un compte Turso ? Déposez un fichier .dev.vars dans apps/cloudflare-workers/ (voir .dev.vars.example) et bun run dev utilisera automatiquement wrangler avec votre base de données distante. Utilisez bun run dev:local pour forcer le serveur local quoi qu’il arrive.

Voir CONTRIBUTING.md pour les instructions de test et de déploiement.

Utilisation avec l’IA

Ce dépôt inclut un fichier CLAUDE.md qui fournit un contexte pour les assistants IA. Lorsque vous utilisez Claude Code, Cursor ou des outils de développement alimentés par l’IA similaires :

  1. L’IA lira automatiquement CLAUDE.md pour le contexte du projet
  2. Les enregistrements de décisions d’architecture dans docs/adr/ expliquent les choix de conception
  3. Les audits de sécurité dans docs/audits/ documentent la posture de sécurité
  4. Les tests démontrent le comportement attendu et les cas limites

Le codebase est conçu pour être lisible par l’IA avec des limites de modules claires, des types complets et des noms descriptifs.

Licence

Apache-2.0

Télécharger l’outil
CoucheCe qu’elle fait
Stockage des mots de passePBKDF2-SHA384 avec sels de 128 bits, condensé d’intégrité, suivi de version (password-service.ts)
Gestion des sessionsSessions côté serveur avec suivi d’appareil, expiration glissante, limite de 3 par utilisateur ; sessions optionnelles avec cache via Valkey/Redis (session-service.ts, cached-session-service.ts)
Changement de mot de passeRe-vérification du mot de passe actuel, re-hachage PBKDF2 complet, révocation atomique de toutes les sessions (account-service.ts, ADR-004)
Schéma à double jeton JWTJeton d’accès de 15 min + jeton de rafraîchissement de 7 jours, liés à la session pour la révocation (token-service.ts)
Middleware d’authentificationFlux de rafraîchissement automatique, épinglage explicite HS256, validation de la revendication typ (require-auth.ts)
Cookies sécurisésHttpOnly, Secure, SameSite=Strict, Path=/ (cookie.ts)
En-têtes de sécuritéHSTS, CSP, CORP/COEP/COOP, Permissions-Policy, suppression des empreintes (security.ts)
Validation des entréesSchémas Zod avec politique de mot de passe conforme NIST (longueur uniquement, pas de règles de complexité)
Limitation de débitLimitation à fenêtre fixe contre les attaques par force brute et par bourrage d’identifiants : IP sur les routes d’authentification publiques (ex. connexion), utilisateur sur les actions protégées ; pas de verrouillage définitif (conforme NIST) (ADR-006)
Plugin d’observabilitéÉvénements de sécurité structurés, défis PoW adaptatifs, API /ops authentifiée par agent — se branche via middleware, amovible en supprimant un paquet (ADR-008)
Outillage CLITUI Go (plctl) pour interroger les événements, gérer les sessions et provisionner les identifiants d’agent via l’interface /ops (tools/cli/)
Tests de vecteurs d’attaqueAltération JWT, confusion d’algorithme, confusion de type, cas limites Unicode, vérifications de divulgation d’informations
FonctionnalitéPourquoi c’est importantNorme / Référence
Protection CSRF (si SameSide relâché)SameSite=Strict empêche actuellement le CSRF ; si changé en Lax pour l’UX, un jeton explicite est nécessaireAide-mémoire CSRF OWASP
Rotation des jetons de rafraîchissementDétecte le vol de jeton — si un jeton de rafraîchissement remplacé est rejoué, révoque toute la famille de sessionsRFC 6819 §5.2.2.3
Revendication aud dans les JWTEmpêche un jeton d’un service d’être accepté par un autre partageant le même secretRFC 7519 §4.1.3, RFC 8725 §3.9
Nonces CSP pour les scripts en ligneLa CSP actuelle utilise 'unsafe-inline' ; les nonces éliminent les vecteurs XSS par script en ligneMDN CSP script-src
FonctionnalitéPourquoi c’est importantNorme / Référence
Authentification multifacteur TOTPAjoute un second facteur pour les comptes à haute valeurRFC 6238, NIST SP 800-63B §5.1.4
WebAuthn / clés d’accèsAuthentification résistante au phishing utilisant des authentificateurs de plateformeWebAuthn Niveau 2
OAuth / connexion socialeRéduit les frictions, évite la fatigue des mots de passeRFC 6749
Liens magiques / OTPOption sans mot de passe pour les flux à faible risqueNIST SP 800-63B §5.1.3
Analyses de sessionsSuivi d’appareil, visibilité des sessions concurrentes, détection d’anomaliesAide-mémoire OWASP sur la gestion des sessions
Rotation de la clé de signaturePermet une rotation périodique des secrets sans invalider toutes les sessionsRFC 7517 (JWK)
FonctionnalitéPourquoi c’est importantNorme / Référence
DPoP / liaison de jetonLie les jetons à la connexion TLS du client, empêchant la relecture après exfiltrationRFC 9449 (DPoP)
Multi-locationIsole les pools d’utilisateurs, les secrets et les politiques par locataireSpécifique à l’application
Géorepérage / réputation IPBloque les connexions depuis des régions inattendues ou des IP malveillantes connuesOWASP ASVS v5.0 §6.3.5
Authentification adaptativeRenforce les exigences d’authentification en fonction des signaux de risque (appareil, localisation, comportement)NIST SP 800-63B §6
Mise à niveau des itérations PBKDF2 ou Argon2idOWASP recommande 210 000 itérations PBKDF2-SHA512 (Cloudflare limite à 100k) ; Argon2id est résistant en mémoireAide-mémoire OWASP sur le stockage des mots de passe