@mossbear/eval-core 0.1.0-alpha.70 → 0.1.0-alpha.72
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/credential-patterns.d.ts +1 -1
- package/dist/credential-patterns.d.ts.map +1 -1
- package/dist/credential-patterns.js +2 -2
- package/dist/credential-patterns.js.map +1 -1
- package/dist/redact-prose.d.ts.map +1 -1
- package/dist/redact-prose.js +97 -5
- package/dist/redact-prose.js.map +1 -1
- package/dist/redact-prose.test.js +119 -0
- package/dist/redact-prose.test.js.map +1 -1
- package/dist/sanitize-command.d.ts +4 -4
- package/dist/sanitize-command.d.ts.map +1 -1
- package/dist/sanitize-command.js +644 -23
- package/dist/sanitize-command.js.map +1 -1
- package/dist/sanitize-command.test.js +489 -0
- package/dist/sanitize-command.test.js.map +1 -1
- package/dist/strip-code-blocks.d.ts.map +1 -1
- package/dist/strip-code-blocks.js +62 -27
- package/dist/strip-code-blocks.js.map +1 -1
- package/dist/strip-code-blocks.test.js +58 -0
- package/dist/strip-code-blocks.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -3,7 +3,7 @@ export declare const SENSITIVE_WORD_SOURCE = "(?:api[_-]?key|access[_-]?key|secr
|
|
|
3
3
|
export declare const SENSITIVE_KEY_SOURCE = "[\\w.-]*(?:api[_-]?key|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|authorization|token|secret|passw(?:or)?d|credentials?)[\\w.-]*";
|
|
4
4
|
export declare const SHELL_WORD_SOURCE: string;
|
|
5
5
|
/** Whole segments in prose, avoiding ordinary words such as secretary. */
|
|
6
|
-
export declare const PROSE_SENSITIVE_KEY_SOURCE = "(?:[A-Za-z0-9]+[_-])*(?:api[_-]?key|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|authorization|token|secret|passw(?:or)?d|credentials?)(?:[_-][A-Za-z0-9]+)*";
|
|
6
|
+
export declare const PROSE_SENSITIVE_KEY_SOURCE = "(?:[A-Za-z0-9]+[._-])*(?:api[_-]?key|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|authorization|token|secret|passw(?:or)?d|credentials?)(?:[._-][A-Za-z0-9]+)*";
|
|
7
7
|
/** Cookie pairs, bounded by header quoting or the next prose/shell word. */
|
|
8
8
|
export declare const COOKIE_HEADER_SOURCE: string;
|
|
9
9
|
//# sourceMappingURL=credential-patterns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-patterns.d.ts","sourceRoot":"","sources":["../src/credential-patterns.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,0IACuG,CAAA;AACzI,eAAO,MAAM,oBAAoB,0JAA6C,CAAA;AAC9E,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"credential-patterns.d.ts","sourceRoot":"","sources":["../src/credential-patterns.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,0IACuG,CAAA;AACzI,eAAO,MAAM,oBAAoB,0JAA6C,CAAA;AAC9E,eAAO,MAAM,iBAAiB,QAAgG,CAAA;AAE9H,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,sLAAyE,CAAA;AAEhH,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,QAAuN,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** Syntax shared by the command and prose credential scanners. */
|
|
2
2
|
export const SENSITIVE_WORD_SOURCE = '(?:api[_-]?key|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|authorization|token|secret|passw(?:or)?d|credentials?)';
|
|
3
3
|
export const SENSITIVE_KEY_SOURCE = `[\\w.-]*${SENSITIVE_WORD_SOURCE}[\\w.-]*`;
|
|
4
|
-
export const SHELL_WORD_SOURCE = String.raw `(
|
|
4
|
+
export const SHELL_WORD_SOURCE = String.raw `(?:\$'(?:\\[\s\S]|[^'\\])*'|'[^']*'|"(?:\\.|[^"\\])*"|\\[\s\S]|[^\s;&|()<>'"\\])+`;
|
|
5
5
|
/** Whole segments in prose, avoiding ordinary words such as secretary. */
|
|
6
|
-
export const PROSE_SENSITIVE_KEY_SOURCE = `(?:[A-Za-z0-9]+[_-])*${SENSITIVE_WORD_SOURCE}(?:[_-][A-Za-z0-9]+)*`;
|
|
6
|
+
export const PROSE_SENSITIVE_KEY_SOURCE = `(?:[A-Za-z0-9]+[._-])*${SENSITIVE_WORD_SOURCE}(?:[._-][A-Za-z0-9]+)*`;
|
|
7
7
|
/** Cookie pairs, bounded by header quoting or the next prose/shell word. */
|
|
8
8
|
export const COOKIE_HEADER_SOURCE = String.raw `\b((?:set-cookie|cookie)[ \t]*:[ \t]*)(?:[\w.!#$%&*+^\x60|~-]+[ \t]*=[ \t]*(?:"(?:\\.|[^"\\\r\n])*"|[^\s;"',]*))(?:[ \t]*;[ \t]*[\w.!#$%&*+^\x60|~-]+[ \t]*=[ \t]*(?:"(?:\\.|[^"\\\r\n])*"|[^\s;"',]*))*`;
|
|
9
9
|
//# sourceMappingURL=credential-patterns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-patterns.js","sourceRoot":"","sources":["../src/credential-patterns.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAChC,uIAAuI,CAAA;AACzI,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,qBAAqB,UAAU,CAAA;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"credential-patterns.js","sourceRoot":"","sources":["../src/credential-patterns.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAChC,uIAAuI,CAAA;AACzI,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,qBAAqB,UAAU,CAAA;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA,mFAAmF,CAAA;AAE9H,0EAA0E;AAC1E,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,qBAAqB,wBAAwB,CAAA;AAEhH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA,0MAA0M,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact-prose.d.ts","sourceRoot":"","sources":["../src/redact-prose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;
|
|
1
|
+
{"version":3,"file":"redact-prose.d.ts","sourceRoot":"","sources":["../src/redact-prose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAUH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,OAAO,CAAA;AAwBnC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,mGAO1B,CAAA;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1E,MAAM,MAAM,oBAAoB,GAAG;IACjC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,gFAAgF;IAChF,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAA;IACpD,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAA;IACrB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AA8ID;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,oBAAoB,CAgIlF"}
|
package/dist/redact-prose.js
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* Reports **what it redacted, by class and count**, so a disclosure surface can
|
|
39
39
|
* show the user what was removed rather than asserting safety at them.
|
|
40
40
|
*/
|
|
41
|
-
import { COOKIE_HEADER_SOURCE, PROSE_SENSITIVE_KEY_SOURCE, SENSITIVE_KEY_SOURCE, } from './credential-patterns.js';
|
|
41
|
+
import { COOKIE_HEADER_SOURCE, PROSE_SENSITIVE_KEY_SOURCE, SENSITIVE_KEY_SOURCE, SHELL_WORD_SOURCE, } from './credential-patterns.js';
|
|
42
42
|
import { PRIVATE_KEY_BLOCK_SOURCE, REDACTED } from './redaction.js';
|
|
43
43
|
/**
|
|
44
44
|
* Maximum characters of a single prose message that survive redaction.
|
|
@@ -67,6 +67,11 @@ export const MAX_PROSE_CHARS = 2000;
|
|
|
67
67
|
* past this is dropped before scanning and counts as truncation.
|
|
68
68
|
*/
|
|
69
69
|
const MAX_SCAN_CHARS = MAX_PROSE_CHARS * 8;
|
|
70
|
+
const QUOTED_VALUE_SOURCE = String.raw `(?:"(?:[^"\\]|\\[\s\S])*(?:"|$)|'(?:[^'\\]|\\[\s\S])*(?:'|$))`;
|
|
71
|
+
// Python concatenates adjacent quoted literals. Do not consume a following
|
|
72
|
+
// YAML key as another fragment of the value.
|
|
73
|
+
const MAPPING_VALUE_SOURCE = String.raw `${QUOTED_VALUE_SOURCE}(?:\s*${QUOTED_VALUE_SOURCE}(?!\s*:))*|[^,}\s]+`;
|
|
74
|
+
const QUOTED_COMMAND_WORD_SOURCE = String.raw `(?:\$'(?:[^'\\]|\\[\s\S])*(?:'|$)(?:${SHELL_WORD_SOURCE})?|${SHELL_WORD_SOURCE})`;
|
|
70
75
|
/**
|
|
71
76
|
* The classes this reports on. Named rather than free-form strings so a
|
|
72
77
|
* disclosure surface can label each count without re-deriving the taxonomy —
|
|
@@ -104,9 +109,15 @@ const PROSE_REDACTIONS = [
|
|
|
104
109
|
['token', new RegExp(COOKIE_HEADER_SOURCE, 'gi'), `$1${REDACTED}`],
|
|
105
110
|
[
|
|
106
111
|
'assignment',
|
|
107
|
-
new RegExp(`("${SENSITIVE_KEY_SOURCE}"
|
|
112
|
+
new RegExp(String.raw `("${SENSITIVE_KEY_SOURCE}"\s*:\s*)(?:${MAPPING_VALUE_SOURCE})`, 'gi'),
|
|
108
113
|
`$1"${REDACTED}"`,
|
|
109
114
|
],
|
|
115
|
+
// Quoted keys in Python/YAML mappings carry the same secrets as JSON.
|
|
116
|
+
[
|
|
117
|
+
'assignment',
|
|
118
|
+
new RegExp(String.raw `('${SENSITIVE_KEY_SOURCE}'\s*:\s*)(?:${MAPPING_VALUE_SOURCE})`, 'gi'),
|
|
119
|
+
`$1${REDACTED}`,
|
|
120
|
+
],
|
|
110
121
|
// URL userinfo. Both shapes: `scheme://user:secret@host` and the
|
|
111
122
|
// token-as-sole-userinfo form `scheme://token@host`, which a colon-requiring
|
|
112
123
|
// pattern misses entirely and which no other rule here catches when the token
|
|
@@ -134,7 +145,7 @@ const PROSE_REDACTIONS = [
|
|
|
134
145
|
// otherwise terminates early and leaves the tail of the password in place.
|
|
135
146
|
[
|
|
136
147
|
'assignment',
|
|
137
|
-
new RegExp(String.raw `\b(${PROSE_SENSITIVE_KEY_SOURCE})(\s*[=:]\s*)(?:(?:"(?:[^"\\]|\\[\s\S])*(?:"|$)|'(?:[^'\\]|\\[\s\S])*(?:'|$))(?:[^\s"']+|"(?:[^"\\]|\\[\s\S])*(?:"|$)|'(?:[^'\\]|\\[\s\S])*(?:'|$))*|[^\s]+)`, 'gi'),
|
|
148
|
+
new RegExp(String.raw `\b(${PROSE_SENSITIVE_KEY_SOURCE})(\s*[=:]\s*)(?:\$'(?:[^'\\]|\\[\s\S])*(?:'|$)(?:${SHELL_WORD_SOURCE})?|(?:"(?:[^"\\]|\\[\s\S])*(?:"|$)|'(?:[^'\\]|\\[\s\S])*(?:'|$))(?:[^\s"']+|"(?:[^"\\]|\\[\s\S])*(?:"|$)|'(?:[^'\\]|\\[\s\S])*(?:'|$))*|[^\s]+)`, 'gi'),
|
|
138
149
|
`$1$2${REDACTED}`,
|
|
139
150
|
],
|
|
140
151
|
// Well-known bare token shapes, by their published prefixes. Prefix-anchored
|
|
@@ -169,6 +180,13 @@ const PROSE_REDACTIONS = [
|
|
|
169
180
|
/\b(?:mossbear_[A-Za-z0-9_-]{8,}|auden_[A-Za-z0-9_-]{8,}|sk-[A-Za-z0-9_-]{16,}|ghp_[A-Za-z0-9]{20,}|gho_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,}|xox[abposr]-[A-Za-z0-9-]{10,}|AKIA[0-9A-Z]{16}|AIza[A-Za-z0-9_-]{20,})/g,
|
|
170
181
|
REDACTED,
|
|
171
182
|
],
|
|
183
|
+
// Quoted command values in narration must be consumed as complete shell
|
|
184
|
+
// words. A bare word after a flag may be prose ("--token to authenticate").
|
|
185
|
+
[
|
|
186
|
+
'assignment',
|
|
187
|
+
new RegExp(String.raw `(--${PROSE_SENSITIVE_KEY_SOURCE}\s+)(?=\$?["'])${QUOTED_COMMAND_WORD_SOURCE}`, 'gi'),
|
|
188
|
+
`$1${REDACTED}`,
|
|
189
|
+
],
|
|
172
190
|
// Email addresses, listed among the plan's targets
|
|
173
191
|
// (`transcript-content-classes-plan.md:43`).
|
|
174
192
|
['email', /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g, REDACTED],
|
|
@@ -223,6 +241,74 @@ export function redactProse(input) {
|
|
|
223
241
|
});
|
|
224
242
|
const counts = {};
|
|
225
243
|
let redactedCount = 0;
|
|
244
|
+
const recordAssignment = () => {
|
|
245
|
+
counts.assignment = (counts.assignment ?? 0) + 1;
|
|
246
|
+
redactedCount += 1;
|
|
247
|
+
};
|
|
248
|
+
// A YAML block scalar's value is the indented lines after its marker.
|
|
249
|
+
// Redacting only `|` or `>` leaves the complete credential behind.
|
|
250
|
+
const lines = text.split('\n');
|
|
251
|
+
const scalarKey = new RegExp(String.raw `^([ \t]*)(-[ \t]+)?(["']?${SENSITIVE_KEY_SOURCE}["']?[ \t]*:[ \t]*)[|>](?:[+-][1-9]?|[1-9][+-]?)?[ \t]*(?:#[^\r]*)?\r?$`, 'i');
|
|
252
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
253
|
+
const match = scalarKey.exec(lines[index]);
|
|
254
|
+
if (!match)
|
|
255
|
+
continue;
|
|
256
|
+
const mappingIndent = match[1].length + (match[2]?.length ?? 0);
|
|
257
|
+
let end = index + 1;
|
|
258
|
+
while (end < lines.length) {
|
|
259
|
+
const line = lines[end];
|
|
260
|
+
if (line.trim() && /^[ \t]*/.exec(line)[0].length <= mappingIndent)
|
|
261
|
+
break;
|
|
262
|
+
end += 1;
|
|
263
|
+
}
|
|
264
|
+
// These credential names are valid plain YAML keys. Removing their quotes
|
|
265
|
+
// prevents the later JSON-key rule from treating sibling YAML as a value.
|
|
266
|
+
const keyPrefix = match[3].replace(/^["']|["'](?=[ \t]*:)/g, '');
|
|
267
|
+
lines.splice(index, end - index, `${match[1]}${match[2] ?? ''}${keyPrefix}${REDACTED}`);
|
|
268
|
+
recordAssignment();
|
|
269
|
+
}
|
|
270
|
+
text = lines.join('\n');
|
|
271
|
+
// JSON strings can contain another serialized object. Scan quoted tokens
|
|
272
|
+
// structurally before the flat pair patterns, with a bounded recursion.
|
|
273
|
+
const redactEncoded = (value, depth) => {
|
|
274
|
+
if (depth > 20) {
|
|
275
|
+
recordAssignment();
|
|
276
|
+
return REDACTED;
|
|
277
|
+
}
|
|
278
|
+
if (typeof value === 'string' && /^\s*[[{]/.test(value)) {
|
|
279
|
+
try {
|
|
280
|
+
const parsed = JSON.parse(value);
|
|
281
|
+
const redacted = redactEncoded(parsed, depth + 1);
|
|
282
|
+
return JSON.stringify(redacted) === JSON.stringify(parsed)
|
|
283
|
+
? value
|
|
284
|
+
: JSON.stringify(redacted);
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
return sensitiveKey.test(value) ? REDACTED : value;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
if (Array.isArray(value))
|
|
291
|
+
return value.map((item) => redactEncoded(item, depth + 1));
|
|
292
|
+
if (value === null || typeof value !== 'object')
|
|
293
|
+
return value;
|
|
294
|
+
return Object.fromEntries(Object.entries(value).map(([key, item]) => {
|
|
295
|
+
if (sensitiveKey.test(key)) {
|
|
296
|
+
recordAssignment();
|
|
297
|
+
return [key, REDACTED];
|
|
298
|
+
}
|
|
299
|
+
return [key, redactEncoded(item, depth + 1)];
|
|
300
|
+
}));
|
|
301
|
+
};
|
|
302
|
+
text = text.replace(/"(?:[^"\\]|\\[\s\S])*(?:"|$)/g, (token) => {
|
|
303
|
+
try {
|
|
304
|
+
const value = JSON.parse(token);
|
|
305
|
+
const redacted = redactEncoded(value, 0);
|
|
306
|
+
return redacted === value ? token : JSON.stringify(redacted);
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
return token;
|
|
310
|
+
}
|
|
311
|
+
});
|
|
226
312
|
for (const [redactionClass, pattern, replacement] of PROSE_REDACTIONS) {
|
|
227
313
|
// Counted before replacing, and against a fresh regex, so the shared
|
|
228
314
|
// literal's `lastIndex` cannot carry between calls — a stateful `g` regex
|
|
@@ -232,8 +318,14 @@ export function redactProse(input) {
|
|
|
232
318
|
const matches = text.match(counter);
|
|
233
319
|
if (!matches || matches.length === 0)
|
|
234
320
|
continue;
|
|
235
|
-
|
|
236
|
-
|
|
321
|
+
// Structural passes leave redaction markers behind. Re-matching one is
|
|
322
|
+
// not a second replacement of the credential that produced it.
|
|
323
|
+
const single = new RegExp(pattern.source, pattern.flags.replace('g', ''));
|
|
324
|
+
const changed = matches.filter((match) => match.replace(single, replacement) !== match).length;
|
|
325
|
+
if (changed === 0)
|
|
326
|
+
continue;
|
|
327
|
+
counts[redactionClass] = (counts[redactionClass] ?? 0) + changed;
|
|
328
|
+
redactedCount += changed;
|
|
237
329
|
text = text.replace(new RegExp(pattern.source, pattern.flags), replacement);
|
|
238
330
|
}
|
|
239
331
|
const wasTruncated = wasScanTruncated || text.length > MAX_PROSE_CHARS;
|
package/dist/redact-prose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact-prose.js","sourceRoot":"","sources":["../src/redact-prose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,
|
|
1
|
+
{"version":3,"file":"redact-prose.js","sourceRoot":"","sources":["../src/redact-prose.ts"],"names":[],"mappings":"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"}
|
|
@@ -263,6 +263,27 @@ describe('redactProse', () => {
|
|
|
263
263
|
});
|
|
264
264
|
});
|
|
265
265
|
describe('credential disclosure regressions', () => {
|
|
266
|
+
it.each([
|
|
267
|
+
'You can pass --token to the sync command.',
|
|
268
|
+
'It takes --password or prompts you.',
|
|
269
|
+
'I recommend --client-secret for the CI job.',
|
|
270
|
+
])('preserves prose explaining credential options: %s', (input) => {
|
|
271
|
+
expect(redactProse(input).text).toBe(input);
|
|
272
|
+
});
|
|
273
|
+
it.each(['password', '"password"', "'password'"])('counts one YAML block credential under %s once', (key) => {
|
|
274
|
+
const result = redactProse(`${key}: |\n fixture-secret\n fixture-tail\nname: reader`);
|
|
275
|
+
expect(result.text).not.toContain('fixture');
|
|
276
|
+
expect(result.text).toContain('name: reader');
|
|
277
|
+
expect(result.counts.assignment).toBe(1);
|
|
278
|
+
expect(result.redactedCount).toBe(1);
|
|
279
|
+
});
|
|
280
|
+
it('counts a bounded nested JSON replacement', () => {
|
|
281
|
+
const nested = Array.from({ length: 25 }).reduce((value) => ({ child: value }), 'fixture-secret');
|
|
282
|
+
const result = redactProse(JSON.stringify({ payload: JSON.stringify(nested) }));
|
|
283
|
+
expect(result.text).not.toContain('fixture-secret');
|
|
284
|
+
expect(result.counts.assignment).toBe(1);
|
|
285
|
+
expect(result.redactedCount).toBe(1);
|
|
286
|
+
});
|
|
266
287
|
it('redacts quoted JSON keys in transcript prose, including escaped keys', () => {
|
|
267
288
|
for (const input of [
|
|
268
289
|
'The response was {"password":"fixture-json-secret","ok":true}.',
|
|
@@ -307,4 +328,102 @@ describe('review evidence-preservation regressions', () => {
|
|
|
307
328
|
expect(redactProse(`${key}: fixture-secret here`).text).not.toContain('fixture-secret');
|
|
308
329
|
});
|
|
309
330
|
});
|
|
331
|
+
describe('credential syntax in uploaded narration', () => {
|
|
332
|
+
it.each(['--auth.token', '--spring.datasource.password'])('retains redaction for dotted credential options: %s', (flag) => {
|
|
333
|
+
const report = redactProse(`I ran deploy ${flag} "fixture-secret" --verbose.`);
|
|
334
|
+
expect(report.text).not.toContain('fixture-secret');
|
|
335
|
+
expect(report.text).toContain('--verbose.');
|
|
336
|
+
});
|
|
337
|
+
it.each([
|
|
338
|
+
"I ran deploy --password=$'fixture secret' retried.",
|
|
339
|
+
String.raw `I ran deploy --password=$'fixture\' secret' retried.`,
|
|
340
|
+
"I ran deploy --password=$'fixture'credential retried.",
|
|
341
|
+
String.raw `I set password=$'fixture\nsecret' retried.`,
|
|
342
|
+
])('redacts complete attached ANSI-C credential values: %s', (input) => {
|
|
343
|
+
const report = redactProse(input);
|
|
344
|
+
expect(report.text).not.toContain('fixture');
|
|
345
|
+
expect(report.text).not.toContain(' secret');
|
|
346
|
+
expect(report.text).not.toContain('credential');
|
|
347
|
+
expect(report.text).toContain('retried.');
|
|
348
|
+
});
|
|
349
|
+
it.each(['|', '>-', '|2+'])('redacts YAML sequence credentials with %s while preserving siblings', (marker) => {
|
|
350
|
+
const report = redactProse(`accounts:\n - password: ${marker}\n fixture-secret\n fixture-tail\n name: reader\n - name: second`);
|
|
351
|
+
expect(report.text).not.toContain('fixture');
|
|
352
|
+
expect(report.text).toContain(' name: reader\n - name: second');
|
|
353
|
+
expect(report.redactedCount).toBe(1);
|
|
354
|
+
});
|
|
355
|
+
it.each([
|
|
356
|
+
"{'password': 'first' 'fixture-tail', 'action': 'retry'}",
|
|
357
|
+
'{"password": "first" "fixture-tail", "action": "retry"}',
|
|
358
|
+
"{'password': 'first'\n'fixture-tail', 'action': 'retry'}",
|
|
359
|
+
])('redacts adjacent Python credential strings in %s', (input) => {
|
|
360
|
+
const report = redactProse(input);
|
|
361
|
+
expect(report.text).not.toContain('first');
|
|
362
|
+
expect(report.text).not.toContain('fixture-tail');
|
|
363
|
+
expect(report.text).toContain('retry');
|
|
364
|
+
});
|
|
365
|
+
it('preserves a quoted YAML sibling after a quoted credential', () => {
|
|
366
|
+
expect(redactProse("'password': 'fixture-secret'\n'action': 'retry'").text).toContain("'action': 'retry'");
|
|
367
|
+
});
|
|
368
|
+
it.each(['--tokenizer', '--secretary'])('preserves the unrelated quoted option %s', (flag) => {
|
|
369
|
+
const input = `I ran encode ${flag} "cl100k base" and compared the output.`;
|
|
370
|
+
expect(redactProse(input).text).toBe(input);
|
|
371
|
+
});
|
|
372
|
+
it.each([
|
|
373
|
+
"I ran deploy --password $'fixture credential' --verbose.",
|
|
374
|
+
String.raw `I ran deploy --password $'fixture\' credential' --verbose.`,
|
|
375
|
+
String.raw `I ran deploy --password $'fixture\ncredential' --verbose.`,
|
|
376
|
+
"I ran deploy --password $'fixture'credential --verbose.",
|
|
377
|
+
])('redacts ANSI-C quoted command credentials: %s', (input) => {
|
|
378
|
+
const report = redactProse(input);
|
|
379
|
+
expect(report.text).not.toContain('fixture');
|
|
380
|
+
expect(report.text).not.toContain('credential');
|
|
381
|
+
expect(report.text).toContain('--verbose.');
|
|
382
|
+
});
|
|
383
|
+
it.each(['--password', '--api-key', '--token', '--client-secret'])('redacts prose mentioning the %s command option', (flag) => {
|
|
384
|
+
const report = redactProse(`I ran deploy ${flag} "fixture secret with spaces" --verbose yesterday.`);
|
|
385
|
+
expect(report.text).not.toContain('fixture');
|
|
386
|
+
expect(report.text).not.toContain('with spaces');
|
|
387
|
+
expect(report.text).toContain('--verbose yesterday.');
|
|
388
|
+
expect(report.counts.assignment).toBeGreaterThan(0);
|
|
389
|
+
});
|
|
390
|
+
it.each(['|', '|-', '|+', '>', '>2-'])('redacts complete YAML credentials in %s block scalars', (marker) => {
|
|
391
|
+
const report = redactProse(`config:\n password: ${marker}\n fixture secret\n second secret line\n retries: 3\nNext step`);
|
|
392
|
+
expect(report.text).not.toContain('fixture');
|
|
393
|
+
expect(report.text).not.toContain('second secret line');
|
|
394
|
+
expect(report.text).toContain(' retries: 3\nNext step');
|
|
395
|
+
expect(report.counts.assignment).toBeGreaterThan(0);
|
|
396
|
+
});
|
|
397
|
+
it('redacts recursively serialized JSON inside prose while retaining benign fields', () => {
|
|
398
|
+
let value = JSON.stringify({
|
|
399
|
+
password: 'fixture private credential',
|
|
400
|
+
action: 'retry',
|
|
401
|
+
});
|
|
402
|
+
for (let depth = 0; depth < 4; depth += 1) {
|
|
403
|
+
value = JSON.stringify({ payload: value, count: 2 });
|
|
404
|
+
const report = redactProse(`I sent ${value} then retried.`);
|
|
405
|
+
expect(report.text).not.toContain('fixture');
|
|
406
|
+
expect(report.text).not.toContain('private credential');
|
|
407
|
+
expect(report.text).toContain('retry');
|
|
408
|
+
expect(report.text).toContain('then retried.');
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
it.each([
|
|
412
|
+
"{'password': 'fixture secret', 'action': 'retry'}",
|
|
413
|
+
'{\'api_key\': "fixture secret"}',
|
|
414
|
+
])('redacts single-quoted mapping keys in %s', (input) => {
|
|
415
|
+
const report = redactProse(input);
|
|
416
|
+
expect(report.text).not.toContain('fixture');
|
|
417
|
+
expect(report.text).not.toContain(' secret');
|
|
418
|
+
expect(report.counts.assignment).toBeGreaterThan(0);
|
|
419
|
+
});
|
|
420
|
+
it('preserves ordinary quoted narration and non-secret YAML blocks', () => {
|
|
421
|
+
for (const text of [
|
|
422
|
+
'I said "retry the migration".',
|
|
423
|
+
'notes: |\n keep this explanation\nretries: 3',
|
|
424
|
+
]) {
|
|
425
|
+
expect(redactProse(text).text).toBe(text);
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
});
|
|
310
429
|
//# sourceMappingURL=redact-prose.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact-prose.test.js","sourceRoot":"","sources":["../src/redact-prose.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"redact-prose.test.js","sourceRoot":"","sources":["../src/redact-prose.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Secret redaction and length-capping for shell command text.
|
|
3
3
|
*
|
|
4
4
|
* Command text can embed secrets or whole file bodies (heredocs, inline env
|
|
5
|
-
* vars). The CLI runs
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* vars). The CLI runs logged commands through this before creating an action
|
|
6
|
+
* summary. Recognized credential syntax is removed; arbitrary shell/tool
|
|
7
|
+
* programs remain an open language, so pattern scanning cannot prove that
|
|
8
|
+
* every surviving argument is credential-free.
|
|
9
9
|
*
|
|
10
10
|
* Lives in eval-core rather than the CLI because grading is what consumes the
|
|
11
11
|
* result: this is the boundary that decides what a grader may ever see of a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize-command.d.ts","sourceRoot":"","sources":["../src/sanitize-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"sanitize-command.d.ts","sourceRoot":"","sources":["../src/sanitize-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAu4BH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQvD"}
|