faf71eb4c1
Claude Code v2.1.234 (Aug 17, 2026) hardened its pre-approval file accesses to reject Windows NT-namespace (\??\) paths against the NTLM credential-leak vector. Port the same guard into Hermes file safety: - agent/file_safety.py: is_nt_namespace_path() / get_nt_namespace_error() raw-string check (never resolves — resolving IS the leak trigger). Wired as the first check in get_read_block_error() and the write denial classifier. - tools/file_tools.py: raw-string guard at read_file_tool entry and in _check_sensitive_path (covers write_file_tool + patch_tool), before the task-base join can anchor the prefix under a POSIX base dir. - Blocks \??\, \\.\, \\?\UNC\, \\?\GLOBALROOT. Extended-length local drive paths (\\?\C:\...) and plain UNC shares stay allowed. - tests/agent/test_nt_namespace_guard.py: 10 blocked forms, 11 allowed forms, no-resolve proof, tool-layer chokepoint coverage. - docs: protected-paths table in user-guide/security.md