@mossbear/eval-core 0.1.0-alpha.104 → 0.1.0-alpha.105

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-command.js","sourceRoot":"","sources":["../src/sanitize-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sanitize-command.js","sourceRoot":"","sources":["../src/sanitize-command.ts"],"names":[],"mappings":"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"}
@@ -214,6 +214,172 @@ describe('command disclosure regressions', () => {
214
214
  ])
215
215
  expect(sanitizeCommand(input)).not.toContain('fixture-continued');
216
216
  });
217
+ it('redacts the value of a credential flag that follows another credential flag', () => {
218
+ // The first flag's rule takes the second flag as its value; the second
219
+ // flag's own value must not escape because of it.
220
+ for (const input of [
221
+ 'x --password \n --token reader:fixture-visible',
222
+ 'x --password --token reader:fixture-visible',
223
+ 'x --password\t--token\treader:fixture-visible',
224
+ 'x --password\n--token\nreader:fixture-visible',
225
+ 'x --password \\\n --token reader:fixture-visible',
226
+ 'x --password "--token" reader:fixture-visible',
227
+ "x --password '--api-key' reader:fixture-visible",
228
+ 'x --password --token --client-secret reader:fixture-visible',
229
+ 'x `--password\n --token reader:fixture-visible`',
230
+ 'x $(tool --password --token reader:fixture-visible)',
231
+ "sh -c 'tool --password --token reader:fixture-visible'",
232
+ 'bash -c "tool --password --token reader:fixture-visible"',
233
+ 'env tool --password --token reader:fixture-visible',
234
+ 'sudo tool --password --token reader:fixture-visible',
235
+ 'x --password --token abc--fixture-visible',
236
+ 'x --password --token "a b--fixture-visible" --verbose',
237
+ "bash -c $'x --password --token \\\\\\n reader:fixture-visible'",
238
+ ])
239
+ expect(sanitizeCommand(input)).not.toContain('fixture-visible');
240
+ });
241
+ it('redacts a long credential chain without stalling the hook', () => {
242
+ // Each shape took minutes before the chain's key test stopped
243
+ // backtracking and a chain stopped at words another chain had left.
244
+ for (const input of [
245
+ `x --password --token ${'token'.repeat(4000)}`,
246
+ `x --password --${'token'.repeat(4000)}! y`,
247
+ `x ${Array.from({ length: 4000 }, () => '--token').join(' ')} fixture-visible`,
248
+ ]) {
249
+ const output = sanitizeCommand(input);
250
+ expect(output).not.toContain('fixture-visible');
251
+ expect(output).not.toContain('tokentoken');
252
+ }
253
+ });
254
+ it('keeps redacting what a credential flag swallowed on its own', () => {
255
+ expect(sanitizeCommand('x --password\nfixture-secret')).toBe('x --password\n[redacted]');
256
+ expect(sanitizeCommand('x --password --token fixture-visible')).toBe('x --password [redacted] [redacted]');
257
+ expect(sanitizeCommand('x --password --token=fixture-visible')).toBe('x --password [redacted]');
258
+ // A swallowed word that is not a credential flag ends the chain there.
259
+ expect(sanitizeCommand('x --password --verbose fixture-kept')).toBe('x --password [redacted] fixture-kept');
260
+ expect(sanitizeCommand('x --password --token; echo fixture-kept')).toBe('x --password [redacted]; echo fixture-kept');
261
+ // Following the chain must not hide a flag a later rule reads: here the
262
+ // newline-crossing rule redacts --PASSWORD's value only while the flag
263
+ // itself is still in the text.
264
+ for (const input of [
265
+ 'x $\'--credentials\' "--token" --PASSWORD \n fixture-visible',
266
+ 'tool --auth-token\t\\\n\t--token\treader:fixture-visible',
267
+ 'bash -c "x --password \'--token\' \\\\\n --api-key=fixture-visible"',
268
+ ])
269
+ expect(sanitizeCommand(input)).not.toContain('fixture-visible');
270
+ });
271
+ it('redacts a credential flag value after a tool password flag swallowed the flag', () => {
272
+ // Each tool flag takes the next word as its value; when that word is a
273
+ // credential flag, the flag's own value must not escape.
274
+ for (const [input, output] of [
275
+ [
276
+ 'redis-cli -a --token reader:fixture-visible',
277
+ 'redis-cli -a [redacted] [redacted]',
278
+ ],
279
+ [
280
+ 'redis-cli --pass --token reader:fixture-visible',
281
+ 'redis-cli --pass [redacted] [redacted]',
282
+ ],
283
+ [
284
+ 'sshpass -p --token reader:fixture-visible ssh host',
285
+ 'sshpass -p [redacted] [redacted] ssh host',
286
+ ],
287
+ [
288
+ 'curl --user --token reader:fixture-visible https://example.test',
289
+ 'curl --user [redacted] [redacted] https://example.test',
290
+ ],
291
+ [
292
+ 'curl -u --token reader:fixture-visible https://example.test',
293
+ 'curl -u [redacted] [redacted] https://example.test',
294
+ ],
295
+ ])
296
+ expect(sanitizeCommand(input)).toBe(output);
297
+ for (const input of [
298
+ 'redis-cli --cluster-from-pass --token reader:fixture-visible',
299
+ 'valkey-cli -a --api-key fixture-visible',
300
+ 'REDIS-CLI.exe -a --token fixture-visible',
301
+ 'sshpass -4p --token fixture-visible ssh host',
302
+ 'openssl enc -k --token fixture-visible',
303
+ 'openssl enc -K --secret fixture-visible',
304
+ 'curl -U --token reader:fixture-visible https://example.test',
305
+ 'curl --proxy-user --token reader:fixture-visible https://example.test',
306
+ 'curl --oauth2-bearer --token fixture-visible https://example.test',
307
+ 'curl --cookie --token fixture-visible https://example.test',
308
+ 'curl -su --token reader:fixture-visible https://example.test',
309
+ 'http -a --token reader:fixture-visible example.test',
310
+ 'httpie --auth --token reader:fixture-visible example.test',
311
+ // Variants: separators, quoting, chains and wrappers.
312
+ 'redis-cli -a\t--token\treader:fixture-visible',
313
+ 'redis-cli -a --token\nreader:fixture-visible',
314
+ 'redis-cli -a \\\n --token \\\n reader:fixture-visible',
315
+ 'redis-cli -a "--token" reader:fixture-visible',
316
+ "curl -u '--api-key' reader:fixture-visible https://example.test",
317
+ 'curl -u --token --client-secret fixture-visible https://example.test',
318
+ "sh -c 'redis-cli -a --token reader:fixture-visible'",
319
+ 'bash -c "curl -u --token reader:fixture-visible https://example.test"',
320
+ 'echo $(sshpass -p --token fixture-visible ssh host)',
321
+ 'echo `redis-cli -a --token fixture-visible`',
322
+ 'sudo -u root redis-cli -a --token fixture-visible',
323
+ 'env FOO=1 curl --user --token reader:fixture-visible https://example.test',
324
+ // A curl config field takes the flag too, on a later line as well.
325
+ 'echo -- --pass --token fixture-visible | curl -K -',
326
+ 'echo -- -u --token reader:fixture-visible | curl -K -',
327
+ 'echo -- oauth2-bearer --token fixture-visible | curl -K -',
328
+ 'echo -- oauth2-bearer --access-token\nfixture-visible | curl -K -',
329
+ ])
330
+ expect(sanitizeCommand(input)).not.toContain('fixture-visible');
331
+ });
332
+ it('leaves a header name in a credential chain for the header rules to read', () => {
333
+ // A chain that redacted `Cookie:` would hide the cookie value from the
334
+ // header rule, which reads the name and the next word together.
335
+ for (const [input, output] of [
336
+ [
337
+ 'redis-cli -a --token Cookie: session=fixture-visible',
338
+ 'redis-cli -a [redacted] Cookie: [redacted]',
339
+ ],
340
+ [
341
+ 'curl -u --token Set-Cookie: session=fixture-visible',
342
+ 'curl -u [redacted] Set-Cookie: [redacted]',
343
+ ],
344
+ [
345
+ 'x --password --token Cookie: session=fixture-visible',
346
+ 'x --password [redacted] Cookie: [redacted]',
347
+ ],
348
+ [
349
+ 'x --password --token\nCookie: session=fixture-visible',
350
+ 'x --password [redacted]\nCookie: [redacted]',
351
+ ],
352
+ [
353
+ 'redis-cli -a --token Authorization: Bearer fixture-visible',
354
+ 'redis-cli -a [redacted] Authorization: [redacted]',
355
+ ],
356
+ ])
357
+ expect(sanitizeCommand(input)).toBe(output);
358
+ for (const input of [
359
+ 'echo -- --pass --token Cookie: session=fixture-visible | curl -K -',
360
+ "bash -c 'redis-cli -a --token Cookie: session=fixture-visible'",
361
+ 'redis-cli -a --token cookie:session=fixture-visible',
362
+ ])
363
+ expect(sanitizeCommand(input)).not.toContain('fixture-visible');
364
+ });
365
+ it('keeps what main redacts and kept around a tool password flag', () => {
366
+ // The tool flag's own value is still redacted when no chain follows it.
367
+ expect(sanitizeCommand('redis-cli -a fixture-secret ping')).toBe('redis-cli -a [redacted] ping');
368
+ expect(sanitizeCommand('curl -u reader:fixture-secret https://example.test')).toBe('curl -u [redacted] https://example.test');
369
+ // A swallowed word that is not a credential flag ends the chain: a Redis
370
+ // command after the password stays readable.
371
+ expect(sanitizeCommand('redis-cli -a --verbose ping')).toBe('redis-cli -a [redacted] ping');
372
+ // So does a flag that carries its own value, and an operator.
373
+ expect(sanitizeCommand('redis-cli -a --token=fixture-visible ping')).toBe('redis-cli -a [redacted] ping');
374
+ expect(sanitizeCommand('redis-cli -a --token; echo fixture-kept')).toBe('redis-cli -a [redacted]; echo fixture-kept');
375
+ // `--pass` is not a credential key, so the word after it is not its value.
376
+ expect(sanitizeCommand('redis-cli -a --pass ping')).toBe('redis-cli -a [redacted] ping');
377
+ // Flags that never swallow the next word as a credential still leave it
378
+ // to the space-separated rule.
379
+ expect(sanitizeCommand('mysql --password --token fixture-visible')).toBe('mysql --password [redacted] [redacted]');
380
+ expect(sanitizeCommand('openssl enc -pass --token fixture-visible')).toBe('openssl enc -pass --token [redacted]');
381
+ expect(sanitizeCommand('curl -x --token fixture-visible https://example.test')).toBe('curl -x --token [redacted] https://example.test');
382
+ });
217
383
  it('redacts token-only URL userinfo and URL query credentials', () => {
218
384
  for (const input of [
219
385
  'curl https://fixture-userinfo@example.test/',
@@ -864,4 +1030,233 @@ describe('credential syntax at the command upload boundary', () => {
864
1030
  });
865
1031
  });
866
1032
  });
1033
+ describe('credential-tool names outside command position', () => {
1034
+ // A path argument whose basename spells a credential tool names a file, not an
1035
+ // invocation: the words after it keep their meaning.
1036
+ it.each([
1037
+ 'cat ./bin/curl -u reader:visible',
1038
+ 'ls ./bin/curl image:tag@sha256:abc123',
1039
+ 'cat scripts/http image:tag@sha256:abc123',
1040
+ 'chmod +x ./bin/openssl -k visible-file',
1041
+ 'grep -r key /etc/openssl -K visible-file',
1042
+ 'cat bin/mysql -pvisible',
1043
+ 'cat tools/redis-cli -a visible-file',
1044
+ 'cat bin/sshpass -p visible-file',
1045
+ 'sudo cat ./bin/curl -u reader:visible',
1046
+ 'sudo -u deploy env MODE=1 cat ./bin/curl -u reader:visible',
1047
+ 'sudo -E cat ./bin/curl -u reader:visible',
1048
+ 'sudo --preserve-env=HOME cat ./bin/curl -u reader:visible',
1049
+ 'env -i cat ./bin/curl -u reader:visible',
1050
+ 'xargs -0 cat ./bin/curl -u reader:visible',
1051
+ 'time -p cat ./bin/curl -u reader:visible',
1052
+ '/usr/bin/cat ./bin/curl -u reader:visible',
1053
+ ])('keeps the arguments of a program that never runs them: %s', (command) => {
1054
+ expect(sanitizeCommand(command)).toBe(command);
1055
+ });
1056
+ it('does not read curl configuration from a file argument named curl', () => {
1057
+ const command = 'cat bin/curl -K cfg; echo user = reader:visible';
1058
+ expect(sanitizeCommand(command)).toBe(command);
1059
+ });
1060
+ it.each(['echo', 'printf'])('does not treat a file argument named %s as a configuration producer', (producer) => {
1061
+ const command = `curl -K cfg https://example.test; ls bin/${producer} -u reader:visible`;
1062
+ expect(sanitizeCommand(command)).toBe(command);
1063
+ });
1064
+ const familyInvocations = [
1065
+ ['curl', 'curl -u reader:fixture-password https://example.test'],
1066
+ ...['http', 'https', 'httpie'].map((tool) => [tool, `${tool} -a reader:fixture-password example.test`]),
1067
+ ['openssl', 'openssl enc -aes-256-cbc -pass pass:fixture-password -in public-file'],
1068
+ ['sshpass', 'sshpass -p fixture-password ssh deploy@host'],
1069
+ ...['redis-cli', 'valkey-cli'].map((tool) => [tool, `${tool} -a fixture-password get k`]),
1070
+ ...[
1071
+ 'mysql',
1072
+ 'mariadb',
1073
+ 'mysqldump',
1074
+ 'mysqladmin',
1075
+ 'mariadb-dump',
1076
+ 'mariadb-admin',
1077
+ ].map((tool) => [tool, `${tool} -pfixture-password db`]),
1078
+ ];
1079
+ it.each(familyInvocations)('still redacts a real /usr/bin/%s invocation', (_, command) => {
1080
+ for (const prefix of [
1081
+ '/usr/bin/',
1082
+ 'cat notes.txt && /usr/bin/',
1083
+ 'sudo /usr/bin/',
1084
+ ]) {
1085
+ const output = sanitizeCommand(`${prefix}${command}`);
1086
+ expect(output).not.toContain('fixture-password');
1087
+ expect(output).toContain('[redacted]');
1088
+ }
1089
+ });
1090
+ it.each([
1091
+ 'watch -n 5 curl -u reader:fixture-password https://example.test',
1092
+ String.raw `find . -exec /usr/bin/curl -u reader:fixture-password https://example.test \;`,
1093
+ 'ssh deploy@host /usr/bin/curl -u reader:fixture-password https://example.test',
1094
+ 'xargs /usr/bin/curl -u reader:fixture-password https://example.test',
1095
+ 'echo curl -u reader:fixture-password',
1096
+ // A wrapper option the table does not model may take the next word as its
1097
+ // value, so that word is not trusted as the program the wrapper runs.
1098
+ 'xargs --process-slot-var cat curl -u reader:fixture-password https://example.test',
1099
+ 'sudo -U cat curl -u reader:fixture-password https://example.test',
1100
+ 'env -P ls curl -u reader:fixture-password https://example.test',
1101
+ 'sudo -U env cat curl -u reader:fixture-password https://example.test',
1102
+ // A local script named like a listed program may run anything.
1103
+ './tools/diff curl -u reader:fixture-password https://example.test',
1104
+ '/opt/bin/cat curl -u reader:fixture-password https://example.test',
1105
+ 'cat x; sudo -u root ./scripts/cat curl -u reader:fixture-password https://example.test',
1106
+ // A redirection operand names a file, not the command that runs.
1107
+ '>file curl -u reader:fixture-password https://example.test',
1108
+ '< cat curl -u reader:fixture-password https://example.test',
1109
+ '>|ls /usr/bin/curl -u reader:fixture-password https://example.test',
1110
+ '>file echo user = reader:fixture-password | curl -K - https://example.test',
1111
+ // A backtick substitution runs its own command under any outer one.
1112
+ 'cat `/usr/bin/curl -u reader:fixture-password https://example.test`',
1113
+ ])('still redacts a tool dispatched by a program it does not model: %s', (command) => {
1114
+ expect(sanitizeCommand(command)).not.toContain('fixture-password');
1115
+ });
1116
+ });
1117
+ describe('backtick command substitutions', () => {
1118
+ // One command per credential-tool family, plus a URI and an assignment.
1119
+ const bodies = [
1120
+ 'curl -u reader:fixture-visible https://example.test',
1121
+ 'http -a reader:fixture-visible https://example.test',
1122
+ 'openssl enc -aes-256-cbc -pass pass:fixture-visible -in notes.txt',
1123
+ 'sshpass -p fixture-visible ssh deploy@host',
1124
+ 'redis-cli -a fixture-visible ping',
1125
+ 'valkey-cli --pass fixture-visible ping',
1126
+ 'mysql -pvisible app',
1127
+ 'curl https://reader:fixture-visible@example.test',
1128
+ 'redis-cli -u redis://reader:fixture-visible@cache.test ping',
1129
+ 'TOKEN=fixture-visible ./deploy',
1130
+ 'tool --password fixture-visible',
1131
+ ];
1132
+ const forms = [
1133
+ ['after echo', (body) => `echo \`${body}\``],
1134
+ ['after cat', (body) => `cat \`${body}\``],
1135
+ ['as the command', (body) => `\`${body}\``],
1136
+ ['as an assignment value', (body) => `out=\`${body}\``],
1137
+ ['inside double quotes', (body) => `echo "\`${body}\`"`],
1138
+ ['inside single quotes', (body) => `echo '\`${body}\`'`],
1139
+ ['escaped', (body) => `echo \\\`${body}\\\``],
1140
+ ['nested', (body) => `echo \`echo \\\`${body}\\\`\``],
1141
+ ['after a separator inside', (body) => `echo \`cd /tmp; ${body}\``],
1142
+ ['after a pipe inside', (body) => `echo \`true | ${body}\``],
1143
+ ['inside $(…)', (body) => `echo $(echo \`${body}\`)`],
1144
+ ['inside <(…)', (body) => `diff <(echo \`${body}\`) notes.txt`],
1145
+ ['unterminated', (body) => `echo \`${body}`],
1146
+ ];
1147
+ it.each(forms.flatMap(([form, wrap]) => bodies.map((body) => [form, wrap(body)])))('redacts a credential in a backtick substitution %s: %s', (_, command) => {
1148
+ const output = sanitizeCommand(command);
1149
+ expect(output).not.toContain('visible');
1150
+ expect(output).toContain('[redacted]');
1151
+ });
1152
+ it('keeps the rest of the substitution, as for $(…)', () => {
1153
+ expect(sanitizeCommand('echo `curl -u reader:fixture-visible https://example.test`')).toBe('echo `curl -u [redacted] https://example.test`');
1154
+ expect(sanitizeCommand('echo `mysql -pvisible app` done')).toBe('echo `mysql -p[redacted] app` done');
1155
+ expect(sanitizeCommand('echo \\`curl -u reader:fixture-visible https://example.test\\`')).toBe('echo \\`curl -u [redacted] https://example.test\\`');
1156
+ expect(sanitizeCommand('echo `echo \\`curl -u reader:fixture-visible https://example.test\\``')).toBe('echo `echo \\`curl -u [redacted] https://example.test\\``');
1157
+ // Escapes the body carried come back as they were written.
1158
+ expect(sanitizeCommand("echo `printf 'a\\nb'; echo \\$HOME; curl -u reader:fixture-visible https://example.test`")).toBe("echo `printf 'a\\nb'; echo \\$HOME; curl -u [redacted] https://example.test`");
1159
+ });
1160
+ it('redacts everything after an unterminated backtick', () => {
1161
+ expect(sanitizeCommand('echo `curl -u reader:fixture-visible https://example.test')).toBe('echo `[redacted]');
1162
+ expect(sanitizeCommand('echo `date` `printf fixture-visible')).toBe('echo `date` `[redacted]');
1163
+ });
1164
+ it('links curl config across the substitution boundary', () => {
1165
+ for (const command of [
1166
+ 'echo `echo user = reader:fixture-visible | curl -K - https://example.test`',
1167
+ '`echo user = reader:fixture-visible` | curl -K - https://example.test',
1168
+ 'echo user = reader:fixture-visible | `curl -K - https://example.test`',
1169
+ ]) {
1170
+ const output = sanitizeCommand(command);
1171
+ expect(output).not.toContain('visible');
1172
+ }
1173
+ });
1174
+ // Redacting the body must not hide which outer assignment it reads.
1175
+ it.each([
1176
+ `export VALUE=fixture-visible; echo \`sh -c 'curl --variable %VALUE --expand-header "Authorization: {{VALUE}}" https://example.test'\``,
1177
+ `export VALUE=fixture-visible; echo \`curl --variable %VALUE --expand-header "Authorization: {{VALUE}}" https://example.test\``,
1178
+ ])('redacts an outer assignment a substitution expands: %s', (command) => {
1179
+ expect(sanitizeCommand(command)).not.toContain('visible');
1180
+ });
1181
+ // A substitution inside a word must not split the word from its reference.
1182
+ it.each([
1183
+ 'export VALUE=:fixture-visible; sh -c "curl --variable %VALUE --expand-user `whoami`{{VALUE}} https://example.test"',
1184
+ 'export VALUE=:fixture-visible; curl --variable %VALUE --expand-user `whoami`{{VALUE}} https://example.test',
1185
+ ])('redacts an assignment a word expands after a substitution: %s', (command) => {
1186
+ expect(sanitizeCommand(command)).not.toContain('visible');
1187
+ });
1188
+ // Rewriting part of a body must not strand a header's value.
1189
+ it.each([
1190
+ 'echo \'`echo "`curl -H "Authorization: fixture-visible" https://example.test`"`\'',
1191
+ 'echo `echo "`curl -H "Authorization: fixture-visible" https://example.test`"`',
1192
+ 'TOKEN=`date`; echo `echo "`curl -H "Authorization: fixture-visible" https://example.test`"`',
1193
+ ])('redacts a header split across substitution bodies: %s', (command) => {
1194
+ expect(sanitizeCommand(command)).not.toContain('visible');
1195
+ });
1196
+ // A substitution elsewhere must not hide which curl variable a header reads.
1197
+ it.each([
1198
+ 'curl --variable value=fixture-visible --expand-header "Authorization: {{value}}" https://example.test; echo `date`',
1199
+ 'curl --variable value=fixture-visible --expand-url "https://u:{{value}}@example.test" `date`',
1200
+ 'curl --variable value=fixture-visible --expand-url "https://example.test/?token={{value}}" `date`',
1201
+ ])('redacts an inline curl variable beside a substitution: %s', (command) => {
1202
+ expect(sanitizeCommand(command)).not.toContain('visible');
1203
+ });
1204
+ // A substitution elsewhere must not cut a quoted value short in a script.
1205
+ it.each([
1206
+ 'sh -c "tool --password \\"a fixture-visible\\""; echo `date`',
1207
+ 'sh -c "curl -H \\"Authorization: Bearer a fixture-visible\\" https://example.test"; echo `date`',
1208
+ ])('redacts a spaced value in an escaped script beside a substitution: %s', (command) => {
1209
+ expect(sanitizeCommand(command)).not.toContain('visible');
1210
+ });
1211
+ // Inside double quotes a backtick body also escapes `"`.
1212
+ it.each([
1213
+ 'sh -c "echo `tool --password \\"a fixture-visible\\"`"',
1214
+ 'echo "`tool --password \\"a fixture-visible\\"`"',
1215
+ ])('redacts a spaced value in a double-quoted substitution: %s', (command) => {
1216
+ expect(sanitizeCommand(command)).not.toContain('visible');
1217
+ });
1218
+ // Bash ends a body at the first unescaped backtick: single quotes inside it
1219
+ // hide none, and an escaped one is part of the body.
1220
+ it.each([
1221
+ 'echo "`sh -c \'echo \\`tool --password \\"a fixture-visible\\"\\`\'`"',
1222
+ 'echo `sh -c \'echo \\`tool --password "a fixture-visible"\\`\'`',
1223
+ 'echo "`sh -c \'echo \\`curl -u reader:fixture-visible https://example.test\\`\'`"',
1224
+ ])('redacts a body whose escaped backtick sits in single quotes: %s', (command) => {
1225
+ expect(sanitizeCommand(command)).not.toContain('visible');
1226
+ });
1227
+ // The word a header value continues into is still the value.
1228
+ it.each([
1229
+ 'curl -H "Cookie: sid=fixture-visible"more-visible https://example.test; echo `date`',
1230
+ 'curl -H "Cookie: sid=fixture-visible"more-visible `date`',
1231
+ 'echo "Cookie: sid=fixture-visible"more-visible `date`',
1232
+ // Redacting the first header early must not strand the second.
1233
+ 'x= "Cookie: sid=fixture-visible""Authorization: {{VALUE}}" PASSWORD="`id`" { "Cookie: sid=fixture-visible"',
1234
+ ])('redacts a header value that runs past its quote beside a substitution: %s', (command) => {
1235
+ expect(sanitizeCommand(command)).not.toContain('visible');
1236
+ });
1237
+ // Quoting the parser cannot follow leaves a backtick on the tool's word.
1238
+ it.each([
1239
+ "echo '`curl -u reader:fixture-visible https://example.test",
1240
+ 'echo ``curl -u reader:fixture-visible https://example.test',
1241
+ "echo `echo '`' `curl -u reader:fixture-visible https://example.test`",
1242
+ ])('redacts a tool whose word carries a backtick: %s', (command) => {
1243
+ expect(sanitizeCommand(command)).not.toContain('visible');
1244
+ });
1245
+ it.each([
1246
+ 'echo `date`',
1247
+ 'git checkout `git rev-parse HEAD`',
1248
+ 'cat `which curl`',
1249
+ 'ls `pwd`/notes',
1250
+ 'echo "`whoami`"',
1251
+ // A quoted word with a space inside a body is not an unterminated backtick.
1252
+ 'x=`date "+%Y %m"`',
1253
+ 'echo `echo "a b"`',
1254
+ "echo `echo 'a b'`",
1255
+ 'echo "`date "+%Y %m"`"',
1256
+ String.raw `echo "a \` b"`,
1257
+ String.raw `echo \`date\``,
1258
+ ])('leaves a substitution with no credential unchanged: %s', (command) => {
1259
+ expect(sanitizeCommand(command)).toBe(command);
1260
+ });
1261
+ });
867
1262
  //# sourceMappingURL=sanitize-command.test.js.map