hs-sql-agent は、AI モデルそのものをセキュリティ境界にしない設計です。認証、接続先データベースの範囲、テーブルポリシー、ツール制限、SQL の検証、データ更新の承認は、すべてサーバー側で強制します。
MCP のアクセス境界
MCP クライアントは発行済みのキーで認証します。実行時ポリシーにより、キーを特定のデータベースへ結び付け、利用できるテーブルとツールを制限できます。
読み取り専用クライアントでは、クライアントが自主的に DML を避けることへ期待せず、キーの利用可能ツールからデータ変更ツールを外してください。
SQL の実行境界
生成された SQL は、データベース向けにコンパイルされる前に解析・検証されます。対応していない構文や、出力先で安全に意味を保てると確認できない機能は、暗黙に別の意味へ変換せずフェイルクローズで拒否します。
DML には独立した承認プロトコルがあります。人の承認は検証済みのデータ変更計画に結び付けられ、既存行を変更する処理では、実行前にコミット用トランザクション内で対象行を再検証します。
管理者の認証
サーバーはローカル認証に加え、任意で OIDC/SSO と TOTP MFA を設定できます。OIDC では、Authority、クライアント資格情報、クレームの対応付け、スコープ、ロールの対応付け、検証済みメールアドレスの必須化、自動プロビジョニングなどを設定できます。
保護されたログイン状態や MFA 状態をアプリケーション再起動後も維持する必要がある場合は、設定したデータ保護キーの保存先を永続化してください。
運用上の保護
セキュリティに関係する主な実行時設定は次のとおりです。
- サインイン失敗時のロックアウト回数と時間
- 全体・要求単位のレート制限
- 分散環境でのセキュリティポリシー同期
- 署名付きアラートおよび SIEM Webhook
- 監査ログの保存期間とアーカイブ/退避先
- 分散制御で異常が起きた場合のフェイルクローズ動作
脆弱性を報告する
セキュリティ上の脆弱性を公開 Issue へ投稿しないでください。リポジトリの GitHub Security Advisory にある Report a Vulnerability から報告し、責任ある開示の手順で調査・修正できるようにしてください。