Skip to content

Commit 3f1e77a

Browse files
Merge pull request #1419 from intuit/leaky-token
don't leak GH_TOKEN in exec promise output
2 parents 05bea0a + b8977ec commit 3f1e77a

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

packages/core/src/auto.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,7 @@ export default class Auto {
569569
this.logger.verbose.info(
570570
`Using remote: ${this.remote.replace(
571571
token,
572-
`****${token.substring(0, 4)}`
572+
`****${token.slice(-4)}`
573573
)}`
574574
);
575575
this.hooks.onCreateRelease.call(this.release);

packages/core/src/utils/__tests__/exec-promise.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ test("fails correctly", async () => {
2929
);
3030
});
3131

32+
test("fails correctly with GH_TOKEN", async () => {
33+
process.env.GH_TOKEN = '1234567890'
34+
expect.assertions(1);
35+
return expect(exec("false", [process.env.GH_TOKEN])).rejects.toMatchInlineSnapshot(
36+
`[Error: Running command 'false' with args [****7890] failed]`
37+
);
38+
});
39+
3240
test("appends stdout and stderr", async () => {
3341
expect.assertions(1);
3442
return expect(

packages/core/src/utils/exec-promise.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,15 @@ export default async function execPromise(
6666
let appendedStdErr = "";
6767
appendedStdErr += allStdout.length ? `\n\n${allStdout}` : "";
6868
appendedStdErr += allStderr.length ? `\n\n${allStderr}` : "";
69+
const argList = filteredArgs
70+
.join(", ")
71+
.replace(
72+
new RegExp(`${process.env.GH_TOKEN}`, "g"),
73+
`****${(process.env.GH_TOKEN || "").slice(-4)}`
74+
);
6975

7076
const error = new Error(
71-
`Running command '${cmd}' with args [${args.join(
72-
", "
73-
)}] failed${appendedStdErr}`
77+
`Running command '${cmd}' with args [${argList}] failed${appendedStdErr}`
7478
);
7579
error.stack = (error.stack || "") + callSite;
7680
reject(error);

0 commit comments

Comments
 (0)