@mnemonik/shared 7.141.3 → 7.142.0

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.
@@ -18,6 +18,11 @@ export declare function redactCredentials(text: string, options?: RedactCredenti
18
18
  redactions: number;
19
19
  kinds: string[];
20
20
  };
21
+ /** Source callers edit literal AST spans within these existing command-line matches. */
22
+ export declare function commandLineCredentialRanges(text: string): Array<{
23
+ start: number;
24
+ end: number;
25
+ }>;
21
26
  /**
22
27
  * The credential values the context rules (command-line passwords, URL
23
28
  * passwords, named values, Bearer tokens) would redact from `text`, for a
@@ -1 +1 @@
1
- {"version":3,"file":"redactCredentials.d.ts","sourceRoot":"","sources":["../src/redactCredentials.ts"],"names":[],"mappings":"AA4CA,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA+fD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,wBAA6B,GACrC;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAEA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAAM,GAC9D,GAAG,CAAC,MAAM,CAAC,CAIb"}
1
+ {"version":3,"file":"redactCredentials.d.ts","sourceRoot":"","sources":["../src/redactCredentials.ts"],"names":[],"mappings":"AA4CA,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA+fD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,wBAA6B,GACrC;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAEA;AAED,wFAAwF;AACxF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAoB/F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAAM,GAC9D,GAAG,CAAC,MAAM,CAAC,CAIb"}
@@ -477,6 +477,28 @@ function redact(text, options, values) {
477
477
  export function redactCredentials(text, options = {}) {
478
478
  return redact(text, options, new Set());
479
479
  }
480
+ /** Source callers edit literal AST spans within these existing command-line matches. */
481
+ export function commandLineCredentialRanges(text) {
482
+ const ranges = [];
483
+ for (const { pattern, replacement, secretGroup, commandLine } of PATTERNS) {
484
+ if (!commandLine || !secretGroup || typeof replacement !== 'function')
485
+ continue;
486
+ for (const match of text.matchAll(pattern)) {
487
+ const prefix = match[1];
488
+ const value = match[secretGroup];
489
+ if (prefix === undefined || value === undefined)
490
+ continue;
491
+ // Runtime expressions can contain literal defaults; the source AST separates them.
492
+ const runtimeWord = /^"?\$/.test(value);
493
+ if (!runtimeWord &&
494
+ replacement(match[0], ...match.slice(1).map((group) => group ?? '')) === match[0])
495
+ continue;
496
+ const start = match.index + prefix.length;
497
+ ranges.push({ start, end: start + value.length });
498
+ }
499
+ }
500
+ return ranges.sort((a, b) => a.start - b.start);
501
+ }
480
502
  /**
481
503
  * The credential values the context rules (command-line passwords, URL
482
504
  * passwords, named values, Bearer tokens) would redact from `text`, for a
@@ -1 +1 @@
1
- {"version":3,"file":"redactCredentials.js","sourceRoot":"","sources":["../src/redactCredentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redactCredentials.js","sourceRoot":"","sources":["../src/redactCredentials.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sourceRedaction.d.ts","sourceRoot":"","sources":["../src/sourceRedaction.ts"],"names":[],"mappings":"AAgBA,sGAAsG;AACtG,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BxF"}
1
+ {"version":3,"file":"sourceRedaction.d.ts","sourceRoot":"","sources":["../src/sourceRedaction.ts"],"names":[],"mappings":"AAgBA,sGAAsG;AACtG,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqCxF"}
@@ -2,7 +2,7 @@ import { extname } from 'node:path';
2
2
  import { Parser } from 'web-tree-sitter';
3
3
  import { loadGrammar } from './ast/grammars.js';
4
4
  import { MAX_AST_PARSE_BYTES } from './ast/astChunker.js';
5
- import { redactCredentials } from './redactCredentials.js';
5
+ import { commandLineCredentialRanges, redactCredentials } from './redactCredentials.js';
6
6
  import { redactHighEntropyTokens, redactSecretValue, scrubSecrets, SECRET_LABEL_RE, } from './secretPatterns.js';
7
7
  function scrubPayload(text) {
8
8
  return redactCredentials(scrubSecrets(text), { commandLineOnly: true }).text;
@@ -18,7 +18,9 @@ export async function scrubSourceSecrets(text, filePath) {
18
18
  ? 'javascript'
19
19
  : ['.py', '.pyi'].includes(extension)
20
20
  ? 'python'
21
- : null;
21
+ : ['.sh', '.bash', '.zsh'].includes(extension)
22
+ ? 'bash'
23
+ : null;
22
24
  if (!text || !language || Buffer.byteLength(text, 'utf8') > MAX_AST_PARSE_BYTES) {
23
25
  return scrubPayload(text);
24
26
  }
@@ -34,7 +36,10 @@ export async function scrubSourceSecrets(text, filePath) {
34
36
  if (!tree || tree.rootNode.hasError)
35
37
  return scrubPayload(text);
36
38
  const root = tree.rootNode;
37
- return text.slice(0, root.startIndex) + redactNode(root) + text.slice(root.endIndex);
39
+ const redacted = language === 'bash'
40
+ ? redactShellNode(root, commandLineCredentialRanges(text))
41
+ : redactNode(root);
42
+ return text.slice(0, root.startIndex) + redacted + text.slice(root.endIndex);
38
43
  }
39
44
  catch {
40
45
  return scrubPayload(text);
@@ -44,6 +49,103 @@ export async function scrubSourceSecrets(text, filePath) {
44
49
  parser?.delete();
45
50
  }
46
51
  }
52
+ function redactShellNode(root, ranges) {
53
+ for (const range of ranges) {
54
+ let literal = root.descendantForIndex(range.start, range.start);
55
+ while (literal && !['word', 'string', 'raw_string', 'ansi_c_string'].includes(literal.type))
56
+ literal = literal.parent;
57
+ // Regex rules can stop at an escaped quote/space; the AST owns the complete literal.
58
+ if (literal)
59
+ range.end = Math.max(range.end, literal.endIndex);
60
+ }
61
+ let rangeIndex = 0;
62
+ const payload = (text, start, sensitive, boundary) => {
63
+ while (rangeIndex < ranges.length) {
64
+ const range = ranges[rangeIndex];
65
+ if (!range || range.end > start)
66
+ break;
67
+ rangeIndex++;
68
+ }
69
+ let result = '';
70
+ let offset = start;
71
+ for (let i = rangeIndex; i < ranges.length; i++) {
72
+ const range = ranges[i];
73
+ if (!range || range.start >= start + text.length)
74
+ break;
75
+ if (range.start < boundary)
76
+ continue;
77
+ const begin = Math.max(offset, range.start);
78
+ const end = Math.min(start + text.length, range.end);
79
+ if (begin >= end)
80
+ continue;
81
+ result +=
82
+ text.slice(offset - start, begin - start) +
83
+ redactSecretValue(text.slice(begin - start, end - start));
84
+ offset = end;
85
+ }
86
+ return literalPayload(result + text.slice(offset - start), sensitive);
87
+ };
88
+ const visit = (node, sensitive = false, boundary = 0) => {
89
+ const original = node.text;
90
+ if (['simple_expansion', 'command_substitution', 'arithmetic_expansion'].includes(node.type)) {
91
+ // An enclosing credential rule must not taint arguments inside a runtime expression.
92
+ boundary = node.startIndex;
93
+ sensitive = false;
94
+ }
95
+ if (node.type === 'expansion') {
96
+ // A CLI credential argument can supply the label even when this is not an assignment.
97
+ for (let i = rangeIndex; i < ranges.length; i++) {
98
+ const range = ranges[i];
99
+ if (!range || range.start > node.startIndex)
100
+ break;
101
+ if (range.start >= boundary && range.end >= node.endIndex)
102
+ sensitive = true;
103
+ }
104
+ boundary = node.startIndex;
105
+ // Defaults/alternates are value literals; the parameter name remains a reference.
106
+ sensitive = sensitive && /^:?[+=-]$/.test(node.childForFieldName('operator')?.text ?? '');
107
+ }
108
+ if (node.type === 'comment')
109
+ return '#' + scrubPayload(original.slice(1));
110
+ if (node.type === 'raw_string' || node.type === 'ansi_c_string') {
111
+ const prefix = node.type === 'ansi_c_string' ? 2 : 1;
112
+ return (original.slice(0, prefix) +
113
+ payload(original.slice(prefix, -1), node.startIndex + prefix, sensitive, boundary) +
114
+ "'");
115
+ }
116
+ if (node.type === 'word') {
117
+ if (node.parent?.type === 'command_name' ||
118
+ node.id === node.parent?.childForFieldName('name')?.id)
119
+ return original;
120
+ const redacted = payload(original, node.startIndex, sensitive, boundary);
121
+ return redacted === original ? original : "'" + redacted.replaceAll("'", "'\\''") + "'";
122
+ }
123
+ const isText = node.type === 'string' || node.type === 'heredoc_body';
124
+ const value = node.type === 'variable_assignment' ? node.childForFieldName('value') : null;
125
+ const labeled = value && secretLabel(node.childForFieldName('name'));
126
+ const children = isText
127
+ ? node.namedChildren.filter((child) => !['string_content', 'heredoc_content'].includes(child.type))
128
+ : node.namedChildren;
129
+ let result = node.type === 'string' ? '"' : '';
130
+ let offset = node.startIndex + (node.type === 'string' ? 1 : 0);
131
+ for (const child of children) {
132
+ const gap = original.slice(offset - node.startIndex, child.startIndex - node.startIndex);
133
+ result += isText ? payload(gap, offset, sensitive, boundary) : gap;
134
+ result += visit(child, (sensitive &&
135
+ (isText ||
136
+ node.type === 'concatenation' ||
137
+ (node.type === 'expansion' && child.type !== 'variable_name'))) ||
138
+ Boolean(labeled && child.id === value?.id), boundary);
139
+ offset = child.endIndex;
140
+ }
141
+ const end = node.endIndex - (node.type === 'string' ? 1 : 0);
142
+ const tail = original.slice(offset - node.startIndex, end - node.startIndex);
143
+ return (result +
144
+ (isText ? payload(tail, offset, sensitive, boundary) : tail) +
145
+ (node.type === 'string' ? '"' : ''));
146
+ };
147
+ return visit(root);
148
+ }
47
149
  function secretLabel(node) {
48
150
  if (!node)
49
151
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"sourceRedaction.js","sourceRoot":"","sources":["../src/sourceRedaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceRedaction.js","sourceRoot":"","sources":["../src/sourceRedaction.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnemonik/shared",
3
- "version": "7.141.3",
3
+ "version": "7.142.0",
4
4
  "description": "Shared constants and utilities for Mnemonik packages",
5
5
  "repository": {
6
6
  "type": "git",
@@ -578,6 +578,29 @@ export function redactCredentials(
578
578
  return redact(text, options, new Set());
579
579
  }
580
580
 
581
+ /** Source callers edit literal AST spans within these existing command-line matches. */
582
+ export function commandLineCredentialRanges(text: string): Array<{ start: number; end: number }> {
583
+ const ranges: Array<{ start: number; end: number }> = [];
584
+ for (const { pattern, replacement, secretGroup, commandLine } of PATTERNS) {
585
+ if (!commandLine || !secretGroup || typeof replacement !== 'function') continue;
586
+ for (const match of text.matchAll(pattern)) {
587
+ const prefix = match[1];
588
+ const value = match[secretGroup];
589
+ if (prefix === undefined || value === undefined) continue;
590
+ // Runtime expressions can contain literal defaults; the source AST separates them.
591
+ const runtimeWord = /^"?\$/.test(value);
592
+ if (
593
+ !runtimeWord &&
594
+ replacement(match[0], ...match.slice(1).map((group) => group ?? '')) === match[0]
595
+ )
596
+ continue;
597
+ const start = match.index + prefix.length;
598
+ ranges.push({ start, end: start + value.length });
599
+ }
600
+ }
601
+ return ranges.sort((a, b) => a.start - b.start);
602
+ }
603
+
581
604
  /**
582
605
  * The credential values the context rules (command-line passwords, URL
583
606
  * passwords, named values, Bearer tokens) would redact from `text`, for a
@@ -2,7 +2,7 @@ import { extname } from 'node:path';
2
2
  import { Parser, type Node, type Tree } from 'web-tree-sitter';
3
3
  import { loadGrammar } from './ast/grammars.js';
4
4
  import { MAX_AST_PARSE_BYTES } from './ast/astChunker.js';
5
- import { redactCredentials } from './redactCredentials.js';
5
+ import { commandLineCredentialRanges, redactCredentials } from './redactCredentials.js';
6
6
  import {
7
7
  redactHighEntropyTokens,
8
8
  redactSecretValue,
@@ -25,7 +25,9 @@ export async function scrubSourceSecrets(text: string, filePath: string): Promis
25
25
  ? 'javascript'
26
26
  : ['.py', '.pyi'].includes(extension)
27
27
  ? 'python'
28
- : null;
28
+ : ['.sh', '.bash', '.zsh'].includes(extension)
29
+ ? 'bash'
30
+ : null;
29
31
  if (!text || !language || Buffer.byteLength(text, 'utf8') > MAX_AST_PARSE_BYTES) {
30
32
  return scrubPayload(text);
31
33
  }
@@ -39,7 +41,11 @@ export async function scrubSourceSecrets(text: string, filePath: string): Promis
39
41
  tree = parser.parse(text);
40
42
  if (!tree || tree.rootNode.hasError) return scrubPayload(text);
41
43
  const root = tree.rootNode;
42
- return text.slice(0, root.startIndex) + redactNode(root) + text.slice(root.endIndex);
44
+ const redacted =
45
+ language === 'bash'
46
+ ? redactShellNode(root, commandLineCredentialRanges(text))
47
+ : redactNode(root);
48
+ return text.slice(0, root.startIndex) + redacted + text.slice(root.endIndex);
43
49
  } catch {
44
50
  return scrubPayload(text);
45
51
  } finally {
@@ -48,6 +54,111 @@ export async function scrubSourceSecrets(text: string, filePath: string): Promis
48
54
  }
49
55
  }
50
56
 
57
+ function redactShellNode(
58
+ root: Node,
59
+ ranges: ReturnType<typeof commandLineCredentialRanges>
60
+ ): string {
61
+ for (const range of ranges) {
62
+ let literal = root.descendantForIndex(range.start, range.start);
63
+ while (literal && !['word', 'string', 'raw_string', 'ansi_c_string'].includes(literal.type))
64
+ literal = literal.parent;
65
+ // Regex rules can stop at an escaped quote/space; the AST owns the complete literal.
66
+ if (literal) range.end = Math.max(range.end, literal.endIndex);
67
+ }
68
+ let rangeIndex = 0;
69
+ const payload = (text: string, start: number, sensitive: boolean, boundary: number): string => {
70
+ while (rangeIndex < ranges.length) {
71
+ const range = ranges[rangeIndex];
72
+ if (!range || range.end > start) break;
73
+ rangeIndex++;
74
+ }
75
+ let result = '';
76
+ let offset = start;
77
+ for (let i = rangeIndex; i < ranges.length; i++) {
78
+ const range = ranges[i];
79
+ if (!range || range.start >= start + text.length) break;
80
+ if (range.start < boundary) continue;
81
+ const begin = Math.max(offset, range.start);
82
+ const end = Math.min(start + text.length, range.end);
83
+ if (begin >= end) continue;
84
+ result +=
85
+ text.slice(offset - start, begin - start) +
86
+ redactSecretValue(text.slice(begin - start, end - start));
87
+ offset = end;
88
+ }
89
+ return literalPayload(result + text.slice(offset - start), sensitive);
90
+ };
91
+ const visit = (node: Node, sensitive = false, boundary = 0): string => {
92
+ const original = node.text;
93
+ if (['simple_expansion', 'command_substitution', 'arithmetic_expansion'].includes(node.type)) {
94
+ // An enclosing credential rule must not taint arguments inside a runtime expression.
95
+ boundary = node.startIndex;
96
+ sensitive = false;
97
+ }
98
+ if (node.type === 'expansion') {
99
+ // A CLI credential argument can supply the label even when this is not an assignment.
100
+ for (let i = rangeIndex; i < ranges.length; i++) {
101
+ const range = ranges[i];
102
+ if (!range || range.start > node.startIndex) break;
103
+ if (range.start >= boundary && range.end >= node.endIndex) sensitive = true;
104
+ }
105
+ boundary = node.startIndex;
106
+ // Defaults/alternates are value literals; the parameter name remains a reference.
107
+ sensitive = sensitive && /^:?[+=-]$/.test(node.childForFieldName('operator')?.text ?? '');
108
+ }
109
+ if (node.type === 'comment') return '#' + scrubPayload(original.slice(1));
110
+ if (node.type === 'raw_string' || node.type === 'ansi_c_string') {
111
+ const prefix = node.type === 'ansi_c_string' ? 2 : 1;
112
+ return (
113
+ original.slice(0, prefix) +
114
+ payload(original.slice(prefix, -1), node.startIndex + prefix, sensitive, boundary) +
115
+ "'"
116
+ );
117
+ }
118
+ if (node.type === 'word') {
119
+ if (
120
+ node.parent?.type === 'command_name' ||
121
+ node.id === node.parent?.childForFieldName('name')?.id
122
+ )
123
+ return original;
124
+ const redacted = payload(original, node.startIndex, sensitive, boundary);
125
+ return redacted === original ? original : "'" + redacted.replaceAll("'", "'\\''") + "'";
126
+ }
127
+ const isText = node.type === 'string' || node.type === 'heredoc_body';
128
+ const value = node.type === 'variable_assignment' ? node.childForFieldName('value') : null;
129
+ const labeled = value && secretLabel(node.childForFieldName('name'));
130
+ const children = isText
131
+ ? node.namedChildren.filter(
132
+ (child) => !['string_content', 'heredoc_content'].includes(child.type)
133
+ )
134
+ : node.namedChildren;
135
+ let result = node.type === 'string' ? '"' : '';
136
+ let offset = node.startIndex + (node.type === 'string' ? 1 : 0);
137
+ for (const child of children) {
138
+ const gap = original.slice(offset - node.startIndex, child.startIndex - node.startIndex);
139
+ result += isText ? payload(gap, offset, sensitive, boundary) : gap;
140
+ result += visit(
141
+ child,
142
+ (sensitive &&
143
+ (isText ||
144
+ node.type === 'concatenation' ||
145
+ (node.type === 'expansion' && child.type !== 'variable_name'))) ||
146
+ Boolean(labeled && child.id === value?.id),
147
+ boundary
148
+ );
149
+ offset = child.endIndex;
150
+ }
151
+ const end = node.endIndex - (node.type === 'string' ? 1 : 0);
152
+ const tail = original.slice(offset - node.startIndex, end - node.startIndex);
153
+ return (
154
+ result +
155
+ (isText ? payload(tail, offset, sensitive, boundary) : tail) +
156
+ (node.type === 'string' ? '"' : '')
157
+ );
158
+ };
159
+ return visit(root);
160
+ }
161
+
51
162
  function secretLabel(node: Node | null): boolean {
52
163
  if (!node) return false;
53
164
  const property =