Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
private-landing — 🔐 認証を正しく構築しながら学べる。Hono、Turso、PBKDF2、JWTデュアルトークンセッションを備えた、Cloudflare Workers向けの拡張可能で標準準拠のリファレンス実装。 | Kitploit
ツール/GitHubGitHub/vhscom/private-landing
認証と認可ID管理ウェブセキュリティ暗号化クラウドセキュリティDevSecOpsアイデンティティ&アクセス管理 (IAM)認証学習と教育APIセキュリティラボと実践
GitHub
8033ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
vhscom/private-landing

private-landing

🔐 認証を正しく構築しながら学べる。Hono、Turso、PBKDF2、JWTデュアルトークンセッションを備えた、Cloudflare Workers向けの拡張可能で標準準拠のリファレンス実装。

リポジトリを見るウェブサイト

Private Landing

認証を正しく構築することで学ぶ。

License TypeScript Cloudflare Workers
CI codecov

ライブデモ · 脅威モデル · 認証フロー · ADR

デモに関する注意: ログインエンドポイントは適応型PoWチャレンジによって保護されています。失敗を繰り返すと、proof-of-workの難易度が段階的に上がります。キャッシュバック型のレート制限は実装・テスト済みですが、現在ライブデモでは有効化されていません。app.tsのcreateCacheClientを切り替えると有効化できます。


これは、Cloudflare Workers向けにスクラッチから構築した認証リファレンス実装です。PBKDF2パスワードハッシュ、JWTデュアルトークンセッション、定数時間比較、スライディング有効期限、そして削除可能なオブザーバビリティプラグインを、Hono、Turso(オプションのValkey/Redisキャッシュ付き)、および厳格なTypeScriptで結線しています。

すべての設計判断は標準規格に遡ることができます。認証情報はNIST SP 800-63B、鍵導出はNIST SP 800-132、検証はOWASP ASVS、JWTのベストプラクティスはRFC 8725です。

製品をリリースしますか? 代わりに**Better Auth**を使用してください。OAuth、パスキー、MFA、レート制限などを、活発なプラグインエコシステムとともにすぐに利用できます。このリポジトリは、認証がどのように機能するかを教えるためのものであり、本番ライブラリの代替ではありません。

なぜこのリポジトリか

  • ドキュメントだけでなくコードを読む — すべてのセキュリティ特性(タイミングセーフな拒否、セッション連動型の失効、アルゴリズム固定)は説明されるだけでなく、実装されテストされています
  • 全体にわたるNIST + OWASP + RFC参照 — 各決定の背後にある理由を学べます
  • 630以上のテスト — 攻撃ベクトルスイート(トークン改ざん、アルゴリズム混同、Unicodeのエッジケース)を含む
  • オブザーバビリティプラグイン — 構造化監査ログ、適応型PoWチャレンジ、エージェント認証付きops API、WebSocketイベントストリーミング — コア認証を変更せずにHonoミドルウェア経由で組み込めます
  • エッジ向けに構築 — Web Crypto APIを備えたCloudflare Workers上で動作し、Node.js依存関係はありません
  • Apache-2.0 — フォークして、教えて、学ぶことができます

このリポジトリの内容

本番運用に向けた次のステップ

このプロジェクトは、教育目的の範囲外にある機能を意図的に省略しています。このコードを本番運用に向けて拡張する場合(または本番認証システムに必要なものを評価する場合)、以下の表に優先度別にギャップをまとめています。

ほとんどの実プロジェクトでは、これらを自前で構築する代わりにBetter Authを使用してください。

重大 — 実際のユーザーを迎える前に追加

機能重要な理由標準 / リファレンス
流出パスワードチェック公知の流出データベースに含まれることが判明しているパスワードの使用を防ぎますNIST SP 800-63B §5.1.1.2、HIBP API

高優先度 — 本番での信頼性

中優先度 — 製品の拡大に合わせて

上級 — エンタープライズ / 高セキュリティ

これらはすべて、代わりにBetter Authを選ぶ優れた理由です。

リポジトリ構造

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

はじめに

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

これだけです。アカウントもAPIキーも.envファイルも不要です。開発サーバーはローカルSQLiteデータベースと生成されたシークレットで起動します。http://localhost:8788を開いてアカウントを登録し、認証フローを試してみてください。

Tursoアカウントをお持ちですか? apps/cloudflare-workers/に.dev.varsファイルを置くと(.dev.vars.exampleを参照)、bun run devがリモートデータベースでwranglerを自動的に使用します。bun run dev:localを使用すると、いずれの場合もローカルサーバーを強制できます。

テストおよびデプロイの手順についてはCONTRIBUTING.mdを参照してください。

AIでの使用

このリポジトリには、AIアシスタントにコンテキストを提供するCLAUDE.mdファイルが含まれています。Claude Code、Cursor、または類似のAI搭載開発ツールを使用する場合:

  1. AIはプロジェクトコンテキストとしてCLAUDE.mdを自動的に読み取ります
  2. docs/adr/のアーキテクチャ決定記録(ADR)が設計上の選択を説明します
  3. docs/audits/のセキュリティ監査がセキュリティ態勢を文書化します
  4. テストが期待される動作とエッジケースを示します

コードベースは、明確なモジュール境界、包括的な型、説明的な命名により、AIが読み取りやすいように設計されています。

ライセンス

Apache-2.0

ツールをダウンロード
レイヤー機能
パスワード保存128ビットソルト、整合性ダイジェスト、バージョン追跡を備えたPBKDF2-SHA384(password-service.ts)
セッション管理デバイス追跡、スライディング有効期限、ユーザーあたり最大3セッションの制限を備えたサーバーサイドセッション。Valkey/Redisによるオプションのキャッシュバック型セッション(session-service.ts、cached-session-service.ts)
パスワード変更現在のパスワードの再検証、完全なPBKDF2再ハッシュ、全セッションのアトミックな失効(account-service.ts、ADR-004)
JWTデュアルトークンパターン15分のアクセストークン+7日のリフレッシュトークン。失効のためにセッションにリンク(token-service.ts)
認証ミドルウェア自動リフレッシュフロー、明示的なHS256固定、typクレーム検証(require-auth.ts)
セキュアクッキーHttpOnly、Secure、SameSite=Strict、Path=/(cookie.ts)
セキュリティヘッダーHSTS、CSP、CORP/COEP/COOP、Permissions-Policy、フィンガープリント除去(security.ts)
入力検証NIST準拠のパスワードポリシー(長さのみ、複雑性ルールなし)を備えたZodスキーマ
レート制限ブルートフォースおよびクレデンシャルスタッフィング攻撃に対する固定ウィンドウスロットリング。公開認証ルート(例: ログイン)ではIPキー、保護されたアクションではユーザーキー。ハードロックアウトなし(NIST準拠)(ADR-006)
オブザーバビリティプラグイン構造化セキュリティイベント、適応型PoWチャレンジ、エージェント認証付き/ops API — ミドルウェア経由でプラグインでき、1つのパッケージを削除するだけで取り外せます(ADR-008)
CLIツール/opsインターフェース経由でイベントの照会、セッション管理、エージェント認証情報のプロビジョニングを行うGo TUI(plctl)(tools/cli/)
攻撃ベクトルテストJWT改ざん、アルゴリズム混同、型混同、Unicodeのエッジケース、情報漏洩チェック
機能重要な理由標準 / リファレンス
CSRF保護(SameSiteを緩和する場合)現在はSameSite=StrictがCSRFを防いでいます。UXのためにLaxに変更する場合、明示的なトークンが必要ですOWASP CSRFチートシート
リフレッシュトークンのローテーショントークン盗難を検出します。ローテーションで置き換えられたリフレッシュトークンが再利用された場合、セッションファミリー全体を失効させますRFC 6819 §5.2.2.3
JWTのaudクレーム同じシークレットを共有する別のサービスがトークンを受け入れることを防ぎますRFC 7519 §4.1.3、RFC 8725 §3.9
インラインスクリプト用のCSP nonce現在のCSPは'unsafe-inline'を使用しています。nonceを使用するとインラインスクリプトのXSSベクトルを排除できますMDN CSP script-src
機能重要な理由標準 / リファレンス
TOTP多要素認証高価値アカウントに第二要素を追加しますRFC 6238、NIST SP 800-63B §5.1.4
WebAuthn / パスキープラットフォームオーセンティケーターを使用したフィッシング耐性のある認証WebAuthn Level 2
OAuth / ソーシャルログイン摩擦を減らし、パスワード疲れを回避しますRFC 6749
マジックリンク / OTP低リスクフロー向けのパスワードレスオプションNIST SP 800-63B §5.1.3
セッション分析デバイス追跡、同時セッションの可視化、異常検出OWASPセッション管理チートシート
署名鍵のローテーションすべてのセッションを無効化せずに定期的なシークレットローテーションを可能にしますRFC 7517 (JWK)
機能重要な理由標準 / リファレンス
DPoP / トークンバインディングトークンをクライアントのTLS接続にバインドし、外部流出したトークンの再利用を防ぎますRFC 9449 (DPoP)
マルチテナンシーテナントごとにユーザープール、シークレット、ポリシーを分離しますアプリケーション固有
ジオフェンシング / IPレピュテーション予期しない地域や既知の悪質IPからのログインをブロックしますOWASP ASVS v5.0 §6.3.5
適応型認証リスクシグナル(デバイス、場所、行動)に基づいて認証要件を強化しますNIST SP 800-63B §6
PBKDF2反復回数の引き上げまたはArgon2idOWASPはPBKDF2-SHA512の210,000回の反復を推奨しています(Cloudflareでは100,000回に制限)。Argon2idはメモリハードですOWASPパスワード保存チートシート