@node9/proxy 1.67.3 → 1.67.4

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.
package/dist/cli.js CHANGED
@@ -2633,7 +2633,7 @@ function* stringValues(obj, depth = 0) {
2633
2633
  }
2634
2634
  for (const v of Object.values(obj)) yield* stringValues(v, depth + 1);
2635
2635
  }
2636
- var import_safe_regex2, import_mvdan_sh, import_picomatch, import_safe_regex22, import_safe_regex23, import_crypto3, MAX, UNTRUSTED_TOOLS, SIGNALS, ASSIGNMENT_CONTEXT_RE, DLP_STOPWORDS, DLP_PATTERNS, DLP_PATTERNS_GLOBAL, SENSITIVE_PATH_PATTERNS, MAX_DEPTH, MAX_STRING_BYTES, MAX_JSON_PARSE_BYTES, MAX_REGEX_LENGTH, REGEX_CACHE_MAX, regexCache, FORBIDDEN_PATH_SEGMENTS, syntax, sharedParser, MESSAGE_FLAGS, SHELL_INTERPRETERS, DOWNLOAD_CMDS, NORMALIZE_CACHE_MAX, normalizeCache, AST_CACHE_MAX, astCache, PARSE_FAIL, FS_READ_TOOLS, FS_OP_PRESCREEN_RE, HOME_CACHE_ALLOWLIST, SENSITIVE_PATH_RULES, BASH_TOOL_NAMES, AST_FS_REGEX_RULES, SQL_DB_CLIS, SQL_DDL_RE, CHMOD_OPEN_PERM_TOKENS, COMMAND_WRAPPERS, INLINE_INTERPRETER, RUNNER_WRAPPERS, _redirStdinOps, _listOps, WRAPPER_TAKES_TARGET, INTERP_LEADING_TARGET, NET_BINARIES, VALUE_FLAGS, FS_OP_CACHE_MAX, fsOpCache, stripDotSlash, REDIR_TRUNCATE_OPS, REDIR_HEREDOC_OPS, DEFAULT_EGRESS_ALLOWLIST, SOURCE_COMMANDS, SINK_COMMANDS, OBFUSCATORS, SENSITIVE_PATTERNS, FLAGS_WITH_VALUES, VERDICT_RANK, SQL_DML_KEYWORDS, aws_default, bash_safe_default, docker_default, filesystem_default, github_default, k8s_default, mongodb_default, postgres_default, project_jail_default, redis_default, BUILTIN_SHIELDS, LOOP_MAX_RECORDS, FINDING_TO_SIGNAL, SCAN_SIGNAL_WEIGHTS, LOOP_THRESHOLD_FOR_WASTE, COST_PER_LOOP_ITER_USD, DESTRUCTIVE_OP_RE, SENSITIVE_PATH_RE, FILE_TOOLS, PII_EMAIL_RE, PII_SSN_RE, PII_PHONE_RE, PII_CC_RE, REALTIME_PII_PATTERNS, MAX_PII_SCAN_BYTES, LONG_OUTPUT_THRESHOLD_BYTES, CANONICAL_EXTRACTOR_VERSION, DEDUPE_PREVIEW_LEN, TERMINAL_ESCAPE_RE, ENGINE_VERSION;
2636
+ var import_safe_regex2, import_mvdan_sh, import_picomatch, import_safe_regex22, import_safe_regex23, import_crypto3, MAX, UNTRUSTED_TOOLS, SIGNALS, ASSIGNMENT_CONTEXT_RE, DLP_STOPWORDS, DLP_PATTERNS, DLP_PATTERNS_GLOBAL, SENSITIVE_PATH_PATTERNS, MAX_DEPTH, MAX_STRING_BYTES, MAX_JSON_PARSE_BYTES, DLP_SCAN_LIMITS, MAX_REGEX_LENGTH, REGEX_CACHE_MAX, regexCache, FORBIDDEN_PATH_SEGMENTS, syntax, sharedParser, MESSAGE_FLAGS, SHELL_INTERPRETERS, DOWNLOAD_CMDS, NORMALIZE_CACHE_MAX, normalizeCache, AST_CACHE_MAX, astCache, PARSE_FAIL, FS_READ_TOOLS, FS_OP_PRESCREEN_RE, HOME_CACHE_ALLOWLIST, SENSITIVE_PATH_RULES, BASH_TOOL_NAMES, AST_FS_REGEX_RULES, SQL_DB_CLIS, SQL_DDL_RE, CHMOD_OPEN_PERM_TOKENS, COMMAND_WRAPPERS, INLINE_INTERPRETER, RUNNER_WRAPPERS, _redirStdinOps, _listOps, WRAPPER_TAKES_TARGET, INTERP_LEADING_TARGET, NET_BINARIES, VALUE_FLAGS, FS_OP_CACHE_MAX, fsOpCache, stripDotSlash, REDIR_TRUNCATE_OPS, REDIR_HEREDOC_OPS, DEFAULT_EGRESS_ALLOWLIST, SOURCE_COMMANDS, SINK_COMMANDS, OBFUSCATORS, SENSITIVE_PATTERNS, FLAGS_WITH_VALUES, VERDICT_RANK, SQL_DML_KEYWORDS, aws_default, bash_safe_default, docker_default, filesystem_default, github_default, k8s_default, mongodb_default, postgres_default, project_jail_default, redis_default, BUILTIN_SHIELDS, LOOP_MAX_RECORDS, FINDING_TO_SIGNAL, SCAN_SIGNAL_WEIGHTS, LOOP_THRESHOLD_FOR_WASTE, COST_PER_LOOP_ITER_USD, DESTRUCTIVE_OP_RE, SENSITIVE_PATH_RE, FILE_TOOLS, PII_EMAIL_RE, PII_SSN_RE, PII_PHONE_RE, PII_CC_RE, REALTIME_PII_PATTERNS, MAX_PII_SCAN_BYTES, LONG_OUTPUT_THRESHOLD_BYTES, CANONICAL_EXTRACTOR_VERSION, DEDUPE_PREVIEW_LEN, TERMINAL_ESCAPE_RE, ENGINE_VERSION;
2637
2637
  var init_dist = __esm({
2638
2638
  "packages/policy-engine/dist/index.mjs"() {
2639
2639
  "use strict";
@@ -3165,6 +3165,13 @@ var init_dist = __esm({
3165
3165
  MAX_DEPTH = 5;
3166
3166
  MAX_STRING_BYTES = 1e5;
3167
3167
  MAX_JSON_PARSE_BYTES = 1e4;
3168
+ DLP_SCAN_LIMITS = {
3169
+ /** Max characters examined per individual string field; the remainder of an
3170
+ * oversized string is NOT scanned. */
3171
+ maxStringBytes: MAX_STRING_BYTES,
3172
+ /** Max nesting depth walked; anything deeper is NOT scanned. */
3173
+ maxDepth: MAX_DEPTH
3174
+ };
3168
3175
  MAX_REGEX_LENGTH = 256;
3169
3176
  REGEX_CACHE_MAX = 500;
3170
3177
  regexCache = /* @__PURE__ */ new Map();
@@ -49513,6 +49520,14 @@ function atLeastConfidence(c, min) {
49513
49520
  function sanitize3(value) {
49514
49521
  return value.replace(/[\x00-\x1F\x7F]/g, "");
49515
49522
  }
49523
+ function scanCoveredEverything(value, depth = 0) {
49524
+ if (value === null || value === void 0) return true;
49525
+ if (typeof value === "string") return value.length <= DLP_SCAN_LIMITS.maxStringBytes;
49526
+ if (typeof value !== "object") return true;
49527
+ if (depth >= DLP_SCAN_LIMITS.maxDepth) return false;
49528
+ const children = Array.isArray(value) ? value : Object.values(value);
49529
+ return children.every((child) => scanCoveredEverything(child, depth + 1));
49530
+ }
49516
49531
  function buildArgsField(rawInput) {
49517
49532
  let hashed = {};
49518
49533
  try {
@@ -49522,6 +49537,7 @@ function buildArgsField(rawInput) {
49522
49537
  try {
49523
49538
  const hit = scanArgs(rawInput);
49524
49539
  if (hit) return { ...hashed, dlpPattern: hit.patternName, dlpSample: hit.redactedSample };
49540
+ if (!scanCoveredEverything(rawInput)) return { ...hashed, argsUnscanned: true };
49525
49541
  return { args: JSON.parse(redactSecrets(JSON.stringify(rawInput))) };
49526
49542
  } catch {
49527
49543
  return hashed;
package/dist/cli.mjs CHANGED
@@ -2643,7 +2643,7 @@ function* stringValues(obj, depth = 0) {
2643
2643
  }
2644
2644
  for (const v of Object.values(obj)) yield* stringValues(v, depth + 1);
2645
2645
  }
2646
- var MAX, UNTRUSTED_TOOLS, SIGNALS, ASSIGNMENT_CONTEXT_RE, DLP_STOPWORDS, DLP_PATTERNS, DLP_PATTERNS_GLOBAL, SENSITIVE_PATH_PATTERNS, MAX_DEPTH, MAX_STRING_BYTES, MAX_JSON_PARSE_BYTES, MAX_REGEX_LENGTH, REGEX_CACHE_MAX, regexCache, FORBIDDEN_PATH_SEGMENTS, syntax, sharedParser, MESSAGE_FLAGS, SHELL_INTERPRETERS, DOWNLOAD_CMDS, NORMALIZE_CACHE_MAX, normalizeCache, AST_CACHE_MAX, astCache, PARSE_FAIL, FS_READ_TOOLS, FS_OP_PRESCREEN_RE, HOME_CACHE_ALLOWLIST, SENSITIVE_PATH_RULES, BASH_TOOL_NAMES, AST_FS_REGEX_RULES, SQL_DB_CLIS, SQL_DDL_RE, CHMOD_OPEN_PERM_TOKENS, COMMAND_WRAPPERS, INLINE_INTERPRETER, RUNNER_WRAPPERS, _redirStdinOps, _listOps, WRAPPER_TAKES_TARGET, INTERP_LEADING_TARGET, NET_BINARIES, VALUE_FLAGS, FS_OP_CACHE_MAX, fsOpCache, stripDotSlash, REDIR_TRUNCATE_OPS, REDIR_HEREDOC_OPS, DEFAULT_EGRESS_ALLOWLIST, SOURCE_COMMANDS, SINK_COMMANDS, OBFUSCATORS, SENSITIVE_PATTERNS, FLAGS_WITH_VALUES, VERDICT_RANK, SQL_DML_KEYWORDS, aws_default, bash_safe_default, docker_default, filesystem_default, github_default, k8s_default, mongodb_default, postgres_default, project_jail_default, redis_default, BUILTIN_SHIELDS, LOOP_MAX_RECORDS, FINDING_TO_SIGNAL, SCAN_SIGNAL_WEIGHTS, LOOP_THRESHOLD_FOR_WASTE, COST_PER_LOOP_ITER_USD, DESTRUCTIVE_OP_RE, SENSITIVE_PATH_RE, FILE_TOOLS, PII_EMAIL_RE, PII_SSN_RE, PII_PHONE_RE, PII_CC_RE, REALTIME_PII_PATTERNS, MAX_PII_SCAN_BYTES, LONG_OUTPUT_THRESHOLD_BYTES, CANONICAL_EXTRACTOR_VERSION, DEDUPE_PREVIEW_LEN, TERMINAL_ESCAPE_RE, ENGINE_VERSION;
2646
+ var MAX, UNTRUSTED_TOOLS, SIGNALS, ASSIGNMENT_CONTEXT_RE, DLP_STOPWORDS, DLP_PATTERNS, DLP_PATTERNS_GLOBAL, SENSITIVE_PATH_PATTERNS, MAX_DEPTH, MAX_STRING_BYTES, MAX_JSON_PARSE_BYTES, DLP_SCAN_LIMITS, MAX_REGEX_LENGTH, REGEX_CACHE_MAX, regexCache, FORBIDDEN_PATH_SEGMENTS, syntax, sharedParser, MESSAGE_FLAGS, SHELL_INTERPRETERS, DOWNLOAD_CMDS, NORMALIZE_CACHE_MAX, normalizeCache, AST_CACHE_MAX, astCache, PARSE_FAIL, FS_READ_TOOLS, FS_OP_PRESCREEN_RE, HOME_CACHE_ALLOWLIST, SENSITIVE_PATH_RULES, BASH_TOOL_NAMES, AST_FS_REGEX_RULES, SQL_DB_CLIS, SQL_DDL_RE, CHMOD_OPEN_PERM_TOKENS, COMMAND_WRAPPERS, INLINE_INTERPRETER, RUNNER_WRAPPERS, _redirStdinOps, _listOps, WRAPPER_TAKES_TARGET, INTERP_LEADING_TARGET, NET_BINARIES, VALUE_FLAGS, FS_OP_CACHE_MAX, fsOpCache, stripDotSlash, REDIR_TRUNCATE_OPS, REDIR_HEREDOC_OPS, DEFAULT_EGRESS_ALLOWLIST, SOURCE_COMMANDS, SINK_COMMANDS, OBFUSCATORS, SENSITIVE_PATTERNS, FLAGS_WITH_VALUES, VERDICT_RANK, SQL_DML_KEYWORDS, aws_default, bash_safe_default, docker_default, filesystem_default, github_default, k8s_default, mongodb_default, postgres_default, project_jail_default, redis_default, BUILTIN_SHIELDS, LOOP_MAX_RECORDS, FINDING_TO_SIGNAL, SCAN_SIGNAL_WEIGHTS, LOOP_THRESHOLD_FOR_WASTE, COST_PER_LOOP_ITER_USD, DESTRUCTIVE_OP_RE, SENSITIVE_PATH_RE, FILE_TOOLS, PII_EMAIL_RE, PII_SSN_RE, PII_PHONE_RE, PII_CC_RE, REALTIME_PII_PATTERNS, MAX_PII_SCAN_BYTES, LONG_OUTPUT_THRESHOLD_BYTES, CANONICAL_EXTRACTOR_VERSION, DEDUPE_PREVIEW_LEN, TERMINAL_ESCAPE_RE, ENGINE_VERSION;
2647
2647
  var init_dist = __esm({
2648
2648
  "packages/policy-engine/dist/index.mjs"() {
2649
2649
  "use strict";
@@ -3169,6 +3169,13 @@ var init_dist = __esm({
3169
3169
  MAX_DEPTH = 5;
3170
3170
  MAX_STRING_BYTES = 1e5;
3171
3171
  MAX_JSON_PARSE_BYTES = 1e4;
3172
+ DLP_SCAN_LIMITS = {
3173
+ /** Max characters examined per individual string field; the remainder of an
3174
+ * oversized string is NOT scanned. */
3175
+ maxStringBytes: MAX_STRING_BYTES,
3176
+ /** Max nesting depth walked; anything deeper is NOT scanned. */
3177
+ maxDepth: MAX_DEPTH
3178
+ };
3172
3179
  MAX_REGEX_LENGTH = 256;
3173
3180
  REGEX_CACHE_MAX = 500;
3174
3181
  regexCache = /* @__PURE__ */ new Map();
@@ -49506,6 +49513,14 @@ function atLeastConfidence(c, min) {
49506
49513
  function sanitize3(value) {
49507
49514
  return value.replace(/[\x00-\x1F\x7F]/g, "");
49508
49515
  }
49516
+ function scanCoveredEverything(value, depth = 0) {
49517
+ if (value === null || value === void 0) return true;
49518
+ if (typeof value === "string") return value.length <= DLP_SCAN_LIMITS.maxStringBytes;
49519
+ if (typeof value !== "object") return true;
49520
+ if (depth >= DLP_SCAN_LIMITS.maxDepth) return false;
49521
+ const children = Array.isArray(value) ? value : Object.values(value);
49522
+ return children.every((child) => scanCoveredEverything(child, depth + 1));
49523
+ }
49509
49524
  function buildArgsField(rawInput) {
49510
49525
  let hashed = {};
49511
49526
  try {
@@ -49515,6 +49530,7 @@ function buildArgsField(rawInput) {
49515
49530
  try {
49516
49531
  const hit = scanArgs(rawInput);
49517
49532
  if (hit) return { ...hashed, dlpPattern: hit.patternName, dlpSample: hit.redactedSample };
49533
+ if (!scanCoveredEverything(rawInput)) return { ...hashed, argsUnscanned: true };
49518
49534
  return { args: JSON.parse(redactSecrets(JSON.stringify(rawInput))) };
49519
49535
  } catch {
49520
49536
  return hashed;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node9/proxy",
3
- "version": "1.67.3",
3
+ "version": "1.67.4",
4
4
  "description": "The Sudo Command for AI Agents. Execution Security for Claude Code, Codex, Gemini, Cursor, Opencode, Pi, and any MCP server.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",