Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cloud-doctor — أمر واحد يُقيّم حسابك السحابي بأكمله — الأخطاء في التهيئة، نقص المراقبة، والوضع الأمني. | Kitploit
أدوات/GitHubGitHub/dumbmachine/cloud-doctor
أمن البنية التحتية السحابيةماسحات الثغرات الأمنيةتدقيق التكوينأمن السحابةDevSecOpsسوء التكوين
GitHubdumbmachine/cloud-doctor

cloud-doctor

أمر واحد يُقيّم حسابك السحابي بأكمله — الأخطاء في التهيئة، نقص المراقبة، والوضع الأمني.

عرض المستودع
22منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

cloud-doctor

npm version license

أمر واحد يقيم حساب السحابة بالكامل — التكوينات الخاطئة، ونقص المراقبة، والحالة الأمنية، مرتبة وفقًا لأهم خمسة أشياء يجب إصلاحها أولاً.

وجِّهه إلى AWS، Cloudflare، Vercel، Supabase، Render، Fly.io، أو Railway وسيعود بتقييم، وما هو مكسور، وإصلاح لكل مشكلة — مكتفٍ ذاتيًا بحيث يمكن تسليمه مباشرة إلى وكيل.

بداية سريعة

root@kitploit:~
npx cloud-doctor

https://github.com/user-attachments/assets/60b610ab-7aee-4c3a-8d9e-83f045c8cc56

ذلك يختار مزودًا، ويحل هويتك (ملف تعريف AWS، رمز API، …)، ويشغل الفحص تفاعليًا. للتخطي مباشرة إلى مزود:

root@kitploit:~
npx cloud-doctor aws --profile prod
npx cloud-doctor cloudflare --yes
npx cloud-doctor vercel --yes

إذا كان ملف ~/.npmrc يحتوي على min-release-age (تقوية سلسلة التوريد) ويمنع الإصدارات الجديدة:

root@kitploit:~
# =<number>, 0 chosen as example
npm x --min-release-age=0 cloud-doctor -- aws profiles

تفضل أحدث الإصدارات؟ يتم نشر الإصدارات التجريبية تحت وسومها الخاصة: npx cloud-doctor@alpha.

المزودون المدعومون

المزودالأمرالمصادقة
AWScloud-doctor awsسلسلة بيانات اعتماد AWS SDK — --profile, AWS_PROFILE, متغيرات البيئة, SSO, هوية الويب
Cloudflarecloud-doctor cloudflareCLOUDFLARE_API_TOKEN
Vercelcloud-doctor vercelVERCEL_TOKEN (+ اختياري VERCEL_TEAM_ID)
Supabasecloud-doctor supabaseSUPABASE_ACCESS_TOKEN
Rendercloud-doctor renderRENDER_API_KEY
Fly.iocloud-doctor flyFLY_API_TOKEN (+ اختياري FLY_ORG)
Railwaycloud-doctor railwayRAILWAY_API_TOKEN (رمز مساحة العمل/الحساب)

يمكن تعيين رموز المصادقة كمتغيرات بيئة أو يمكنك تقديمها عندما يطلبها واجهة المستخدم النصية:

root@kitploit:~
CLOUDFLARE_API_TOKEN=cfut_aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kUXc0dzlXZ1hjUQ== npx cloud-doctor cloudflare

(لا تقم بفك تشفير الرمز base64)

أو

root@kitploit:~
$ npx cloud-doctor cloudflare

Cloudflare credentials are not set — enter them below.
Kept for this run only, never written to disk. Skip these prompts: export CLOUDFLARE_API_TOKEN

  dashboard → My Profile → API Tokens
? Cloudflare read-only API token › <input>

قريبًا: Google Cloud، وKubernetes، وقواعد البيانات (Postgres, MySQL, Redis) — انظر ما التالي.

الأوامر

root@kitploit:~
npx cloud-doctor                    # pick provider (default AWS) → pick identity → scan
npx cloud-doctor aws                # AWS fast path
npx cloud-doctor aws --profile prod # non-interactive when unambiguous
npx cloud-doctor aws --yes --json   # CI, machine-readable output
npx cloud-doctor aws --yes --json --fail-under 75  # CI gate on the score

npx cloud-doctor cloudflare --yes   # needs CLOUDFLARE_API_TOKEN
npx cloud-doctor vercel --yes       # needs VERCEL_TOKEN (+ VERCEL_TEAM_ID)
npx cloud-doctor supabase --yes     # needs SUPABASE_ACCESS_TOKEN
npx cloud-doctor render --yes       # needs RENDER_API_KEY
npx cloud-doctor fly --yes          # needs FLY_API_TOKEN (+ FLY_ORG)
npx cloud-doctor railway --yes      # needs RAILWAY_API_TOKEN

npx cloud-doctor aws profiles       # list ~/.aws/config profiles
npx cloud-doctor aws whoami         # show resolved AWS identity

--yes يتخطى المطالبات (آمن للتكامل المستمر)؛ --json يطبع تقريرًا مستقرًا ذو إصدار مخطط بدلاً من عرض المحطة؛ --verbose يطبع كل الاكتشافات بدلاً من المخالفين الأوائل؛ --no-color يعطل إخراج الألوان.

ما تحصل عليه

  • نقاط (0–100): نسبة النجاح الموزونة حسب الخطورة على كل قاعدة تم تشغيلها بالفعل. الأخطاء تحمل وزنًا أكبر من التحذيرات؛ الاقتراحات لا تؤثر على النقاط أبدًا.
  • أفضل 5 إصلاحات، مرتبة حسب تأثير النقاط، كل منها مع المورد المتأثر وإصلاح ملموس.
  • سطر الفحوصات الناجحة، مع أي شيء تم كتمه (معطل عبر الإعدادات) أو غير متاح (أذونات مفقودة) يُكشف عنه بدلاً من تخطيه بصمت — فجوة الإذن لا تُحتسب أبدًا كناجح.
  • إذا كان هناك شيء مكسور وكنت في محطة تفاعلية، يمكن لـ cloud-doctor تسليم التقرير مباشرة إلى وكيل الترميز الذكي الخاص بك — Claude Code، Codex، أو Cursor، أيًا كان المثبت — حتى يتمكن من بدء الإصلاح قبل أن تنتهي من قراءة المخرجات.

النقاط لا تُزيف أبدًا: إذا لم تتمكن أي قاعدة من التشغيل، تكون النقاط null مع التسمية "لم يتم تشغيل أي فحص"، وليس 100 فارغة.

الإعدادات

ضبط القواعد لكل مزود عبر doctor.config.ts (أو doctor.config.json، أو cloudDoctor في package.json):

root@kitploit:~
import { defineConfig } from "cloud-doctor/api";

export default defineConfig({
  defaultProvider: "aws",
  aws: {
    profile: "prod",
    regions: ["us-east-1", "eu-west-1"],
    account: "123456789012",
  },
  rules: {
    "aws/s3-unencrypted-bucket": "off",
    "aws/iam-user-access-key": "error",
  },
});

"off" يعطل قاعدة؛ "error" / "warning" يلغي شدتها. القواعد المعطلة تُحذف من التقييم وتُكشف كـ مكتومة — لا تُطرح بصمت أبدًا.

البنية

واجهة سطر أوامر رقيقة فوق سجل الإضافات — كل مزود ينفذ نفس العقد، لذا لا تتعامل واجهة سطر الأوامر مع أي مزود بشكل خاص.

الحزمةالدور
packages/cloud-doctorواجهة سطر أوامر (commander, prompts, ora) + برمجي diagnose() API
packages/coreسجل الإضافات، التقييم، تحميل الإعدادات، الأنواع المشتركة
packages/plugin-*حزمة واحدة لكل مزود — اكتشاف الهوية + القواعد
packages/pluginsسجل افتراضي يربط كل المزودين معًا

كل مزود ينفذ CloudDoctorPlugin:

  • discoverIdentities() — قائمة الملفات الشخصية/المشاريع/الحسابات للاختيار
  • resolveIdentity() — تعيين الأعلام/البيئة/الإعدادات → الهوية، لا مكالمات شبكة
  • validateIdentity() — إثبات أن بيانات الاعتماد تعمل (sts:GetCallerIdentity أو ما يعادلها)
  • scan() — تشغيل القواعد المقيدة، إرجاع التشخيصات + النقاط

يتم تسجيل المزودين الجدد في packages/plugins/src/index.ts.

ما التالي

gcloud، k8s، و db قادمون قريبًا.

التطوير المحلي

root@kitploit:~
pnpm install
pnpm build
pnpm typecheck
pnpm test

للتحقق العملي من القواعد دون الوصول إلى حساب سحابي حقيقي، يأتي المستودع مع أداة اختبار http-mock و Moto/fab: (ملاحظة: fab هي واجهة سطر أوامر لإنشاء بيئة للتشغيل ضدها، حاليًا خاصة، سيتم جعل المشروع التابع مفتوح المصدر أيضًا)

root@kitploit:~
pnpm mock:up <scenario>                  # boot a persistent mock instance
eval "$(pnpm -s mock:env <scenario>)"    # point env vars at it
pnpm mock:run <scenario>                 # run the CLI against it

الترخيص

MIT


تحية لـ react-doctor

تنزيل الأداة