هدهد تك — منصة التقنية والذكاء الاصطناعي
الأحد, 8 نوفمبر 2026
عاجل
◆ زامن مكتبة Apple Music بسهولة عبر أجهزتك بهذا الإعداد البسيط ◆ Google Cloud تضيف VMware Cloud Foundation ذاتية الإدارة على Bare Metal ◆ تجربة ركوب سيارات الأجرة الروبوتية في مدن الصين ◆ Coolpad تطلق أول هاتف ذكي عريض، Cool X Wide، في الصين ◆ Crédit Mutuel Arkéa يتعرض لسرقة سيبرانية بقيمة 133 مليون دولار مرتبطة بمزود خدمة ◆ Google Messages تختبر إعادة تصميم كبيرة مع محادثات مثبتة وميزات بحث جديدة ◆ باحثون يطورون مستشعراً بلا بطارية يعمل بالطاقة الإشعاعية المحيطة ◆ فهم أنظمة الأمان في الطائرات بدون طيار: ماذا يحدث عند فقدان الإشارة
الأمن السيبراني | ذكاء اصطناعي

ثغرة أمنية في Claude Code تكشف أسراراً في مستودعات GitHub العامة

8 نوفمبر 2026 4 دقائق قراءة هدهد تك | Hudhud Tech

أصبحت كلمات المرور ومفاتيح API التي يدخلها المطورون في الأوامر المعتمدة داخل Claude Code متاحة للعامة في مستودعات GitHub. ويتيح هذا الانكشاف لأي شخص قراءة المعلومات الحساسة المخزنة في هذه الملفات.

عندما يختار المستخدم «Yes, and don’t ask again»، يحفظ مساعد البرمجة بالذكاء الاصطناعي من Anthropic الأمر حرفياً، بما في ذلك أي أسرار، في ملف إعدادات المشروع. وأبلغت شركة أمن البرمجيات Apiiro عن وجود 1,122 نسخة عامة من هذا الملف تحتوي على سر واحد على الأقل، لكنها لم تتحقق مما إذا كانت أي من هذه الأسرار لا تزال نشطة.

الملف المعني اسمه .claude/settings.local.json. ومجرد إزالته من المشروع لا يزيل الخطر، لأن الإصدارات الأقدم تبقى في سجل git وفي forks المستودع. وينصح الباحثون المطورين بتدوير جميع كلمات المرور والرموز والمفاتيح التي احتوى عليها الملف يوماً ما قبل التنظيف.

كيف تُحفظ الأسرار

افتراضياً، يطلب Claude Code من المستخدمين التأكيد قبل تنفيذ معظم أوامر shell. وإذا اختار المستخدم «Yes, and don’t ask again»، يحفظ قاعدة سماح في .claude/settings.local.json داخل المشروع. ويوضح هذا السلوك في وثائق الأذونات الخاصة به. ويمكن للأوامر اللاحقة التي تطابق الطلب المحفوظ أن تعمل دون تأكيد إضافي في الجلسات المستقبلية.

يمكن أن تكون القاعدة المحفوظة نمطاً، مثل npm test *، أو أمراً دقيقاً. وعندما تكون الحالة الأخيرة، تُحفظ أيضاً أي كلمة مرور أو رمز يُدخل في النص العادي. ووجد الباحثون حالات لأوامر محفوظة تحتوي على أسرار في ملفات عامة، وأعادوا إنتاج هذا السلوك باستخدام أحدث الطرازات، Opus 5.5 وFable 5.1.

للتخفيف من الخطر، يحاول Claude Code إبقاء الملف خارج git. فعند أول كتابة له في مستودع git، يضيف الملف إلى استثناءات git العالمية للمستخدم، ما يوجه git إلى تجاهل الملف في جميع المستودعات على ذلك الحاسوب. لكن هذه الحماية تنطبق فقط على commits الجديدة ولا تؤثر في الملفات الملتزمة مسبقاً.

نتائج Apiiro

كشف تحقيق Apiiro في مستودعات GitHub العامة عن 104,185 نسخة من الملف عبر 103,617 مستودعاً. ونحو 1.1% من هذه النسخ، أي 1,122، تحتوي على سر واحد على الأقل، بإجمالي 1,379 سراً مختلفاً. وتُحتسب القيمة سراً إذا طابقت تنسيق مفتاح معروف أو إذا ارتبطت كلمة مرور أو رمز بعنوان خادم عام، ويجب أن يوافق عليها مراجع بالذكاء الاصطناعي أيضاً.

أكثر من ثلث الأسرار المحددة توفر وصولاً مباشراً إلى قواعد البيانات، بما في ذلك 379 كلمة مرور لقواعد البيانات. وتشمل الأسرار الأخرى 43 تسجيل دخول SSH لخوادم عامة، و42 رمزاً لـ GitHub وGitLab وnpm، و23 مفتاح AWS. ومن بين مالكي هذه الملفات 63 مؤسسة، معظمها شركات برمجيات بأحجام مختلفة.

حتى 7 نوفمبر، بقي كل ملف يحتوي على سر في الفرع الافتراضي لمستودعه، مع وجود نصف هذه الملفات لمدة 217 يوماً على الأقل. وتحتوي الإصدارات الأقدم من الملف على 734 سراً إضافياً عبر 509 مستودعات، عادةً لأن الملف حُذف. وتنشر forks المستودعات الأصلية هذه الأسرار على نطاق أوسع.

الإجراءات الموصى بها للمطورين

يوصي الباحثون المطورين باتخاذ الخطوات التالية:

  • البحث في مؤسسات GitHub عن .claude/settings.local.json و.claude/settings.json، وفحص سجل git لكل مستودع، حتى لو لم تعد الملفات موجودة.
  • تدوير جميع كلمات المرور والرموز والمفاتيح التي احتوتها الملفات يوماً ما قبل التنظيف.
  • إيقاف تتبع الملف المحلي باستخدام git rm –cached .claude/settings.local.json وإضافته إلى .gitignore الخاص بالمستودع.
  • فتح الملف على الحواسيب الشخصية وحذف أي قواعد تحتوي على أسرار.
  • استخدام متغيرات من مدير أسرار، مثل $DB_URL، بدلاً من ترميز الأسرار مباشرة في الأوامر.
  • الموافقة على أنماط الأوامر، مثل Bash(npm run:*), بدلاً من الأوامر الفردية.

حتى النسخ التي لا تصل إلى GitHub مهمة، لأن الملف بصيغة JSON عادية ويمكن أن يوجد في حزم npm أو صور Docker أو أرشيفات zip أو مجلدات متزامنة. واستهدفت برمجيات خبيثة سابقة الأسرار على أجهزة المطورين، ما يبرز الحاجة إلى اليقظة.

لفرق الأمن، يقترح الباحثون التعامل مع مجلدات agent وملفات الذاكرة على أنها تحتوي على أسرار، على غرار ملفات .env. وينبغي تضمينها في فحص الأسرار قبل commit وفي CI، مع ضمان قدرة الفاحصات على اكتشاف كلمات المرور داخل الأوامر، وليس فقط تنسيقات المفاتيح المعروفة. بالإضافة إلى ذلك، ينبغي للمؤسسات إضافة .claude/settings.local.json إلى قوالب .gitignore الخاصة بها وإعطاء الأولوية لفحص بيانات الاعتماد المرتبطة بخوادم عامة.

أشارت تقارير سابقة إلى أن مستخدمي Claude Code كانوا قد أبلغوا عن هذه المشكلة من قبل. فقد ذكر تقرير خطأ قُدم في 11 أغسطس 2025 أن الأوامر المعتمدة التي تحتوي على مفاتيح API ورموز كانت تُخزن حرفياً في settings.local.json. وأغلق روبوت آلي التقرير بوصفه «not planned» بعد 60 يوماً دون نشاط.

 

المصدر: The Hacker News

ما رأيك بهذا الخبر؟

شارك الخبر: