في 26 يوليو 2026، بدأ مطوّرون على منصة X بنشر استعلامات بحث من نوع site: تُرجع صفحات كاملة من محادثات Claude المشاركة. ووفقاً لتلك التقارير، تضمّنت النتائج مفاتيح واجهات برمجية وبيانات اعتماد وتفاصيل محافظ رقمية وسِيَراً ذاتية تحمل أسماءً وأرقام هواتف وملاحظات مشاريع داخلية لشركات، بل ومحامياً يناقش مشكلة أخلاقية مهنية. لم تُصدر Anthropic تعليقاً حتى لحظة كتابة هذا المقال، ولم يُتحقّق بعد بشكل مستقل من حجم الانكشاف.
إن بدت هذه القصة مألوفة فهي كذلك فعلاً. ففي أغسطس 2025 عثرت Fast Company على آلاف محادثات ChatGPT المشاركة في نتائج جوجل، فألغت OpenAI خيار "اجعل هذه المحادثة قابلة للاكتشاف" خلال أيام. وفي سبتمبر 2025 أفادت Forbes بأن جوجل فهرست ما يقارب 600 محادثة Claude مشاركة — رغم أن Anthropic كانت تمنع الزواحف عبر ملف robots.txt.
ثلاث حوادث، مزوّدان اثنان، عام واحد. هذه ليست مشكلة مزوّد بعينه، بل نمط تصميمي يُسرّب افتراضياً — وقد بناه تقريباً كل فريق يطلق منتج ذكاء اصطناعي في 2026.
رابط المشاركة حدٌّ أمني لا يعامله أحد كذلك
كل منتج محادثة ذكية يطلق الميزة نفسها: ينقر المستخدم على "مشاركة"، فيولّد التطبيق رابطاً، وكل من يملك الرابط يستطيع قراءة المحادثة. إنه أرخص نموذج مشاركة ممكن: لا حسابات ولا قوائم صلاحيات ولا دعوات. وتحبّه فرق المنتج لأنه يحقّق تحويلاً — فالمحادثة المشاركة قناة اكتساب مجانية.
المشكلة في النموذج الذهني الذي يخلقه. عبارة "أي شخص يملك الرابط" تبدو وكأنها رابط خاص تتحكم فيه. يقرأها المستخدم على أنها غير مُدرجة. بينما يطبّق النظام فعلياً عامّة، لكن لم تُكتشف بعد. والفجوة بين القراءتين هي المكان الذي تسكنه كل هذه الحوادث.
"لم تُكتشف بعد" ليست خاصية أمنية، بل حالة مؤقتة، وأربع قوى على الأقل تُفتّتها:
- تسرّب المُحيل (Referrer). يفتح المستخدم رابط المشاركة، ثم ينقر على رابط خارجي في الصفحة، فتسجّل تحليلات الموقع الوجهة رابطَ المشاركة في ترويسة
Referer. صار الرابط الآن في سجلّات طرف ثالث — وفي بعض منتجات التحليلات، في واجهة تُزحف إليها. - الانتشار عبر الشبكات ومواقع اللصق. الروابط المنشورة على X أو Discord أو Reddit أو Stack Overflow أو Pastebin تتحوّل إلى روابط واردة قابلة للزحف. هذا هو التفسير المعلن من Anthropic لحادثة 2025، وهو آلية حقيقية — لكنه يفسّر فقط كيف وجدت الزواحف الصفحات، لا لماذا كانت الصفحات قابلة للتقديم لها أصلاً.
- قياسات المتصفحات والإضافات. أشرطة الأدوات وإضافات "المساعد الذكي" وبعض متصفحات الهاتف ترسل الروابط المُزارة إلى خوادم خلفية. وقد بُنيت عدة قواعد بيانات SEO تاريخياً بهذه الطريقة.
- التعداد. إذا كانت رموز المشاركة تسلسلية أو قصيرة أو مشتقة من طابع زمني، فيمكن تخمينها ببساطة.
ملف robots.txt لا يدافع عن أيٍّ من هذه. إنه طلبٌ للزواحف حسنة السلوك لا آلية تحكم في الوصول، وهو لا يزيل رابطاً موجوداً في الفهرس أصلاً. فعلت Anthropic الأمر المهذّب وانتهى بها المطاف في Forbes رغم ذلك.
لماذا يُفوَّت الإصلاح باستمرار
يتكرر هذا الخلل لأنه يقع في التماس بين ثلاثة فرق. المنتج يملك زر المشاركة. الواجهة الأمامية تملك الصفحة. البنية التحتية تملك الترويسات. لا أحد يملك سؤال "هل هذه الصفحة قابلة للفهرسة؟"، فتكون الإجابة الافتراضية: نعم.
وهو كذلك شبه غير مرئي في الاختبار. صفحة المشاركة تعمل بامتياز في ضمان الجودة وفي بيئة التجريب ويوم الإطلاق. ولا يظهر الفشل إلا بعد أسابيع، في فهرس شخص آخر، ويكتشفه غريب يشغّل استعلام site:. لا اختبار فاشل، ولا معدّل أخطاء، ولا تنبيه — ولهذا بالضبط ينجو حتى الإنتاج ويبقى هناك.
بناء روابط مشاركة لا تُسرّب
إن كنت تطلق ميزة مشاركة — لمحادثة ذكية أو تقرير أو لوحة بيانات أو مستند مولَّد — فهذه هي القائمة التي تصمد فعلاً.
1. امنع الفهرسة عبر الترويسة لا عبر robots.txt وحده
ملف robots.txt يمنع الزحف. أما X-Robots-Tag فيمنع الفهرسة، ويعمل حتى حين يصل الزاحف إلى الصفحة عبر رابط وارد اكتشفه في مكان آخر. اضبطه عند الحافة كي لا ينساه أي مسار:
// next.config.js — يُطبَّق على كل مسارات المشاركة دون الحاجة لتفعيل يدوي لكل صفحة
module.exports = {
async headers() {
return [
{
source: '/share/:path*',
headers: [
{ key: 'X-Robots-Tag', value: 'noindex, nofollow, noarchive, nosnippet' },
{ key: 'Referrer-Policy', value: 'no-referrer' },
],
},
]
},
}سطر Referrer-Policy: no-referrer يؤدي عملاً صامتاً بالغ الأهمية: فهو يمنع تسليم رابط المشاركة لكل موقع ينتقل إليه القارئ بنقرة.
أضف وسم الميتا أيضاً، من أجل المُصيّرات التي لا ترى سوى HTML:
// app/share/[token]/layout.tsx
export const metadata = {
robots: { index: false, follow: false, nocache: true },
}2. اجعل الرموز غير قابلة للتخمين
استخدم 128 بتاً على الأقل من العشوائية التعمويّة. ولا تشتق الرمز أبداً من معرّف المحادثة أو معرّف المستخدم أو طابع زمني.
import { randomBytes } from 'node:crypto'
// 32 محرفاً بترميز base64url، أي نحو 192 بتاً من العشوائية — غير قابل للتعداد
export const createShareToken = () => randomBytes(24).toString('base64url')3. اجعل الانتهاء هو الوضع الافتراضي
هذا هو الضابط الأعلى أثراً. الرابط الذي يموت خلال 30 يوماً لا يمكن أن يُسرّب في الشهر السادس. اجعل الانتهاء افتراضياً، واجعل الدوام خياراً صريحاً، واعرض تاريخ الانتهاء في نافذة المشاركة كي يفهم المستخدم ما الذي ينشئه.
create table share_links (
token text primary key,
conversation uuid not null references conversations(id) on delete cascade,
created_by uuid not null references users(id),
expires_at timestamptz not null default now() + interval '30 days',
revoked_at timestamptz,
view_count int not null default 0
);4. افحص المحتوى قبل توليد الرابط
هذا هو الضابط الأهم في الحادثة المُبلَّغ عنها. قبل إنشاء رابط المشاركة، مرّر المحادثة عبر كشف الأسرار وحذّر المستخدم مما هو على وشك نشره. عامله كخطوة موافقة مستنيرة تحجب الإجراء، لا كإشعار عابر.
const SECRET_PATTERNS = [
{ label: 'مفتاح وصول AWS', re: /AKIA[0-9A-Z]{16}/ },
{ label: 'كتلة مفتاح خاص', re: /-----BEGIN (RSA |EC |OPENSSH )?PRIVATE KEY-----/ },
{ label: 'رمز Bearer', re: /\b(sk|pk)-[A-Za-z0-9]{20,}\b/ },
{ label: 'رمز JWT', re: /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\./ },
]
export function findSecrets(text) {
return SECRET_PATTERNS
.filter(({ re }) => re.test(text))
.map(({ label }) => label)
}اقرن طبقة التعابير النمطية بفحص للإنتروبيا يلتقط السلاسل عالية العشوائية التي لن تمسكها أي قائمة أنماط، واعرض النتائج داخل السياق: "يبدو أن هذه المحادثة تحتوي على مفتاح وصول AWS. نشرها سيجعل هذا المفتاح مقروءاً لكل من يملك الرابط."
5. امنح المستخدمين واجهة إبطال يسهل الوصول إليها
كل تقرير عن هذه الحوادث ينتهي بالتعليمة نفسها: اذهب إلى الإعدادات، وابحث عن المحادثات المشاركة، واحذف ما تندم عليه. يجب أن توجد تلك الصفحة فعلاً، وأن تُبلَغ بنقرتين، وأن تسرد كل رابط نشط مع تاريخ إنشائه وعدد مشاهداته، وأن تدعم "إبطال الكل". لا يستطيع المستخدمون تنظيف انكشاف لا يرونه.
6. اجعل الإبطال يزيل المحتوى فعلياً
حذف السجل لا يكفي بعد أن تكون الصفحة قد خُزّنت مؤقتاً أو فُهرست. يجب أن يُرجع الرابط المُبطَل رمز 410 Gone قاطعاً، وأن يتضمّن دليل التشغيل لديك تقديم طلبات إزالة عبر Google Search Console وBing Webmaster Tools. اكتب ذلك الدليل قبل أن تحتاجه.
7. أضف اختبار الانحدار
يتكرر هذا الخلل لأن لا شيء يفشل عند وجوده. عالج ذلك:
test('صفحات المشاركة غير قابلة للفهرسة إطلاقاً', async () => {
const res = await fetch(`${BASE_URL}/share/${knownToken}`)
const robots = res.headers.get('x-robots-tag') ?? ''
expect(robots).toContain('noindex')
expect(res.headers.get('referrer-policy')).toBe('no-referrer')
})عشرة أسطر في التكامل المستمر، تُشغَّل مع كل نشر. هذا هو كامل الفرق بين ميزة تعمل وعنوان رئيسي في Forbes.
ما ينبغي للمؤسسات فعله هذا الأسبوع
إذا كانت مؤسستك تستخدم مساعدات ذكاء اصطناعي — وهي كذلك في 2026، بموافقة رسمية أو بدونها — فرابط المشاركة مسار خروج بيانات غير مُراقَب. إنه يتجاوز أنظمة منع تسرب البيانات لديك، والوكيل الوسيط، وبوابة البريد، لأنه ببساطة مستخدم ينقر زراً في تبويب متصفح.
ثلاث خطوات ملموسة:
- دقّق ما هو منشور بالفعل. شغّل
site:claude.ai/shareوsite:chatgpt.com/shareوما يقابلها لكل مساعد تستخدمه فرقك، مقيَّداً باسم شركتك وأسماء منتجاتك ونطاقاتك الداخلية. افعل ذلك اليوم، قبل أن تُنظَّف الفهارس وتفقد القدرة على رؤية ما انكشف. - اكتب السياسة داخل الأداة لا في دليل الموظفين. خطط المؤسسات لدى المساعدات الكبرى تتيح للمشرفين تعطيل المشاركة أو حصرها داخل المؤسسة. السياسة التي لا يستطيع أحد فرضها أمنية؛ أما المفتاح المعطَّل فهو ضابط حقيقي.
- عامل كل سرّ مُلصَق على أنه مكشوف ويجب تدويره. إذا ظهرت بيانات اعتماد في محادثة شُوركت يوماً، فدوّرها. كلفة التدوير ساعة واحدة. أما كلفة افتراض أن الأمر بخير فغير محدودة.
بالنسبة للفرق التي تبني منتجات ذكاء اصطناعي خاصة بها، يتصل الدرس الأوسع بموضوع نعود إليه دائماً في عملنا حول أمن وكلاء الذكاء الاصطناعي وبنية الثقة الصفرية وحوكمة الذكاء الاصطناعي في المؤسسات: السطح الخطير نادراً ما يكون النموذج نفسه، بل سباكة الويب العادية الملفوفة حوله، والتي بناها أشخاص كانوا يفكرون في معدلات التحويل لا في الزواحف.
الدرس في سطر واحد
ثلاث حوادث في اثني عشر شهراً، لدى اثنين من أفضل مختبرات الذكاء الاصطناعي تمويلاً في العالم، وكلها تعود إلى الإغفال نفسه: صفحة مشاركة كانت قابلة للتقديم لزاحف.
الإعدادات الافتراضية الآمنة ليست ميزة تضيفها حين يشتكي مستخدم. إنها ما تطلقه أولاً، لأن نمط الفشل صامت ومتأخر ولا رجعة فيه. وسم noindex يكلّف سطراً واحداً. أما شرح سبب وجود مفاتيح عميلك على جوجل فيكلّف أكثر بكثير.
تبني منتج ذكاء اصطناعي ولست متأكداً مما تكشفه فعلياً أسطح المشاركة والتسجيل والاحتفاظ لديك؟ تجري نقطة مراجعات أمنية لبنى تطبيقات الذكاء الاصطناعي لفرق في تونس والخليج.
المصادر: Forbes — مئات محادثات Anthropic ظهرت في بحث جوجل · Search Engine Land — ChatGPT يلغي المحادثات القابلة للفهرسة · Engadget — OpenAI تزيل محادثات ChatGPT من جوجل