
T3 Code 61c3794c स्थानीय पथ अवशेष। एक युग्मित filesystem:read क्लाइंट पूर्ण या ~/ पथ द्वारा होस्ट फ़ाइलें खोल सकता है। लेखन कार्यक्षेत्र में ही रहता है। लूपबैक लैब।
आप T3 Code से एक फ़ोन या दूसरी मशीन पेयर करते हैं ताकि यह प्रोजेक्ट फ़ाइलें खोल सके। वही अनुदान आपकी SSH कुंजी भी खोल सकता है। फ़ाइल-पठन API एक निरपेक्ष पथ या ~/ पथ लेता है और उस वर्कस्पेस बाड़ को छोड़ देता है जिसका पालन लेखन अभी भी करते हैं। सापेक्ष ../ अवरुद्ध रहता है। एक read-only MCP एजेंट को यह अनुदान नहीं मिलता।
वर्ग: पथ अवशेष
पहुँच: स्थानीय (पेयर किया गया filesystem:read; साथ ही एक पेयर किया गया फ़ोन या ब्राउज़र यदि स्वामी ने वह स्कोप प्रदान किया हो)
T3 Code 61c3794c - Ping
| ID | अभी तक कोई CVE नहीं |
| वर्ग | पथ अवशेष |
| पहुँच | स्थानीय (पेयर किया गया क्लाइंट जिसके पास filesystem:read है) |
| CWE | CWE-22 / CWE-73 |
| CVSS | मध्यम: 6.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
| उत्पाद | T3 Code |
| प्रभावित | 61c3794c32b0eeebfac09add43e403618c65d2d7 (v0.1.6 के बाद) |
| प्रमाणीकरण | पेयर किया गया या मानक-अनुदान सत्र जिसके पास filesystem:read है |
| लाइसेंस | GNU Affero GPL v3.0 |
| लैब | WorkspaceFileSystem के विरुद्ध लूपबैक Vitest; कोई उत्पादन होस्ट नहीं |
ऐसे क्रेडेंशियल की आवश्यकता है जिसके पास पहले से filesystem:read हो। डिफ़ॉल्ट पेयरिंग में वह स्कोप शामिल है, और साथ ही terminal:operate भी। अतिथि शेयर इस RPC तक नहीं पहुँचते। MCP read-only केवल orchestration:read है।
| विशेषाधिकार | विधि / सिंक | रेकॉन / अखंडता / उपलब्धता | लैब-प्रमाणित या अनुमानित |
|---|---|---|---|
| निरपेक्ष पथ द्वारा होस्ट फ़ाइल पढ़ना | WorkspaceFileSystem.readFile / RPC projectsReadFile जिसमें relativePath एक निरपेक्ष पथ पर सेट है | रेकॉन (होस्ट फ़ाइल) | लैब-प्रमाणित। साक्षी t3f01w8k2 लौटा |
~/ द्वारा होस्ट फ़ाइल पढ़ना | वही सिंक जिसमें relativePath एक लैब HOME के अंतर्गत ~/.lab-secret है | रेकॉन | लैब-प्रमाणित। वही साक्षी |
| निरपेक्ष मीडिया पथ के लिए हस्ताक्षरित एसेट URL जारी करना | assetsCreateUrl media-file | रेकॉन | स्रोत से अनुमानित। इस लैब का ओरेकल नहीं |
नकारात्मक नियंत्रण: सापेक्ष ../ | readFile जिसमें एक पथ वर्कस्पेस से बाहर निकलता है | लागू नहीं | लैब-प्रमाणित। WorkspacePathOutsideRootError |
| नकारात्मक नियंत्रण: निरपेक्ष लेखन | writeFile जिसमें वही निरपेक्ष गुप्त पथ है | लागू नहीं | लैब-प्रमाणित। अस्वीकृत, गुप्त अपरिवर्तित |
| नकारात्मक नियंत्रण: MCP read-only | mcpClientScopes("read-only") बनाम projectsReadFile | लागू नहीं | लैब-प्रमाणित। अस्वीकृत |
इस अवशेष पर बंद रहता है
| अक्ष | विधि / सिंक | यह क्यों बंद है |
|---|---|---|
| अखंडता | निरपेक्ष पथ द्वारा वर्कस्पेस लेखन | resolveWriteTarget वास्तविक रूट तक सीमित करता है और .git को अस्वीकार करता है |
| रेकॉन | सापेक्ष ../ पठन | resolveRelativePathWithinRoot |
| रेकॉन | T3 secretsDir और stateDir/*.sqlite | isServerInternalPath |
| रेकॉन | अतिथि शेयर HTTP | अतिथि टोकन कभी SessionStore में प्रवेश नहीं करते |
| रेकॉन | MCP read-only /mcp | कोई filesystem:read नहीं |
| अखंडता | अप्रमाणित लूपबैक RPC | EnvironmentAuthPolicy unsafe-no-auth नहीं है |
उत्पाद दस्तावेज़ (docs/internals/environment-auth.md) filesystem:read को होस्ट-पठन अनुदान के रूप में वर्णित करते हैं। UI अभी भी वर्कस्पेस-सापेक्ष पथ भेजता है। सर्वर ऐसा इनपुट स्वीकार करता है जो एक वैध क्लाइंट उत्पन्न नहीं करता। मानक पेयरिंग में एक शेल भी शामिल है।
मैंने pingdotgg/t3code 61c3794c को पिन किया। resolveReadTarget ~/ का विस्तार करता है, एक निरपेक्ष पथ को realpath करता है, और उसे बिना किसी isInsideRealRoot के लौटा देता है। लेखन वह जाँच करते हैं। सार्वजनिक issue #316 ने केवल लेखन पर अप्रतिबंधित cwd को बंद किया।
गलत मोड़: MCP read-only को projectsReadFile का कॉलर मानना (यह नहीं है); इसे एक अप्रमाणित अवशेष मानना (यह एक पेयर किया गया अनुदान है)।
python3 t3code-abspath-host-read-Abraxas-Labs.py
या:
cd lab
./run.sh
pingdotgg/t3code को 61c3794c पर lab/src में क्लोन करता है, pnpm के साथ इंस्टॉल करता है, lab-home/.lab-secret के अंतर्गत एक witness रखता है, और Vitest चलाता है। केवल लूपबैक। Node 26 और pnpm 12।
IOC abs-read=1
IOC home-read=1
IOC rel-escape=0
IOC write-abs=refused
IOC mcp-readonly-filesystem=denied
IOC secret-unchanged=1
SUCCESS T3-F01-ABSPATH t3f01w8k2
realpath के बाद, लक्ष्य को realpath(cwd) के अंदर होना आवश्यक करें, जैसा कि resolveWriteTarget पहले से करता है। पढ़ने और मेटाडेटा पर knownWorkspaces.assertContains(input.cwd) कॉल करें। बिना प्रोजेक्ट के निरपेक्ष पथों के लिए media-file URL बनाना बंद करें। isServerInternalPath को पूरे stateDir तक विस्तृत करें।
61c3794c32b0eeebfac09add43e403618c65d2d7WorkspaceFileSystem.resolveReadTargetGNU Affero GPL v3.0. देखें LICENSE। केवल लूपबैक लैब। कोई वारंटी नहीं।
Abraxas Labs [email protected]
कृपया CVE का श्रेय Abraxas Labs को दें।