
ماسح للقراءة فقط لإضافة Claude Code 2.1.313 المزوّدة بباب خلفي (سوق Cursor، أكتوبر 2026): مفتاح SSH، الاستمرارية، نفق عكسي. macOS + Linux.
أداة فحص للقراءة فقط وقواعد كشف لإضافة [email protected] المُحصّنة بحصان طروادة.
[!WARNING] قدّم متجر Cursor إصدارًا لم تنشره Anthropic في 2026-10-29، 09:27–20:35 UTC. يزرع مفتاح SSH واستمرارية، ثم يفتح نفقًا عكسيًا إلى
134.209.82[.]225. التحديث إلى 2.1.314 يزيل الإضافة، لا ما زرعته.
أداة مجتمعية مستقلة من HappyHackingSpace. غير تابعة لـ Anthropic أو Cursor.
المحتويات: البدء السريع · ما الذي تفحصه · قواعد الكشف · إذا حصلت على نتيجة إيجابية · حجب C2 · مؤشرات الاختراق · المراجع
git clone https://github.com/happyhackingspace/claude-code-backdoor-check.git
cd claude-code-backdoor-check
bash check.sh # fast scan
bash check.sh --deep # + sshd log analysis (slower on macOS)
0 نظيف · 1 تم العثور على مؤشرات · 2 خطأ في الاستخدام.| المخرجات | رمز الخروج | المعنى |
|---|---|---|
✖ COMPROMISED | 1 | تم العثور على أثر نشط: مفتاح، ملف مُسقَط، استمرارية، نفق، مفتاح مضيف C2، أو البناء السيئ |
! EXPOSED | 1 | تم تثبيت 2.1.313 في مرحلة ما، لكن لم يُعثر على أي شيء نشط |
✔ CLEAN | 0 | لا توجد مؤشرات |
| # | المجال | يبحث عن |
|---|---|---|
| 1 | الإضافات | 2.1.313 في مجلدات Cursor / VS Code / Windsurf / VSCodium، تجزئة extension.js السيئة، سلاسل المحمّل |
| 2 | سجل التثبيت | 2.1.313 في extensions.json، .obsolete، ذاكرة VSIX المؤقتة، سجلات المحرر |
| 3 | مفاتيح SSH | مفتاح svc-telemetry في authorized_keys |
| 4 | الملفات المُسقَطة | ~/.config/.smt، .smtk، ملفات .stk_* المؤقتة |
| 5 | الاستمرارية | macOS: LaunchAgents/Daemons · Linux: cron، systemd، autostart · كلاهما: ملفات rc للصدفة |
| 6 | العمليات | النفق العكسي (ssh -R *:0:localhost:22 tunnel@…) ومشغّل .smt |
| 7 | الشبكة | اتصالات C2 النشطة؛ C2 في known_hosts |
| 8 | خادم SSH | مستمع :22؛ مع --deep، عمليات تسجيل الدخول عبر sshd باستخدام مفتاح المهاجم أو 127.0.0.1 |
| 9 | التعرّض | أسماء متغيرات بيئة بيانات الاعتماد وملفات بيانات الاعتماد التي يجب تدويرها (لا تُقرأ القيم أبدًا) |
[!NOTE]
com.apple.sysmondهو أيضًا خادم نظام حقيقي من Apple. فقط النسخة الموجودة في نطاق المستخدم (~/Library/LaunchAgents) هي الخبيثة.
لخطوط معالجة EDR/SIEM وللصيد على مستوى الأسطول. على عكس بقية هذا README، تحتوي ملفات القواعد على C2 غير مُعطَّل (un-defanged)، لأنها يجب أن تطابقه.
rules/sigma/)| القاعدة | مصدر السجل | المستوى |
|---|---|---|
| نفق SSH عكسي إلى C2 | process_creation | حرج |
| اتصال بـ C2 | network_connection | حرج |
| سكربت / مفتاح النفق المُسقَط | file_event | مرتفع |
LaunchAgent مزيف com.apple.sysmond | file_event · macOS | مرتفع |
| تم تفعيل Remote Login من شجرة عمليات المحرر | process_creation · macOS | مرتفع |
تنفيذ cron @reboot / .smt | process_creation · Linux | مرتفع |
مهمة مجدولة SysMon / تثبيت OpenSSH من المحرر | process_creation · Windows | مرتفع |
pip install sigma-cli
sigma plugin install splunk # or elasticsearch, microsoft365defender, …
sigma convert -t splunk --without-pipeline rules/sigma/
rules/yara/claude_code_backdoor.yar)| القاعدة | المطابقات |
|---|---|
HHS_ClaudeCode_Backdoor_Loader | ملف extension.js المُحمَّل بحصان طروادة (تجزئة أو سلاسل المُحمِّل) |
HHS_ClaudeCode_Backdoor_TunnelScript | ملف .smt / smt.cmd المُسقَط |
HHS_ClaudeCode_Backdoor_Persistence | LaunchAgent، أو cron بـ @reboot، أو مهمة SysMon تشير إلى السكربت |
HHS_ClaudeCode_Backdoor_AuthorizedKey | authorized_keys الذي يحتوي على مفتاح svc-telemetry |
yara -r -s rules/yara/claude_code_backdoor.yar \
~/.cursor/extensions ~/.vscode/extensions ~/.config ~/.ssh ~/Library/LaunchAgents
[!TIP] تغطي قواعد Sigma أيضًا Windows (المهمة المجدولة، تثبيت OpenSSH)، وهو ما لا يفعله
check.sh.
[!CAUTION] تعيد آلية الاستمرارية فتح النفق كل 60 ثانية تقريبًا. احتوِ أولًا، ثم نظّف. تُوفّر Cursor أيضًا نصوصًا برمجية رسمية للمعالجة: راجع إشعار الأمان الخاص بها.
1. الاحتواء. افصل الجهاز عن الشبكة، أو احجب C2.
2. احفظ الأدلة قبل حذف أي شيء:
mkdir -p ~/ioc-evidence && cd ~/ioc-evidence
bash /path/to/check.sh --deep --no-color > scan.txt
cp -p ~/.ssh/authorized_keys ~/.ssh/known_hosts ~/.config/.smt ~/.config/.smtk . 2>/dev/null
[!IMPORTANT]
.smtkهو مفتاح النفق الخاص بالمهاجم. احتفظ بمجلد الأدلة خاصًا.
3. التنظيف. أزل آلية الاستمرارية، أوقف النفق، واحذف الآثار:
C2="$(echo '134.209.82[.]225' | tr -d '[]')"
launchctl bootout gui/$(id -u)/com.apple.sysmond
rm -f ~/Library/LaunchAgents/com.apple.sysmond.plist
pkill -f "tunnel@$C2"; pkill -f 'autossh -M 0'; pkill -f '\.config/\.smt'
sed -i.bak '/svc-telemetry/d' ~/.ssh/authorized_keys
ssh-keygen -R "$C2"
rm -f ~/.config/.smt ~/.config/.smtk "$TMPDIR"/.stk_*
sudo systemsetup -setremotelogin off # if you don't use SSH
crontab -l | grep -vE '\.config/\.smt|tunnel@' | crontab -
# disable and remove any systemd/autostart entries check.sh reported
pkill -f "tunnel@$C2"; pkill -f 'autossh -M 0'; pkill -f '\.config/\.smt'
sed -i.bak '/svc-telemetry/d' ~/.ssh/authorized_keys
ssh-keygen -R "$C2"
rm -f ~/.config/.smt ~/.config/.smtk /tmp/.stk_* /var/tmp/.stk_*
sudo systemctl disable --now ssh # if you don't use SSH
4. استبدل الإضافة. أزل anthropic.claude-code-2.1.313* وثبّت الإصدار ≥ 2.1.314.
5. تحقّق. يجب أن يُرجع bash check.sh --deep رمز الخروج 0.
6. دوّر بيانات الاعتماد من جهاز آخر نظيف: مفاتيح SSH، ورموز git، ومفاتيح السحابة وواجهات API، ورموز السجلات (registry). ابدأ بالقائمة الواردة تحت [9/9].
7. أعد بناء الجهاز إذا كان C2 موجودًا في known_hosts أو إذا قَبِل sshd مفتاح المهاجم.
شغّل مع --deep. دوّر على الأقل الأسرار المدرجة تحت [9/9]، لأن أسماءها جرى إرسالها في إشارات (beaconed). أبقِ C2 محجوبًا.
يتصل البرنامج الخبيث بعنوان IP مباشرةً، لذا لا تراه مرشّحات DNS (NextDNS، Pi-hole) أبدًا. احجبه عند جدار الحماية:
| الأداة | الأمر |
|---|---|
| LuLu | Rules → Add Rule → process *, address 134.209.82[.]225 (without the brackets), port *, Block |
| pf | echo "block drop out quick to $C2" | sudo tee -a /etc/pf.conf && sudo pfctl -f /etc/pf.conf -e |
| iptables | sudo iptables -I OUTPUT -d "$C2" -j DROP (also DOCKER-USER on Docker hosts) |
| nftables | sudo nft add rule inet filter output ip daddr "$C2" drop |