दस्तावेज़परंपराएँ और अवधारणाएँ
सुरक्षा
नेक्सी अपनी हमले की सतह को कैसे छोटा रखती है, उसे किन संस्करणों की आवश्यकता है, और किसी प्रोजेक्ट की जांच कैसे करें।
संस्करण फर्श
नेक्सी FastAPI, Starlette, Jinja2, Vite और React पर निर्भर करता है। एक मंजिल सबसे निचला संस्करण है जिसे नेक्सी अनुमति देता है; प्रत्येक व्यक्ति एक प्रकाशित सलाह का उत्तर देता है।
| पैकेज | मंजिल | क्यों |
|---|---|---|
starlette |
1.0.1 | सीवीई-2026-48710 (बैडहोस्ट): एक तैयार किया गया Host हेडर पथ Starlette रिपोर्ट को मिडलवेयर में बदल देता है, जो request.url.path पर लिखे प्राधिकरण को बायपास कर देता है। सीआईएसए द्वारा शोषित के रूप में सूचीबद्ध। |
fastapi |
0.133.0 | पहली रिलीज़ जो एक निश्चित को स्वीकार करती है Starlette |
jinja2 |
3.1.6 | attr फिल्टर (सीवीई-2025-27516) के माध्यम से सैंडबॉक्स से बचना |
vite (मचान वाली परियोजनाएं) |
6.4.3 | server.fs.deny विंडोज़ वैकल्पिक पथों पर बायपास (सीवीई-2026-53571); पहले वाला क्वेरी-स्ट्रिंग बाईपास (CVE-2026-39364) केवल Vite 7.1-7.3.1 और 8.0.0-8.0.4 को प्रभावित करता है |
react, react-dom |
19.2.5 | 2026 React सलाह react-server-dom-* पैकेजों से संबंधित है, जिनका नेक्सी उपयोग नहीं करता है; फर्श लाइन को पैच करके रखता है |
अपने हल किए गए संस्करण जांचें:
uv pip list | grep -i -E "starlette|fastapi|jinja2"npm ls vite
नेक्सी नियमों का पालन करता है
- पथों के लिए होस्ट हेडर पर कभी भरोसा न करें। नेक्सी अपने स्वयं के मिडलवेयर (निर्देशिका मिडलवेयर) में
scope["path"]पढ़ता है, न किrequest.url.path। अपने में भी वैसा ही करो. - जो HTML तक पहुंचता है उससे बचें। क्लाइंट घटकों को दिए गए प्रॉप्स,
Linkविशेषताएँ,Image,AudioऔरVideoविशेषताएँ, सामग्री तालिका एंकर औरHTTPExceptionविवरण सभी HTML से बच गए हैं। एक.nexyटेम्प्लेट अपने आप नहीं बचता: विज़िटर या डेटाबेस से आने वाले किसी भी मूल्य के लिए{{ value | e }}लिखें, और उपयोगकर्ता इनपुट पर कभी भी| safeन लिखें। - डेवलपर एंडपॉइंट केवल लूपबैक और संकीर्ण हैं। डेव रेंडर एंडपॉइंट (
/__nexy__/render) केवलsrc/routes/के तहत.tsxया.jsxएक्सटेंशन वाली फाइलों को स्वीकार करता है, और केवल डेव सर्वर के माध्यम से पहुंच योग्य है, जो विदेशीHostहेडर को अस्वीकार करता है। - त्रुटि विवरण लीक नहीं होते। एक त्रुटि पृष्ठ जो स्वयं विफल रहता है वह केवल स्थिति कोड दिखाता है।
- प्रोडक्शन उत्तरों में सुरक्षित हेडर होते हैं।
X-Content-Type-Options: nosniffऔरReferrer-Policy: strict-origin-when-cross-origin, जब तक कि आपका कोड स्वयं सेट न हो जाए।Serverहेडर नहीं भेजा गया है। अपने प्रॉक्सी या मिडलवेयर मेंStrict-Transport-SecurityऔरContent-Security-Policyजोड़ें: वे आपके डोमेन पर निर्भर करते हैं। - क्रैश एक संदर्भ दिखाता है, त्रुटि नहीं। देखें त्रुटि पृष्ठ।
- नेक्सी के Python कोड में कोई
evalऔर कोईshell=Trueनहीं है। बाहरी प्रोग्राम एक तर्क सूची के साथ चलते हैं।
ऑडिट चला रहे हैं
python scripts/audit_dependencies.py # Python dependencies against the locknpm audit # in a scaffolded projectuv run bandit -r nexy -c .bandit # static analysis of Nexy itself
नेक्सी का अपना भंडार अपने चेक में पहला और तीसरा चलाता है। ऊपर की मंजिल पर एक नई सलाह को pyproject.toml में या मचान में package.json फर्श को ऊपर उठाकर, फिर ताले को पुनर्जीवित करके नियंत्रित किया जाता है।
सुरक्षित तैनाती
useTrustedHostको अपने डोमेन पर सेट करें: यह किसी भी रूट से पहले अप्रत्याशितHostहेडर को अस्वीकार कर देता है।- Vite डेव सर्वर को उजागर न करें:
nx devइसे नेक्सी मूल के पीछे लूपबैक पर रखता है। - यदि एपीआई स्कीमा सार्वजनिक नहीं होनी चाहिए तो
useDocs = Falseसेट करें।
मिडिलवेयर और सुरक्षा देखें।
सूत्र
- सीवीई-2026-48710 (बैडहोस्ट) में Starlette
- Vite सलाहकार GHSA-fx2h-pf6j-xcff और GHSA-v2wj-q39q-566r
- Jinja2 सीवीई-2025-27516
- React सर्वर पैकेज सीवीई-2026-44907