اسم المنتج المألوف لا يثبت هوية الناشر
تقول الحزمة Claude. من سيحصل على حق تشغيل كود على جهازك؟ يبدأ التثبيت الآمن لأدوات البرمجة بالذكاء الاصطناعي بإثبات هذه العلاقة قبل منح الأداة الوصول إلى مستودع أو بيانات اعتماد. لا يثبت اسم npm أو الوصف المقنع أو اسم المنتج المعروف أن مورّد المنتج أجاز الحزمة.
في 19 أكتوبر 2026، نشرت GitHub تنبيهات برمجيات خبيثة للأسماء الثمانية المرتبطة بالذكاء الاصطناعي والمدرجة أدناه. تدعو هذه التنبيهات إلى فحص التثبيت، ولا تثبت اختراق منتجات Claude أو Codex أو ChatGPT الرسمية. يعتمد هذا الدليل على التنبيهات والوثائق الرسمية؛ ولا يدّعي تحليل عينة خبيثة أو تشغيلها. [1][2][3]
Flagged package names; do not install
claude-desktop-setup @decoopus/claude-setup
codex-setup chatgpt-desktop-setup
@decoopus/chatgpt-setup chatgpt-pro-activator
chatgpt-pro-setup-tool api-anthropicسحب الحزمة لا يخبرنا بما فعلته الحمولة
تحدد التنبيهات التي روجعت وجود برمجيات خبيثة، لكنها لا تقدم تحليلاً لسلوك هذه المجموعة. حتى 20 أكتوبر، لا تثبت المصادر المستخدمة أي ملفات قُرئت، أو استهداف مخزن اعتماد معين، أو آلية البقاء التي زُرعت. تسمية عائلة سارق معلومات ستملأ الفراغ بقصة لا بدليل. وتشابه الموضوع لا يثبت أن مشغلاً واحداً يقف خلف الحزم. [1][2][3]
لن تحل أعداد التنزيل هذه المشكلة. قد يكون التنزيل آلياً أو مكرراً أو للتحليل؛ وهو ليس تنفيذاً مؤكداً أو شخصاً متضرراً. لفريق يقيّم تعرضه، الدليل الأقوى هو اسم الحزمة ونسختها في سجلات التثبيت، وأين ثُبتت، وهل نُفذ الكود مع وصول إلى مواد قيّمة؟ سجّل حالة التنفيذ المجهولة بدلاً من اعتبار غياب الرصد إثباتاً للأمان.
ابدأ بالمورّد ثم اتبع قناة التوزيع
بالنسبة إلى Claude Code، توثق Anthropic هوية npm الرسمية @anthropic-ai/claude-code وتوفر أيضاً قنوات تثبيت أصلية. لا ترث حزمة setup ذات اسم مشابه هذه العلاقة. ينطبق الأسلوب على أي أداة: ابدأ بصفحة التثبيت الموثقة لدى المورد، واتبع قناتها الدقيقة لمنصتك بدلاً من اختيار حزمة من نتائج البحث. [4]
يجب أن تجعل العملية تكرار الخيار المتحقق منه سهلاً. احتفظ بسجل مختصر للأداة المعتمدة يتضمن رابط الوثائق وقناة التوزيع والناشر المتوقع والنسخة المختارة ومسؤول التحديثات. تثبيت النسخة يجعل الاختيار قابلاً للتكرار، لكنه لا يثبت أن الاختيار الأول كان مشروعاً. راجع مسار التحديث أيضاً؛ فقد يصل تثبيت الغد من دون أن ينسخ شخص أمراً مرة أخرى.
Proposed approved-tool record
Vendor documentation URL -> exact distribution identity
Version + platform -> expected artifact
Publisher / signing key -> trust anchor
Artifact hash -> recorded bytes
Update mechanism -> owner and review policy
Runtime permissions -> separately approved accessتحتاج البصمة إلى مرجع موثوق للمقارنة
تثبت البصمة تطابق البايتات مع قيمة تجزئة متوقعة. إذا قدم موزع غير موثوق الملف والبصمة معاً، فلا يثبت التطابق هوية منتجهما. توثق Anthropic ملفات manifest موقعة بدءاً من Claude Code 2.1.89؛ أما الإصدارات الأقدم فتقدم تجزئات دون ذلك التوقيع المنفصل. تحقق من توقيع manifest بمقارنة بصمة المفتاح الموثقة، ثم قارن ملف منصتك بالقيمة في manifest الموثوق. [4]
تحمل الملفات التنفيذية الأصلية الموثقة على Windows توقيع Authenticode أيضاً. أوامر الفحص أدناه لا تشغّل الملف. تحقق من صحة التوقيع ومن هوية الناشر المتوقع Anthropic, PBC؛ لا يكفي توقيع صحيح لناشر عشوائي. هذه خطوات تحقق موثقة، وليست تقريراً بأن ملفاً نُزّل أو فُحص لإعداد المقال. [4]
# Inspect an already-downloaded binary; do not execute it
Get-AuthenticodeSignature -LiteralPath .\claude.exe |
Select-Object Status, SignerCertificate
Get-FileHash -LiteralPath .\claude.exe -Algorithm SHA256
# Compare signer and hash with the vendor's documented trust chain.يبقى قرار الصلاحيات بعد التحقق من المصدر
تجيب التواقيع وإثباتات المنشأ عن أسئلة المصدر. ولا تثبت خلو الكود من السلوك الخبيث أو الثغرات. توضح npm ذلك صراحة بشأن provenance: يربط الحزمة بمصدرها ومعلومات بنائها للمراجعة، ولا يشهد بأنها غير ضارة. تعامل مع النتيجة كجزء من الأدلة على الملف، لا كسبب لمنحه كل بيانات الاعتماد على الجهاز. [5]
سؤالي التالي هو ما الذي يمكن للبرنامج المثبت الوصول إليه. للأداة المعتمدة، راجع محتويات المستودع ومتغيرات البيئة ومخازن الاعتماد والوصول الشبكي المتاح لعمليتها. افصل وصول التطوير عن مفاتيح الإنتاج، واجعل الصلاحيات الإضافية قراراً مقصوداً. تخص هذه التوصية سلطة التنفيذ عموماً؛ ولا تدّعي أن الحزم المسحوبة استخدمت تقنية جمع بعينها.
هل يجعل تجاوز سكربتات التثبيت أداة CLI آمنة؟
يمنع خيار npm المسمى ignore-scripts تشغيل سكربتات package.json أثناء التثبيت، لكن الوثائق توضح أن السكربتات المطلوبة صراحة مثل npm run تظل تنفذ الأمر المقصود. إنه ليس بيئة عزل للبرنامج الذي تشغله لاحقاً. الفريق الذي يمنع سكربتات دورة التثبيت ثم يشغّل CLI غير متحقق منه يتخذ قرار تنفيذ آخر. قيّم ذلك القرار منفصلاً. [6]
هناك تكلفة توافق عملية أيضاً: قد تحتاج الحزم المشروعة خطوات تثبيت. الحل إذن سماح صريح خضع للمراجعة وله سبب، لا إلغاء الضابط على مستوى البيئة لأن أداة واحدة فشلت. ميّز في سجل الموافقة بين فحص البيانات الوصفية والتثبيت والتنفيذ. كل خطوة تعطي أدلة مختلفة وقد تتيح قدرات مختلفة؛ لا تجعل إحداها تحل محل التالية بصمت.
إذا ثبّت حزمة مُبلّغاً عنها، احفظ الأدلة
توصي التنبيهات باعتبار الجهاز الذي ثُبتت عليه الحزمة مخترقاً وتدوير الأسرار المكشوفة من جهاز آخر. اتبع ذلك مع فريق الاستجابة: اعزل البيئة، واحفظ سجلات التثبيت والعمليات، وحدد بيانات الاعتماد التي كانت متاحة لها. إزالة الحزمة وحدها لا تثبت زوال أي وصول أو بقاء نتج عنها. [1][2]
هذا مختلف عمداً عن الجزم بحمولة محددة. تستطيع التعامل بجدية مع الاحتواء مع الالتزام بالدقة بشأن المجهول. احتفظ بمعرّفات الحزم ونسخها في سجل الحادث، مع أدلة التنفيذ وبيانات الاعتماد التي روجعت. لا تلصق قيماً سرية فعالة في تذكرة، ولا تستخدم محطة عمل غير موثوقة لإنشاء بدائلها.
اجعل التثبيت قراراً هندسياً
أطلب من الفريق إثبات سلسلة كاملة لأداة معتمدة: يشير المورد إلى هذه القناة، ويطابق الملف هذا الإصدار الموثق، وتحصل العملية على هذا الوصول المحدد. يستطيع مهندس آخر مراجعة السلسلة. لا تستبدلها صورة شعار مألوف أو عدّاد تنزيلات.
هذا عمل في هندسة البرمجيات الآمنة لأن الخيارات تصبح جزءاً من تهيئة الموظفين وCI وأتمتة التحديثات. إذا احتاج كل مطور إلى إعادة بناء قرار الثقة وحده، فقد فوّضت المؤسسة ضابطاً أمنياً قابلاً للتكرار إلى نتيجة بحث. ابنِ المسار المتحقق منه مرة، وعيّن مالكه، وقلص صلاحيات التنفيذ إلى نطاق يمكن تبريره.
المصادر
هل تحتاج إلى هذا الفحص في منتجك؟
تطوير البرمجيات والمواقع حسب الطلب