mirror of
https://github.com/actions/runner.git
synced 2025-12-20 06:29:53 +00:00
Add masks for multiline secrets from ::add-mask:: (#1521)
* Add mask for multiline secrets. * .
This commit is contained in:
@@ -381,6 +381,13 @@ namespace GitHub.Runner.Worker
|
||||
|
||||
HostContext.SecretMasker.AddValue(command.Data);
|
||||
Trace.Info($"Add new secret mask with length of {command.Data.Length}");
|
||||
|
||||
// Also add each individual line. Typically individual lines are processed from STDOUT of child processes.
|
||||
var split = command.Data.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
||||
foreach (var item in split)
|
||||
{
|
||||
HostContext.SecretMasker.AddValue(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,12 +22,13 @@ namespace GitHub.Runner.Worker
|
||||
{
|
||||
private readonly TimeSpan _workerStartTimeout = TimeSpan.FromSeconds(30);
|
||||
private ManualResetEvent _completedCommand = new ManualResetEvent(false);
|
||||
|
||||
|
||||
// Do not mask the values of these secrets
|
||||
private static HashSet<String> SecretVariableMaskWhitelist = new HashSet<String>(StringComparer.OrdinalIgnoreCase){
|
||||
private static HashSet<String> SecretVariableMaskWhitelist = new HashSet<String>(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
Constants.Variables.Actions.StepDebug,
|
||||
Constants.Variables.Actions.RunnerDebug
|
||||
};
|
||||
};
|
||||
|
||||
public async Task<int> RunAsync(string pipeIn, string pipeOut)
|
||||
{
|
||||
@@ -138,10 +139,10 @@ namespace GitHub.Runner.Worker
|
||||
HostContext.SecretMasker.AddValue(value);
|
||||
|
||||
// Also add each individual line. Typically individual lines are processed from STDOUT of child processes.
|
||||
var split = value.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
var split = value.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
|
||||
foreach (var item in split)
|
||||
{
|
||||
HostContext.SecretMasker.AddValue(item.Trim());
|
||||
HostContext.SecretMasker.AddValue(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user