@lifeaitools/clauth 1.5.55 → 1.5.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4774,16 +4774,14 @@ function createServer(initPassword, whitelist, port, tunnelHostnameInit = null,
4774
4774
  }
4775
4775
  }
4776
4776
 
4777
- // Unknown route — don't count browser/MCP noise as auth failures
4778
- const isBenign = reqPath.startsWith("/.well-known/") || [
4779
- "/favicon.ico", "/robots.txt", "/apple-touch-icon.png", "/apple-touch-icon-precomposed.png",
4780
- "/sse", "/mcp", "/gws", "/clauth", "/message", "/register", "/authorize", "/token", "/shutdown", "/restart",
4781
- ].includes(reqPath);
4782
- if (isBenign) {
4783
- res.writeHead(404, { "Content-Type": "application/json", ...CORS });
4784
- return res.end(JSON.stringify({ error: "Not found" }));
4785
- }
4786
- return strike(res, 404, `Unknown endpoint: ${reqPath}`);
4777
+ // Unknown route — a wrong URL is not an auth failure. Log it, return 404,
4778
+ // but do NOT increment failCount (which locks the vault at MAX_FAILS).
4779
+ // Auth failures (wrong password, wrong token) still strike via /auth and /get/:service.
4780
+ try {
4781
+ fs.appendFileSync(LOG_FILE, `[${new Date().toISOString()}] 404 ${method} ${reqPath}\n`);
4782
+ } catch {}
4783
+ res.writeHead(404, { "Content-Type": "application/json", ...CORS });
4784
+ return res.end(JSON.stringify({ error: `Unknown endpoint: ${reqPath}` }));
4787
4785
  });
4788
4786
 
4789
4787
  // OAuth 2.1 public client — no static credentials to expose
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifeaitools/clauth",
3
- "version": "1.5.55",
3
+ "version": "1.5.56",
4
4
  "description": "Hardware-bound credential vault for the LIFEAI infrastructure stack",
5
5
  "type": "module",
6
6
  "bin": {