
Keyless active-probe security auditor for Directus CMS. Proves public-role data exposure, user enumeration, unauthenticated version/schema leaks, GraphQL introspection, and search-param field enumeration via live anonymous probes. Zero dependencies.
किसी भी Directus इंस्टेंस की उन गलत कॉन्फ़िगरेशनों की जाँच करें जो वास्तव में डेटा लीक करती हैं — सार्वजनिक-भूमिका (public-role) पढ़ने का एक्सपोज़र, उपयोगकर्ता गणना, अप्रमाणित वर्जन/स्कीमा लीक, GraphQL इंट्रोस्पेक्शन, और
search-पैराम फ़ील्ड-गणना ऑरेकल — और प्रत्येक को एक अनाम प्रोब के साथ लाइव साबित करें। अन्य चेकलिस्ट आपको बताती हैं कि क्या गलत हो सकता है; यह बाइट्स लाता है और दिखाता है कि क्या है।
⚡ इसे एक पंक्ति में चलाएँ, कोई एडमिन टोकन नहीं, कोई इंस्टॉल नहीं:
npx directus-security --url https://your-directus.example.com
🤝 क्या आप इसे करवाना चाहते हैं? निश्चित-दायरा ऑडिट — $99 / 24 घंटे: मैं प्रत्येक निष्कर्ष को लाइव सत्यापित करता हूँ और सटीक नीति सुधारों के साथ एक लिखित रिपोर्ट भेजता हूँ।
$ npx directus-security --url https://directus.example.com
1 critical, 2 high, 1 medium — 4 CONFIRMED via anonymous probe
CRITICAL /items/posts public-role read enabled — rows reachable anonymously
HIGH /items/posts?search=… search-param field enumeration (CVE-2025-30352 class)
HIGH /items/directus_users user list exposed (name + email)
MEDIUM /server/specs/oas Directus version leaked unauthenticated (CVE-2025-53887 class)
Directus headless बैकएंड को शक्ति प्रदान करता है Tripadvisor, Adobe और Mercedes में, और डिफ़ॉल्ट एक्सेस मॉडल एक गलती को बहुत आसान बनाता है: Public नीति के लिए read सक्षम छोड़ देना। परिणाम एक ऐसा API है जिसे कोई भी पढ़ सकता है। 2025 में अप्रमाणित CVEs का एक समूह आया जो ठीक अनाम प्रोब से मेल खाते हैं:
search क्वेरी पैरामीटर अननुमत फ़ील्ड्स की गणना करता है, एक समय में एक अक्षर ईमेल और पासवर्ड हैश लीक करता है।/server/specs/oas के माध्यम से अप्रमाणित रूप से उजागर होता है, जिससे हमलावर आपके बिल्ड को ज्ञात एक्सप्लॉइट से मिला सकते हैं।directus-security इनकी जाँच करता है और वास्तविक खतरों की पुष्टि करता है, ठीक वही अनाम अनुरोध जारी करके जो एक हमलावर करेगा — ताकि आप तथ्यों को प्राथमिकता दें, संभावनाओं को नहीं।
# Probe a live instance (guesses common collection names)
npx directus-security --url https://directus.example.com
# Probe specific collections
npx directus-security --url https://directus.example.com --collections posts,authors
# Learn your exact collection names from a Directus schema snapshot, then probe
npx directus-security --url https://directus.example.com --snapshot ./snapshot.json
# Write a shareable HTML report
npx directus-security --url https://directus.example.com --html report.html
# Static only (no requests sent)
npx directus-security --url https://directus.example.com --no-probe
आउटपुट stdout पर JSON है (इसे CI में पाइप करें) और stderr पर एक-पंक्ति का सारांश। एग्जिट केवल उपयोग त्रुटियों पर गैर-शून्य है — अपने पाइपलाइन को JSON summary पर गेट करें।
npm i -g directus-security
directus-security --url https://directus.example.com
शून्य निर्भरताएँ। आपका डेटा और क्रेडेंशियल्स कभी आपकी मशीन नहीं छोड़ते — हर अनुरोध सीधे टूल से आपके Directus इंस्टेंस पर जाता है।
बैकएंड स्टैक के बाकी हिस्सों के लिए समान सक्रिय-प्रोब दर्शन, सभी MIT:
strapi-security · supabase-security · pocketbase-security · firebase-security · appwrite-security · nhost-security
MIT © Renzo Madueno
📚 Awesome Backend Security Auditors का हिस्सा — कीलेस सक्रिय-प्रोब ऑडिटरों का पूरा संग्रह।
| जाँच | गंभीरता | कैसे पुष्टि की जाती है |
|---|
| किसी कलेक्शन पर सार्वजनिक-भूमिका पढ़ना | गंभीर | अनाम GET /items/{collection} पंक्तियाँ लौटाता है |
search-पैराम फ़ील्ड गणना | उच्च | अनाम GET /items/{collection}?search=… उत्तर देता है (CVE-2025-30352 वर्ग) |
/items/directus_users उपयोगकर्ता गणना | उच्च | अनाम पढ़ने से उपयोगकर्ता सूची (नाम + ईमेल) मिलती है |
| अप्रमाणित वर्जन/स्कीमा लीक | मध्यम | /server/info या /server/specs/oas बिना प्रमाणीकरण के वर्जन लौटाता है (CVE-2025-53887 वर्ग) |
| प्रोडक्शन में GraphQL इंट्रोस्पेक्शन | मध्यम | __schema क्वेरी /graphql या /graphql/system पर उत्तरित होती है |