ADAMANT Explorerは、公開HTTP表面、ADAMANT Node境界、Redisキャッシュ動作、Socket.IOライフサイクル、リバースプロキシ信頼、およびブラウザレンダリングに焦点を当てたセキュリティと信頼性のレビューを完了しました。この強化はadamant-explorer#37にマージされ、イシュー#23、#25、および#33を解決します。レビューでは、Expressミドルウェアの順序、公開APIの公開、バリデーション、レート制限、リバースプロキシ信頼、信頼できないデータ境界としてのADAMANT Nodeレスポンス、Redisキャッシュの正確性と障害動作、Socket.IOポーリングと再接続、Nodeおよびピアが制御する値のブラウザレンダリング、オプション依存関係の障害、為替レートの継続性、運用ヘルスレポート、およびリポジトリの脅威モデリングをカバーしました。
公開HTTPおよびAPI境界
Explorerは現在、UIに必要な12の同一オリジンAPIルートとGET /api/networkHealthのみを公開しています。16のレガシールートルート登録とワイルドカードCORSは削除されました。リクエストはRedisルックアップまたはADAMANT準備チェックの前に正確なAPI表面に対してチェックされ、削除されたエンドポイントが古いキャッシュエントリを通じて復活するのを防ぎます。公開クエリパラメータは厳密なバリデーションと制限付きページネーションを使用するようになりました。アプリケーションは、クライアントごとに1分あたり300のAPIリクエストの、プロキシ対応のインプロセス固定ウィンドウ制限を適用し、制限付きIDストレージとフェイルクローズのオーバーフローバケットを備えています。リバースプロキシ信頼は明示的で検証されます。セキュリティヘッダー、制約付きContent Security Policy、安定したエラーレスポンス、HTTPタイムアウト、およびデータを最小限に抑えたリクエストログが、公開される攻撃面をさらに削減します。
可用性と状態の正確性
GET /api/networkHealthは、一貫したlive、degraded、critical、またはunavailable状態を報告し、一貫したNodeスナップショットを生成できない場合にのみHTTP 503を返します。Redisおよびオプションの外部サービス障害は、コアHTTPおよび静的配信をダウンさせなくなりました。キャッシュIDは必要な場所でブロックセンシティブであり、為替レートリフレッシュパスは使用可能な最後の既知の値を保持しながら、重複するリフレッシュを回避します。Socket.IOポーリングは直列化され、ライフサイクルを認識し、アップストリーム障害時に制限されます。世代追跡、明示的なタイマー所有権、および古いコールバックの抑制により、切断または再起動された名前空間が古い作業を継続するのを防ぎます。
信頼できないデータとブラウザの安全性
ADAMANT Nodeおよびピアペイロードは、正規化または検証されるまで信頼できないままです。Network Monitorの値はテキストとしてレンダリングされ、ルートターゲット、CSS派生値、および座標は使用前に制約されます。フロントエンドとバックエンドのAPIパスは、契約のドリフトを防ぐために1つの信頼できる情報源を共有するようになりました。
互換性と統合への影響
保持されたExplorer APIは、Web UIの実装詳細であり、汎用統合APIではありません。外部アプリケーションは、直接ADAMANT Node統合にadamant-api-jsclientを使用する必要があります。オペレーターは、ExplorerモニタリングにGET /api/networkHealthを使用できます。既存のフロントエンドルートとディープリンクは互換性を維持します。リバースプロキシの背後にあるデプロイメントは、実際のトポロジに一致するようにtrustedProxiesを設定する必要があります。HTTPS Nodeが推奨されます。互換性のために1つのレガシープレーンテキストHTTPフォールバックが残っています。
範囲とフォローアップ
これはExplorerとそのランタイム信頼境界のリポジトリコードおよびアーキテクチャ監査であり、暗号プロトコルまたはブロックチェーンコンセンサスの監査ではありません。レートリミッターは意図的にプロセスごとに設定されているため、マルチレプリカデプロイメントはエッジで集約制限も適用する必要があります。リポジトリ脅威モデルおよび完全なセキュリティと信頼性のレビューが利用可能です。オープンなフォローアップ項目には、オプションのピアIPプライバシー制御、主要なフロントエンド依存関係のアップグレード、ADAMANT Nodeレスポンススキーマのバリデーション、および障害時のリトライとログの統合が含まれます。