@solongate/proxy 0.83.43 → 0.83.44

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.
@@ -6579,7 +6579,7 @@ function sweepLegacyFlagDir() {
6579
6579
  } catch {
6580
6580
  }
6581
6581
  }
6582
- var HOOK_VERSION = 82;
6582
+ var HOOK_VERSION = 83;
6583
6583
  var SG_REFRESH_ARG = process.argv.includes("--sg-refresh-policy");
6584
6584
  var SG_STDIN = SG_REFRESH_ARG ? "" : (() => {
6585
6585
  try {
@@ -6798,7 +6798,7 @@ function guessPermission(toolName) {
6798
6798
  return "EXECUTE";
6799
6799
  if (name.includes("fetch") || name.includes("http") || name.includes("request") || name.includes("curl") || name.includes("network") || name.includes("download") || name.includes("upload") || name === "websearch")
6800
6800
  return "NETWORK";
6801
- if (name.includes("write") || name.includes("create") || name.includes("delete") || name.includes("update") || name.includes("set") || name.includes("edit") || name.includes("remove") || name.includes("insert"))
6801
+ if (name.includes("write") || name.includes("create") || name.includes("delete") || name.includes("update") || name.includes("set") || name.includes("edit") || name.includes("remove") || name.includes("insert") || name.includes("replace") || name.includes("patch") || name.includes("modify") || name.includes("append") || name.includes("overwrite") || name.includes("rename") || name.includes("move") || name.includes("mkdir") || name.includes("touch"))
6802
6802
  return "WRITE";
6803
6803
  return "READ";
6804
6804
  }
package/hooks/guard.mjs CHANGED
@@ -82,7 +82,7 @@ import { createHash } from 'node:crypto';
82
82
  // the installed hook self-updates when the cloud version is higher (see
83
83
  // maybeSelfUpdate). This is what makes guard fixes propagate without a manual
84
84
  // reinstall — the same trust model as the OPA WASM this hook already runs.
85
- const HOOK_VERSION = 82;
85
+ const HOOK_VERSION = 83;
86
86
 
87
87
  // ── The Go guard, when there is one and it is the right one ──────────────────
88
88
  //
@@ -443,7 +443,15 @@ function guessPermission(toolName) {
443
443
  if (name === 'apply_patch' || name === 'applypatch') return 'WRITE';
444
444
  if (name.includes('exec') || name.includes('shell') || name.includes('run') || name.includes('eval') || name === 'bash') return 'EXECUTE';
445
445
  if (name.includes('fetch') || name.includes('http') || name.includes('request') || name.includes('curl') || name.includes('network') || name.includes('download') || name.includes('upload') || name === 'websearch') return 'NETWORK';
446
- if (name.includes('write') || name.includes('create') || name.includes('delete') || name.includes('update') || name.includes('set') || name.includes('edit') || name.includes('remove') || name.includes('insert')) return 'WRITE';
446
+ // `replace`, `patch` and `modify` are here because Antigravity's edit tool is
447
+ // `replace_file_content`, which matched none of the words above and fell
448
+ // through to READ. A WRITE-scoped rule therefore missed the tool the agent
449
+ // actually edits with: "deny writes under config/" left it free to rewrite
450
+ // config/ all day. The list is words a tool NAME uses for changing something,
451
+ // not an enumeration of known tools, and it errs wide because the name that
452
+ // classifies wrong is silently unguarded rather than loudly broken.
453
+ if (name.includes('write') || name.includes('create') || name.includes('delete') || name.includes('update') || name.includes('set') || name.includes('edit') || name.includes('remove') || name.includes('insert') ||
454
+ name.includes('replace') || name.includes('patch') || name.includes('modify') || name.includes('append') || name.includes('overwrite') || name.includes('rename') || name.includes('move') || name.includes('mkdir') || name.includes('touch')) return 'WRITE';
447
455
  return 'READ';
448
456
  }
449
457
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solongate/proxy",
3
- "version": "0.83.43",
3
+ "version": "0.83.44",
4
4
  "description": "AI tool security proxy: protect any AI tool server with customizable policies, path/command constraints, rate limiting, and audit logging. No code changes required.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -61,12 +61,12 @@
61
61
  "node": ">=20.0.0"
62
62
  },
63
63
  "optionalDependencies": {
64
- "@solongate/guard-linux-x64": "0.83.43",
65
- "@solongate/guard-linux-arm64": "0.83.43",
66
- "@solongate/guard-darwin-x64": "0.83.43",
67
- "@solongate/guard-darwin-arm64": "0.83.43",
68
- "@solongate/guard-win32-x64": "0.83.43",
69
- "@solongate/guard-win32-arm64": "0.83.43"
64
+ "@solongate/guard-linux-x64": "0.83.44",
65
+ "@solongate/guard-linux-arm64": "0.83.44",
66
+ "@solongate/guard-darwin-x64": "0.83.44",
67
+ "@solongate/guard-darwin-arm64": "0.83.44",
68
+ "@solongate/guard-win32-x64": "0.83.44",
69
+ "@solongate/guard-win32-arm64": "0.83.44"
70
70
  },
71
71
  "dependencies": {
72
72
  "@modelcontextprotocol/sdk": "^1.26.0",