شنو هي JSNinja؟
هي أداة مفتوحة المصدر مبنية بلغة Python، شغلها الأساسي هو تحليل ملفات JavaScript سواء كانت مضغوطة، Obfuscated، أو مكتوبة بصورة معقدة.
وظيفتها مو بس تقرالك الكود، لا! تفك تشفيره، ترتبه، وتفصله سطر سطر، حتى تقدر تتعرف على:
- المتغيرات الحساسة (مثل التوكنات)
- API Endpoints
- كلمات المرور
- الأسرار
- الربط مع الخوادم الخارجية
تثبيت الأداة:
الخطوة الأولى: تحميل الأداة
افتح التيرمنال (أو CMD عالويندوز) وكتب الأمر التالي:
git clone https://github.com/iamunixtz/JSNinja.git
الخطوة الثانية: ادخل مجلد الأداة
cd JSNinja
الخطوة الثالثة: تثبيت المتطلبات
pip install -r requirements.txt
ملاحظة: لازم تكون منصب Python 3.6 أو أحدث.
طريقة الاستخدام:
بعد ما تثبّت الأداة، تكدر تستخدمها بهالطريقة:
python3 jsninja -u https://example.com/static/app.min.js
يعني انت راح تعطيها رابط ملف JS من موقع ويب، وهي راح تحلله وتطلعلك النتائج.

مثال عملي:
خل نفترض عدنا موقع:
https://www.cyberr.iq/
وعنده ملف جافاسكربت اسمه main.js
بالرابط التالي:
https://www.cyberr.iq/_next/static/chunks/polyfills-42372ed130431b0a.js
نكتب بالأداة:
python3 jsninja -u https://www.cyberr.iq/_next/static/chunks/polyfills-42372ed130431b0a.js
راح تطلعلك الأداة النتائج التالية – مثلاً:
[+] Found potential API key: sk_test_51H...
[+] Found endpoint: https://api.victim.com/v1/data
[+] Found JWT token format: eyJhbGciOiJIUzI1...
[+] Found Base64-encoded string: dXNlcjpwYXNzd29yZA==
الخيارات (Options) المتاحة:
الخيار | الوظيفة |
---|---|
-u | رابط ملف الجافاسكربت |
input_file | تحليل ملف موجود محلياً |
--secrets | يركز فقط على التوكنات والأسرار |
شلون تستفيد منها بعمق أكثر؟
- دمجها مع أدوات ثانية: تقدر تدمج JSNinja مع أدواتك الباقية مثل ffuf, Burp, أو حتى XSS Finder.
- تفحص ملفات كثيرة دفعة وحدة: تخلي أمر
--urls
مع لستة روابط.js
ويحللها وحدة وحدة. - استخدمها مع النطاقات الفرعية: تفيدك تكشف API وEndpoints ناسي صاحب الموقع يمسحها.
ملخص:
أداة JSNinja مو بس تفيد الباحثين الأمنيين، حتى المبرمجين يقدرون يستخدموها لفهم كودات قديمة أو مشفرة.
هي صارت وحدة من الأدوات الأساسية بترسانة الـ Bug Bounty الحديثة، خصوصاً إذا كنت تحلل سكربتات كبيرة ومعقدة.