الرئيسيه

ملف “لا تسأل مجدداً” في Claude Code يكشف كلمات المرور على GitHub

5٬015 مشاهدة

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

كيف تتسرب البيانات؟

وفقاً لما نشره موقع The Hacker News نقلاً عن Apiiro، فعندما يختار المستخدم خيار “Yes, and don’t ask again” أي “نعم، ولا تسأل مجدداً”، تستطيع الأداة حفظ الأمر حرفياً، بما يحتويه من بيانات سرية، داخل ملف إعدادات خاص بالمشروع. وبما أن ملفات الإعدادات هذه تُرفع عادةً إلى المستودعات مع بقية ملفات المشروع، فإن أي سر مكتوب داخل أمر محفوظ قد ينتهي به المطاف منشوراً علناً.

وقالت Apiiro إنها رصدت 1,122 نسخة عامة على GitHub تحتوي على بيانات من هذا النوع، وهو رقم يشير إلى أن المشكلة ليست حالة فردية معزولة بل نمط متكرر بين المطورين.

لماذا يحدث هذا الخطأ المتكرر؟

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

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

مخاطر النسخ العامة

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

ما الذي ينبغي فعله؟

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

الخلاصة

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

الكاتب :
يوسف الحربي. أحب التجارب والتعلم. أعيش حياتي بأهداف ومهام متعددة واولها رضا الله ثم رضا الوالدين ودوام الصحه والعافيه وراحة البال. تخصصي شبكات وادارة نظم وقد احببت الرسم, البرمجة والتصميم. ولم تكن البرمجة والتصميم من اختصاصاتي المهنية بل هواية تدرجت فيها حتى وجدت نفسي متمكن من نيل اعجاب الاقرباء عند مشاهدة اعمالي.
أخر المقالات

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *