fix: mask secrets when characters get uri encoded

This commit is contained in:
Matt Travi
2020-11-16 10:36:40 -06:00
committed by Matt Travi
parent 63fa143023
commit ca90b34c4a
2 changed files with 14 additions and 1 deletions
+6 -1
View File
@@ -11,7 +11,12 @@ module.exports = (env) => {
return /token|password|credential|secret|private/i.test(envVar) && size(env[envVar].trim()) >= SECRET_MIN_SIZE;
});
const regexp = new RegExp(toReplace.map((envVar) => escapeRegExp(env[envVar])).join('|'), 'g');
const regexp = new RegExp(
toReplace
.map((envVar) => `${escapeRegExp(env[envVar])}|${encodeURI(escapeRegExp(env[envVar]))}`)
.join('|'),
'g'
);
return (output) =>
output && isString(output) && toReplace.length > 0 ? output.toString().replace(regexp, SECRET_REPLACEMENT) : output;
};