Skip to content

Commit f33944e

Browse files
committed
fix(sec): clear env vars
1 parent 06bb156 commit f33944e

File tree

5 files changed

+13
-35
lines changed

5 files changed

+13
-35
lines changed

Diff for: .vscode/launch.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"args": ["server", "--config", "${workspaceFolder}/.devcontainer/config.json"],
1111
"cwd": "${workspaceFolder}",
1212
"env": {
13-
"PATH": "${workspaceFolder}/.venv/bin:${env:PATH}"
13+
"PATH": "${workspaceFolder}/.venv/bin:${env:PATH}",
14+
"SEMAPHORE_ADMIN_PASSWORD": "test123"
1415
}
1516
},
1617
{

Diff for: db_lib/AnsiblePlaybook.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func (p AnsiblePlaybook) makeCmd(command string, args []string, environmentVars
2222
cmd := exec.Command(command, args...) //nolint: gas
2323
cmd.Dir = p.GetFullPath()
2424

25-
cmd.Env = removeSensitiveEnvs(os.Environ())
25+
cmd.Env = []string{}
2626

2727
cmd.Env = append(cmd.Env, fmt.Sprintf("HOME=%s", util.Config.TmpPath))
2828
cmd.Env = append(cmd.Env, fmt.Sprintf("PWD=%s", cmd.Dir))

Diff for: db_lib/LocalApp.go

-25
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,10 @@ package db_lib
22

33
import (
44
"os"
5-
"strings"
65

76
"github.com/ansible-semaphore/semaphore/pkg/task_logger"
87
)
98

10-
func removeSensitiveEnvs(envs []string) (res []string) {
11-
sensitives := []string{
12-
"SEMAPHORE_ACCESS_KEY_ENCRYPTION",
13-
"SEMAPHORE_ADMIN_PASSWORD",
14-
"SEMAPHORE_DB_USER",
15-
"SEMAPHORE_DB_NAME",
16-
"SEMAPHORE_DB_HOST",
17-
"SEMAPHORE_DB_PASS",
18-
"SEMAPHORE_LDAP_PASSWORD",
19-
"SEMAPHORE_RUNNER_TOKEN",
20-
"SEMAPHORE_RUNNER_ID",
21-
}
22-
23-
for _, e := range envs {
24-
for _, s := range sensitives {
25-
if !strings.HasPrefix(e, s+"=") {
26-
res = append(res, e)
27-
}
28-
}
29-
}
30-
31-
return res
32-
}
33-
349
type LocalApp interface {
3510
SetLogger(logger task_logger.Logger) task_logger.Logger
3611
InstallRequirements(environmentVars *[]string) error

Diff for: db_lib/ShellApp.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@ package db_lib
22

33
import (
44
"fmt"
5-
"github.com/ansible-semaphore/semaphore/db"
6-
"github.com/ansible-semaphore/semaphore/pkg/task_logger"
7-
"github.com/ansible-semaphore/semaphore/util"
85
"os"
96
"os/exec"
107
"strings"
118
"time"
9+
10+
"github.com/ansible-semaphore/semaphore/db"
11+
"github.com/ansible-semaphore/semaphore/pkg/task_logger"
12+
"github.com/ansible-semaphore/semaphore/util"
1213
)
1314

1415
type ShellApp struct {
@@ -44,7 +45,7 @@ func (t *ShellApp) makeCmd(command string, args []string, environmentVars *[]str
4445
cmd := exec.Command(command, args...) //nolint: gas
4546
cmd.Dir = t.GetFullPath()
4647

47-
cmd.Env = removeSensitiveEnvs(os.Environ())
48+
cmd.Env = []string{}
4849
cmd.Env = append(cmd.Env, fmt.Sprintf("HOME=%s", util.Config.TmpPath))
4950
cmd.Env = append(cmd.Env, fmt.Sprintf("PWD=%s", cmd.Dir))
5051

Diff for: db_lib/TerraformApp.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ package db_lib
22

33
import (
44
"fmt"
5-
"github.com/ansible-semaphore/semaphore/db"
6-
"github.com/ansible-semaphore/semaphore/pkg/task_logger"
7-
"github.com/ansible-semaphore/semaphore/util"
85
"os"
96
"os/exec"
107
"path"
118
"strings"
129
"time"
10+
11+
"github.com/ansible-semaphore/semaphore/db"
12+
"github.com/ansible-semaphore/semaphore/pkg/task_logger"
13+
"github.com/ansible-semaphore/semaphore/util"
1314
)
1415

1516
type TerraformApp struct {
@@ -37,7 +38,7 @@ func (t *TerraformApp) makeCmd(command string, args []string, environmentVars *[
3738
cmd := exec.Command(command, args...) //nolint: gas
3839
cmd.Dir = t.GetFullPath()
3940

40-
cmd.Env = removeSensitiveEnvs(os.Environ())
41+
cmd.Env = []string{}
4142
cmd.Env = append(cmd.Env, fmt.Sprintf("HOME=%s", util.Config.TmpPath))
4243
cmd.Env = append(cmd.Env, fmt.Sprintf("PWD=%s", cmd.Dir))
4344

0 commit comments

Comments
 (0)