---
service: "Publicasta"
schema_version: "1.0"
article_id: 572
title: "تُصلح AWS تجاوزات وضع القراءة فقط في خوادم MCP لقواعد البيانات: ما الذي ينبغي على المشغّلين التحقق منه"
language: "ar"
default_language: "en"
canonical_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026?lang=ar"
json_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.json?lang=ar"
api_url: "https://publicasta.com/api/public/v1/channels/it_today_news/articles/aws_mcp_database_servers_read_only_bypass_september_2026?lang=ar"
channel_url: "https://publicasta.com/api/public/v1/channels/it_today_news"
channel_articles: "https://publicasta.com/api/public/v1/channels/it_today_news/articles"
search_url: "https://publicasta.com/api/public/v1/search"
documentation_url: "https://publicasta.com/api-docs#reading-publicasta"
openapi_url: "https://publicasta.com/api-docs/openapi.json"
published_at: "2026-09-10T07:01:38+00:00"
updated_at: "2026-09-10T07:01:38+00:00"
translations:
  - language: "ar"
    html_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026?lang=ar"
    markdown_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.md?lang=ar"
    json_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.json?lang=ar"
  - language: "de"
    html_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026?lang=de"
    markdown_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.md?lang=de"
    json_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.json?lang=de"
  - language: "en"
    html_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026?lang=en"
    markdown_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.md?lang=en"
    json_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.json?lang=en"
  - language: "es"
    html_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026?lang=es"
    markdown_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.md?lang=es"
    json_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.json?lang=es"
  - language: "fr"
    html_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026?lang=fr"
    markdown_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.md?lang=fr"
    json_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.json?lang=fr"
  - language: "pl"
    html_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026?lang=pl"
    markdown_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.md?lang=pl"
    json_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.json?lang=pl"
  - language: "ru"
    html_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026?lang=ru"
    markdown_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.md?lang=ru"
    json_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.json?lang=ru"
  - language: "zh"
    html_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026?lang=zh"
    markdown_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.md?lang=zh"
    json_url: "https://publicasta.com/it_today_news/aws_mcp_database_servers_read_only_bypass_september_2026.json?lang=zh"
---

# تُصلح AWS تجاوزات وضع القراءة فقط في خوادم MCP لقواعد البيانات: ما الذي ينبغي على المشغّلين التحقق منه

> تكشف نشرتان أمنيتان من AWS مشكلة تصميم متكررة في أدوات MCP المتصلة بقواعد البيانات: مرشح النصوص ليس حدًا للصلاحيات. إليك الإصدارات المتأثرة، وشروط الخطر، وخطوات الاحتواء.

وضعت نشرتان أمنيتان من AWS صدرتا في 9 سبتمبر 2026 حدًا واضحًا لمشكلة كان من السهل وصفها بصورة مجردة: أداة ذكاء اصطناعي تستطيع الاستعلام من قاعدة بيانات إنتاجية يجب ألا تتعامل مع قاعدة مطابقة نصية باعتبارها خط دفاعها الأخير. تغطي الإفصاحات خادمي Model Context Protocol مفتوحي المصدر، ذاتيي الاستضافة، من AWS Labs؛ أحدهما لـ PostgreSQL والآخر لـ MySQL. يستخدم كلاهما وضعًا للقراءة فقط يفترض أن يمنع المساعد من تنفيذ SQL يغيّر البيانات. لكن حساب قاعدة البيانات يظل في الحالتين هو الضابط الذي يحدد في النهاية ما يمكن تنفيذه.

 ![رسم توضيحي تجريدي لشبكة ذكاء اصطناعي وقاعدة بيانات تفصل بينهما بوابة تحذير، يوضح حدود مرشحات النص للقراءة فقط.](https://publicasta.com/storage/projects/17/pages/572/2026/09/dda7b4d7-2f7d-4716-88da-cc06ee10f526.webp)

 تُعد مشكلة PostgreSQL الأشد خطورة. فقد خصصت AWS لها المعرّف [CVE-2026-87911](https://aws.amazon.com/security/security-bulletins/2026-104-aws/) لخلل قد يتيح تنفيذ أوامر على نظام التشغيل عند توافر مجموعة محددة من إصدار الحزمة، وطريقة الاتصال، وامتيازات قاعدة البيانات، وتفاعل المستخدم. الإصلاح هو الإصدار 1.1.7.

 أما إفصاح MySQL، [CVE-2026-85788](https://aws.amazon.com/security/security-bulletins/2026-103-aws/)، فيصف إخفاقًا مختلفًا في فحص وضع القراءة فقط: ففي ظروف معينة، يمكن لتعليقات SQL المضمّنة أن تتجاوز المرشح. الإصدارات المتأثرة هي 1.0.21 وما قبلها، وتقول AWS إن المشكلة عولجت في الإصدار 1.0.23.

 هذه ليست ثغرات في خدمات AWS نفسها، مثل Aurora أو RDS أو أي مستوى تحكم مُدار آخر لدى AWS. إنها مشكلات في حزم يثبتها العملاء ويشغّلونها بأنفسهم على جهة العميل. هذا التمييز مهم عند الاستجابة للحوادث، لكنه لا يجعل الإفصاحات هامشية. فالحزم تصل مساعدًا ذكيًا بقواعد بيانات وبيانات اعتماد، وفي بعض الإعدادات بالمضيف الذي يعمل عليه الخادم. لذلك يمكن لخطأ صغير في محلل أن يتحول إلى مشكلة في التحكم بالوصول عند النقطة التي تتحول فيها الطلبات باللغة الطبيعية إلى عمليات على قاعدة البيانات.

 ## ما الذي أفصحت عنه AWS

 وصلت النشرتان معًا، لكنهما تصفان حالتين تقنيتين مختلفتين وينبغي فرزهما على نحو منفصل. إن التعامل معهما باعتبارهما ثغرة MCP عامة واحدة سيجعل الاستجابة أقل دقة.

 بالنسبة إلى `awslabs.postgres-mcp-server`، تقول AWS إن الإصدارات الأقدم من 1.1.7 تحتوي على ضعف في حقن أوامر نظام التشغيل داخل مكوّن التحقق من SQL المسؤول عن فرض وضع القراءة فقط. وتسمي النشرة تعليمة PostgreSQL مصاغة خصيصًا من نوع `COPY ... TO PROGRAM` باعتبارها ميزة قاعدة البيانات المعنية. وفي عملية نشر متأثرة، قد يصل المحتوى الذي تتم معالجته أثناء تفاعل مستخدم موثّق مع خادم MCP إلى ذلك المسار، رغم أن الخادم يعمل في وضع القراءة فقط الافتراضي.

 لا تقول النشرة إن كل تثبيت قابل للاستغلال عن بُعد. بل تحدد ملف نشر أضيق: خادم PostgreSQL مُدار ذاتيًا يستخدم طريقة الاتصال `PG_WIRE_PROTOCOL`، مع دور قاعدة بيانات مُعدّ يملك امتيازات المستخدم المميز أو دور `pg_execute_server_program`. وتصف AWS النتيجة المحتملة بأنها تنفيذ أوامر نظام التشغيل على مضيف خادم PostgreSQL المُدار ذاتيًا. كلمة «محتملة» مهمة هنا. فالنشرة تثبت وجود ثغرة خطرة وتحدد الشروط التي تجعلها ذات صلة، لكنها لا تثبت أن العملاء تعرضوا لهجوم.

 توضح وثائق PostgreSQL نفسها لماذا يغيّر شرط الامتيازات مستوى الخطورة. إذ ينفَّذ أمر `PROGRAM` بواسطة خادم قاعدة البيانات، لا بواسطة العميل، وتقصر PostgreSQL هذه القدرة على المستخدمين المميزين أو المستخدمين الذين مُنحوا دور برامج الخادم. وبعبارة أخرى، فإن امتياز قاعدة البيانات قوي أصلًا بحكم تصميمه. وتكمن أهمية ضعف MCP في أنه قد يسمح للمدخلات بعبور حد كان يفترض أن يفرضه وضع القراءة فقط في الحزمة.

 وبالنسبة إلى `awslabs.mysql-mcp-server`، تقول AWS إن الإصدارات حتى 1.0.21 يمكن أن تسمح بتنفيذ تعليمة كان يفترض أن يمنعها فحص القراءة فقط، وذلك باستخدام تعليقات SQL المضمّنة في ظروف معينة. ولا تصف النشرة مسار أوامر نظام التشغيل نفسه الوارد في إفصاح PostgreSQL. وتقول إن الحزمة مستضافة ذاتيًا وإن المشكلة لا تؤثر في سرية خدمة AWS أو سلامتها. أما الخطر العملي فهو أن يتمكن حساب قاعدة بيانات يملك امتيازات أوسع مما ينبغي من تنفيذ عملية كتابة حاول فحص مستوى التطبيق رفضها.

 الإصدارات المُصلحة هي أول حقائق التشغيل التي ينبغي تسجيلها: PostgreSQL 1.1.7 أو أحدث، وMySQL 1.0.23 أو أحدث. لا تستنتج أن ترقية حزمة واحدة تصلح الأخرى. فهما توزيعتان منفصلتان لهما مسارا إصدار مستقلان، ومن السهل أن تضم الأسطولتان معًا.

 ## لماذا سببت عبارة القراءة فقط التباسًا

 تستخدم أدوات قواعد البيانات كثيرة عبارة «القراءة فقط» كما لو كانت خاصية واحدة. لكنها ليست كذلك. فهناك ثلاثة ضوابط مختلفة على الأقل تختبئ خلف العبارة.

 الأول هو محلل أو مرشح داخل التطبيق. يفحص SQL ويرفض الرموز المرتبطة بالكتابة أو تغييرات الجلسة أو العمليات الحساسة الأخرى. هذا الضابط سريع ومفيد لإعطاء المستخدم ملاحظات فورية، ويمكنه إيقاف الأخطاء العادية، مثل أن ينتج المساعد تعليمة `UPDATE` بينما طلب المستخدم تقريرًا.

 الثاني هو وضع جلسة قاعدة البيانات أو المعاملة. لدى PostgreSQL وMySQL آليات يمكنها تقييد ما تستطيع الجلسة تنفيذه، مع أن السلوك الدقيق والاستثناءات يعتمدان على المحرك وطريقة الاتصال والحساب. وقد يضيف إعداد مستوى الجلسة طبقة أخرى، لكنه لا يعوض امتيازات الحساب، ويجب اختباره على عبء العمل الفعلي.

 الثالث هو هوية قاعدة البيانات نفسها: الدور أو المستخدم الذي يصادق على الخادم. تملك هذه الهوية منحًا وملكية وعضويات أدوار ووصولًا إلى إجراءات مخزنة، وربما قدرات خاصة على مستوى الخادم. وهي الحد الدائم، لأن قاعدة البيانات تقيّمها بعد أن يمر الطلب عبر العميل وخادم MCP ومحلل SQL وأي سياسة وسيطة.

 يقول ملف README الحالي لخادم PostgreSQL لدى AWS صراحة إن فرض القراءة فقط إجراء احترازي بأفضل جهد، وليس حدًا أمنيًا. ويوصي بدور مخصص لقاعدة البيانات ويحذر من استخدام مستخدم مميز أو `rds_superuser` أو مستخدم مدير العنقود. ويذكر README الخاص بـ MySQL الفكرة نفسها: حارس نص SQL طبقة دفاع إضافية، بينما دور قاعدة البيانات المُعدّ هو الحد الفعلي.

 تجعل الإفصاحات هذه الوثائق عملية لا نظرية. فالمرشحات النصية تعمل على التمثيل الذي تتعرف إليه. ويحتوي SQL على تعليقات، ومعرّفات مقتبسة، وصياغة شرطية، وإجراءات مخزنة، وميزات تختلف باختلاف الإصدار، وتعليمات متعددة، وسلوك محلل يتغير مع الزمن. ويضيف نموذج اللغة مصدرًا آخر للتنوع: فقد ينتج مدخلًا غير مألوف لكنه صحيح نحويًا، وقد يتأثر بالمحتوى الذي تعيده قاعدة البيانات أو أداة أخرى. لذلك لا يمكن توقع أن تمثل تعبيرات منتظمة كل تلك التفاعلات.

 لذلك ينبغي للتصميم الآمن أن يطرح سؤالين مختلفين. سؤال «هل سيرفض خادم MCP هذا الطلب؟» مفيد لتقليل عمليات الكتابة العرضية. أما سؤال «إذا قبل الخادم الطلب، فما الذي يستطيع حساب قاعدة البيانات فعله؟» فهو الذي يحد الأثر. ويجب أن تظل الإجابة عن السؤال الثاني آمنة عندما يتم تجاوز الضابط الأول أو يضبط خطأ أو يصبح قديمًا أو يكون ناقصًا ببساطة.

 ## من ينبغي أن يتعامل مع الأمر كمراجعة عاجلة

 يهم إفصاح PostgreSQL بصورة أكبر المؤسسات التي ثبتت حزمة AWS Labs قبل الإصدار 1.1.7 وتتصل بنشر PostgreSQL مُدار ذاتيًا باستخدام بروتوكول الأسلاك. ويستحق دور قاعدة البيانات اهتمامًا فوريًا إذا كان مستخدمًا مميزًا أو يملك `pg_execute_server_program`. قد لا يطابق نشر يستخدم Aurora أو ملفًا مُدارًا آخر نطاق التأثر المذكور في النشرة، لكن على المشغّلين الترقية مع ذلك، لأن إصدارات الحزم جزء من سلسلة توريد البرمجيات ولأن إرشادات أمن الخادم تنطبق خارج شرط استغلال واحد.

 وينطبق إفصاح MySQL على التثبيتات التي تستخدم الإصدار 1.0.21 أو أقدم. وبما أن الحزمة تُشغَّل عادة عبر نطاق إصدار أو مرجع عائم مثل `latest`، فلا ينبغي للفرق افتراض أن إعدادًا يعمل يخبرها أي شفرة قيد التشغيل. احصل على الإصدار المثبت من بيئة العميل الفعلية أو صورة الحاوية أو ملف القفل أو أثر النشر، وسجّل النتيجة بدل الاعتماد على اسم حزمة في ملف إعداد.

 وينبغي للفرق أيضًا مراجعة كيفية اختيار بيانات الاعتماد. تصف وثائق AWS Labs اتصالات تستخدم بيانات اعتماد AWS لاكتشاف موارد قواعد البيانات وبيانات اعتماد Secrets Manager للمصادقة على قاعدة البيانات. لذلك يمكن لخادم MCP المتصل بقاعدة بيانات أن يملك مستويين من الصلاحيات: صلاحيات AWS IAM وصلاحيات قاعدة البيانات. ولا يجعل دور IAM المقيد تسجيل الدخول إلى قاعدة البيانات للقراءة فقط تلقائيًا، كما أن دور قاعدة البيانات للقراءة فقط لا يمنع تلقائيًا خادم MCP من قراءة بيانات AWS الوصفية الحساسة أو الملفات المحلية إذا كان الإعداد المحيط يمنحه تلك القدرات.

 يزداد الخطر عندما يعمل الخادم على محطة مطور تحتوي أيضًا على شفرة مصدر أو بيانات اعتماد سحابية أو مواد SSH أو مخرجات بناء أو جلسات متصفح. ويزداد كذلك عندما يكون خادم MCP مكشوفًا عبر شبكة أو مشتركًا بين مستخدمين أو مشغّلًا ببيانات اعتماد إدارية واسعة. وتحذر وثائق AWS API MCP Server، رغم أنها تتعلق بحزمة ذات صلة، من أن تصميم STDIO المحلي يفترض مستخدمًا واحدًا ووصولًا مباشرًا إلى المضيف؛ كما تقول إن IAM يظل الضابط الأساسي وإن تصنيفات القراءة فقط لا تضمن أن مخرجات الأوامر غير ضارة. وهذه تحذيرات معمارية مفيدة لنشرات MCP الخاصة بقواعد البيانات أيضًا.

 ## يجب أن تكون الاستجابة الأولى جردًا لا تخمينًا

 لا يحتاج المشغّل الذي يستجيب لهذه النشرات إلى البدء بإثبات قابلية الاستغلال. فالهدف الأول هو معرفة ما إذا كانت الشفرة المتأثرة وشروط الامتياز موجودة. ويمكن لجرد قصير أن يجيب عن معظم الأسئلة ذات القيمة العالية.

 - حدّد كل تثبيت لـ `awslabs.postgres-mcp-server` و`awslabs.mysql-mcp-server`، بما في ذلك إعدادات المطورين المحليين والحاويات وعمال CI والمضيفين المشتركين وبيئات IDE المعبأة.
- سجّل الإصدار الدقيق وطريقة التشغيل وطريقة الاتصال ومحرك قاعدة البيانات وملف نقطة نهاية قاعدة البيانات لكل تثبيت.
- اربط مستخدم قاعدة البيانات أو دورها المستخدم من كل خادم بمنوحه وعضوياته. ابحث تحديدًا عن حالة المستخدم المميز في PostgreSQL، وعن `pg_execute_server_program`، وامتيازات الإدارة في MySQL، ومنح المخطط الواسعة، وتنفيذ الإجراءات المخزنة، وملكية كائنات الإنتاج.
- حدّد ما إذا كان الخادم محليًا فقط أو يمكن الوصول إليه عبر الشبكة، وما إذا كان عدة أشخاص أو مستأجرين يستطيعون استدعاء العملية نفسها.
- تحقق مما إذا كان الخادم يستطيع الكتابة إلى قاعدة البيانات أو قراءة الملفات المحلية أو استدعاء واجهات السحابة أو إعادة الأسرار في مخرجات الأداة.
- احتفظ ببيانات manifests الحزم، وبصمات الحاويات، وسجل الإعدادات، وسجلات المصادقة، وسجلات تدقيق قاعدة البيانات، وسجلات عميل MCP ذات الصلة قبل تغيير البيئة.

 الغاية هي بناء نمط واقعي للوقائع. فقول «نستخدم مساعدًا ذكيًا» لا يكفي لتقييم المشكلة. خادم PostgreSQL مُدار ذاتيًا بدور منخفض الامتيازات لإعداد التقارير يختلف عن حاسوب مطور يستخدم بيانات اعتماد مدير عنقود ضد قاعدة إنتاجية. وقد يشغّل الاثنان اسم الحزمة نفسه.

 ## رقِّ الحزمة ثم خفّض الامتيازات

 الترقية إلى الإصدارات التي أصلحها المورّد هي المعالجة الفورية: خادم PostgreSQL MCP بالإصدار 1.1.7 أو أحدث، وخادم MySQL MCP بالإصدار 1.0.23 أو أحدث. ثبّت الإصدار في الآلية التي تشغّل الخادم فعليًا. فإذا كان الإعداد يستخدم `@latest` أو نطاق حزم واسعًا أو وسم حاوية غير مثبت، فقد يكون التحديث التالي أكثر أمانًا، لكن الحالة الحالية ستظل صعبة الإعادة والتدقيق. استخدم ملف قفل أو بصمة صورة غير قابلة للتغيير أو آلية إصدار مضبوطة مكافئة.

 بعد الترقية، غيّر أذونات قاعدة البيانات إذا كانت أوسع من متطلبات المهمة. ففي سير عمل التقارير، ينبغي عادةً أن يملك الدور المخصص وصولًا إلى قاعدة البيانات والمخططات والجداول والعروض والإجراءات المطلوبة فقط، وبأضيق نطاق. تشير وثائق PostgreSQL وREADME الخاص بـ AWS Labs إلى الابتعاد عن المستخدمين المميزين وامتيازات برامج الخادم في هذا النوع من التكامل. والدور الذي يحتاج إلى قراءة عروض تقارير معتمدة فقط لا ينبغي أن يرث دورًا يستطيع إدارة العنقود أو تنفيذ برامج على مضيف قاعدة البيانات.

 وينطبق المبدأ نفسه على MySQL. يوصي README الخاص بـ AWS Labs بحساب مخصص لا يملك إلا المنح اللازمة، مثل `SELECT` على قاعدة البيانات المعنية و`EXECUTE` فقط لإجراءات محددة تمت الموافقة عليها. ويوضح كذلك أن المرشح الموجود على الخادم مصمم لالتقاط تعليمات التغيير الشائعة، لكنه لا يمكن أن يكون ضمانًا ضد كل حالة نحوية أو كل ميزة SQL مستقبلية. أما نمط الفشل الموثوق فهو خطأ من قاعدة البيانات ناتج عن غياب الامتياز، لا رسالة واثقة من المساعد تزعم أن الكتابة مُنعت.

 لا تحاول «إصلاح» المشكلة بإضافة قاعدة أكثر تعقيدًا إلى المطالبة. فقد تحسن تعليمات المطالبة السلوك، لكنها ليست تحكمًا بالوصول. لملفات التوجيه ورسائل النظام وقوائم الموافقة وطلبات التأكيد البشري قيمة ضمن تصميم متعدد الطبقات؛ لكن لا ينبغي لأي منها أن يكون الحاجز الوحيد الذي يحمي بيانات الإنتاج. يستطيع مستخدم أو مستند محقون التأثير في النص المرسل إلى النموذج، وقد ينتج النموذج طلبًا لم يتوقعه مؤلف المطالبة. لذلك يجب أن يظل الحساب الذي ينفذ الطلب عاجزًا عن تجاوز النطاق المقصود.

 ## افحص مستوى صلاحيات AWS بصورة منفصلة

 ستركز بعض الفرق على مرشح SQL وتغفل صلاحيات AWS التي تستخدمها عملية MCP. ويقول README الخاص بـ PostgreSQL إن الخادم قد يستخدم ملف AWS لاكتشاف العناقيد أو المثيلات، وقد يحتاج، في مسار RDS Data API، إلى إذن تنفيذ التعليمات. كما أنه يستخدم Secrets Manager لاسترجاع بيانات اعتماد قاعدة البيانات في الإعدادات الموثقة. وهذه قرارات منفصلة عن منح مستخدم قاعدة البيانات.

 استخدم دور IAM أو ملفًا مخصصًا للعملية. قيّد الوصول إلى الموارد حيث تدعم خدمة AWS ذلك، وتجنب إرفاق سياسات إدارية لمجرد أن المساعد قد يحتاج إلى فحص البنية التحتية. وتوصي إرشادات IAM لدى AWS بأقل قدر من الامتيازات، وببيانات اعتماد مؤقتة لأعباء العمل حيثما أمكن، وبمراجعة دورية للامتيازات غير المستخدمة، وباستخدام IAM Access Analyzer للمساعدة في تنقيح السياسات استنادًا إلى النشاط المرصود.

 تذكر أن «القراءة فقط» في طبقة واجهة AWS لا تساوي تلقائيًا «مخرجات آمنة». فقد تعيد بعض عمليات القراءة إعدادات أو معرّفات أو وثائق سياسات أو مواد حساسة أخرى. وتذكر وثائق AWS API MCP Server ذلك مباشرة. فمساعد قاعدة بيانات يستطيع الجمع بين اكتشاف السحابة واسترجاع الأسرار واستعلامات قاعدة البيانات وعمليات الملفات المحلية يملك سلطة فعلية أكبر بكثير مما توحي به عبارة «SQL للقراءة فقط».

 افصل الوظائف متى أمكن. فالأداة التي تجيب عن أسئلة تتعلق ببيانات معتمدة لا تحتاج بالضرورة إلى إذن إنشاء عناقيد أو تغيير ضوابط الشبكة أو استرجاع أسرار عشوائية أو كتابة ملفات. وإذا احتاج سير عمل ما إلى تلك القدرات، فضعها خلف أداة وهوية منفصلتين تتطلبان موافقة محددة، بدل إضافتها إلى عملية التقارير العامة.

 ## دقّق في استخدام الإصدارات المتأثرة

 لا تثبت النشرات أن العيوب استُغلت في الواقع. فالنقاش العام حول CVE ليس دليلًا على وقوع حادث، ووجود حزمة ضعيفة ليس دليلًا على أن مهاجمًا وصل إليها. ومع ذلك، تظل مراجعة السجلات منطقية لأن المسار المتأثر يصل محتوى يتحكم فيه المستخدم بسطح تنفيذ قاعدة البيانات.

 بالنسبة إلى PostgreSQL، راجع سجلات قاعدة البيانات وسجلات التدقيق بحثًا عن استخدام غير معتاد لميزات الملفات أو البرامج على جهة الخادم، أو تغييرات غير متوقعة في الأدوار، أو إنشاء دوال غير مألوفة، أو تغييرات في إعدادات المصادقة، أو نشاط حساب خدمة MCP خارج نمط الاستعلام المعتاد. وراجع قياس المضيف على خادم قاعدة البيانات بحثًا عن عمليات أو ملفات أو اتصالات شبكة أو آليات بقاء لا يفسرها عبء قاعدة البيانات. أبقِ المراجعة ضمن مستوى الكشف الدفاعي؛ لا تحول مقالًا أو تذكرة حادث إلى وصفة لإعادة تنفيذ أوامر على النظام.

 بالنسبة إلى MySQL، راجع التعليمات التي كان يفترض حظرها لكنها تظهر في سجلات التدقيق، والتغييرات غير المتوقعة في جداول الإنتاج، واستخدام امتيازات الإدارة أو الملفات، والاتصالات التي يجريها حساب MCP من عملاء أو في أوقات غير مألوفة. قارن التعليمات المرصودة بالطلبات باللغة الطبيعية التي أنشأتها متى كانت تلك السجلات متاحة. فقد يكشف عدم التطابق حقنًا في المطالبة أو عقد أداة واسعًا أكثر من اللازم أو مشكلة في المحلل أو خطأً عاديًا من النموذج.

 يمكن أن تساعد CloudTrail في جانب AWS من التحقيق، لكنها لا تحل محل قياس قاعدة البيانات والمضيف. ابحث عن قراءات غير متوقعة من Secrets Manager، أو اكتشاف RDS أو العناقيد خارج سير العمل المعتاد، أو تغييرات في IAM أو مجموعات الأمان، أو وصول من هويات مرتبطة بعملية MCP. واربط الطوابع الزمنية عبر سجلات عميل MCP وقاعدة البيانات ونظام التشغيل والسحابة.

 إذا أشارت الأدلة إلى وصول غير مصرح به، فاتبع إجراءات الاستجابة للحوادث في المؤسسة: اعزل العملية المتأثرة، ودوّر بيانات الاعتماد أو اسحبها حسب الحاجة، واحفظ الأدلة، وقيّم سلامة قاعدة البيانات والمضيف. فالترقية وحدها ليست استجابة كاملة لحادث إذا كان من المحتمل استخدام بيانات اعتماد ذات امتيازات.

 ## ما الذي يتغير في تصميم نشر MCP

 الإصلاحات الفورية هي تحديث الحزم، لكن الدرس الأوسع يتعلق بالمكان الذي يُسمح فيه لتكامل الذكاء الاصطناعي بأن يقع داخل المعمارية. خادم MCP الذي يحول اللغة الطبيعية إلى SQL ليس مجرد محول مريح. إنه مفسر يقع بين شخص ونموذج وبروتوكول أدوات ونظام ذي حالة. ويمكن لكل طبقة أن تغيّر الطلب أو تضيف إليه معنى.

 وهذا يتطلب ضوابط تظل مفهومة عندما يتصرف النموذج على نحو غير متوقع. يفصل النشر المفيد بين تحليلات القراءة فقط ووصول قاعدة البيانات التشغيلية. ويستخدم دورًا أُنشئ خصيصًا للتكامل، ويقصره على كائنات معتمدة، ويبقي عمليات الكتابة في الإنتاج ضمن سير عمل يتطلب هوية مختلفة وإجراء تغيير صريحًا. كما يبقي خادم MCP محليًا أو معزولًا بطريقة أخرى عندما يكون المنتج مصممًا لتشغيل STDIO لمستخدم واحد، ويقيّد المضيف وخروج الشبكة والأسرار ووصول نظام الملفات حول العملية.

 ويجعل هذا التصميم الإصدارات والإعدادات قابلة للرصد. ينبغي للفريق أن يستطيع الإجابة عن الأسئلة التالية: أي حزمة MCP عملت؟ وبأي وسيطات؟ وتحت أي هوية؟ وضد أي قاعدة بيانات؟ وأي استدعاء أداة أنتج كل استعلام؟ إذا تعذر الحصول على هذه الإجابات، فسيؤدي الإفصاح عن ثغرة إلى نقاش طويل حول ما قد يكون مثبتًا، بدل قرار معالجة سريع.

 ينبغي أن يغطي الاختبار عقد الأمان الفعلي، لا مجرد استعلام ناجح. تحقق من عمل طلبات القراءة العادية، ومن فشل عمليات الكتابة غير المصرح بها عند مستوى قاعدة البيانات، ومن عجز العملية عن استخدام ميزات الخادم المميزة، ومن إغلاق مسار الأخطاء بأمان، ومن أن المدخل المشوه أو غير المتوقع لا يعطل السياسة بصمت. اختبر السلوك بعد ترقية التبعيات وبعد ترقية محرك قاعدة البيانات. الهدف ليس إثبات أن المرشح يتعرف إلى كل تهجئة SQL ممكنة، بل إثبات أن الطلب غير الموثوق لا يستطيع تجاوز النتيجة المسموح بها للهوية.

 ## الخلاصة العملية

 تذكّر نشرتا AWS الصادرتان في 9 سبتمبر بأن «القراءة فقط» ادعاء تصميم يجب فرضه في أكثر من موضع. وتتطلب مشكلة PostgreSQL اهتمامًا خاصًا عندما تكون حزمة قديمة متصلة عبر الأسلاك بخادم مُدار ذاتيًا يملك دوره صلاحية المستخدم المميز أو `pg_execute_server_program`. أما مشكلة MySQL فتؤثر في الإصدارات الأقدم من الحزمة وتوضح كيف يمكن لصياغة SQL التي تبدو غير ضارة لمرشح نصي أن تظل مهمة.

 رقِّ الحزمتين حيثما وُجدتا. اجرد إصدارات التشغيل الفعلية وطرق الاتصال. واستبدل حسابات قواعد البيانات القوية بأدوار محدودة بعناية. وراجع ملف IAM ووصول الأسرار وأذونات المضيف والتعرض الشبكي المحيط بعملية MCP. ثم استخدم سجلات قاعدة البيانات والمضيف والسحابة لتحديد ما إذا كانت التثبيتات المتأثرة ضعيفة فحسب أم أسيء استخدامها أيضًا.

 النصيحة الدائمة بسيطة، حتى إن كان تنفيذها يحتاج إلى عمل: دع قاعدة البيانات تفرض حد قاعدة البيانات. تعامل مع تعليمات النموذج ومرشحات SQL كطبقات مفيدة حول ذلك الحد، لا كبديل عنه.

 ## المصادر

 استندت الإفصاحات الأمنية إلى نشرتي AWS بشأن [CVE-2026-87911](https://aws.amazon.com/security/security-bulletins/2026-104-aws/) و[CVE-2026-85788](https://aws.amazon.com/security/security-bulletins/2026-103-aws/)، المنشورتين في سبتمبر 2026. ولشرح نموذج الأمان، تتضمن المراجع ملف [AWS Labs postgres MCP Server README](https://github.com/awslabs/mcp/blob/main/src/postgres-mcp-server/README.md) وملف [AWS Labs mysql MCP Server README](https://github.com/awslabs/mcp/blob/main/src/mysql-mcp-server/README.md). كما استُخدمت [وثائق COPY في PostgreSQL](https://www.postgresql.org/docs/15/sql-copy.html)، و[أفضل ممارسات الأمان في IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)، و[دليل AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/iam-ug.pdf)، ونقاش [ترحيل aws-api-mcp-server إلى AWS MCP Server](https://github.com/awslabs/mcp/issues/4115).
