脆弱性の重要情報サマリー 脆弱性の概要 このページは の PyPI プロジェクトページであり、セキュリティに関するセキュリティ上の注意点の説明が含まれています: を有効化していない場合の読み取り専用実行は「最善努力」(best effort)ベースです:MCP サーバーが なしで動作している場合、データやセッション状態を変更する可能性のあるクエリを拒否します。 このメカニズムはキーワードと関数のブラックリストにより実現されています。例えば / / 、セッション状態に関するステートメント(例: / / )、低影響のある関数(例: 、 、 など)。 限界:ブラックリストではすべての危険な構造を網羅することはできず、十分性のあるクエリ(サブクエリ、引用符付き識別子、新しいサービス・拡張関数など)によってこのメカニズムを回避する可能性がある。 ベストプラクティス:MCP サーバーを最小権限の Postgres ロールに接続し、実際に必要な権限のみ付与する。 影響範囲 影響を受ける対象: (AWS Labs Postgres MCP Server、バージョン 1.1.7)。 リスクポイント:書き込みクエリが有効化されていない場合、読み取り専用実行はキーワード/関数のブラックリストに依存しており、十分性のあるクエリによる回避により、意図しないデータ変更やセッション状態の変更を引き起こすリスクがあります。 対象となるデータベースタイプ:APG(Amazon Aurora PostgreSQL)、RPG(Amazon RDS for PostgreSQL)。 修正方案 1. 書き込みクエリの有効化:MCP 設定で を設定し、書き込み操作を明示的に許可し、ブラックリストに依存する「最善努力」メカニズムを回避する。 2. 最小権限ロールの使用:MCP サーバーのために必要な権限のみを保有する Postgres ロールを作成し、実行可能な SQL 操作の範囲を制限する。 3. 参照用の読み取り専用ロールの例(ページに提供された例): POC / 利用コード ページには、この脆弱性に関する POC や利用コードは含まれておらず、上記の最小権限ロールの SQL 例が緩和措置としてのみ提供されています。