diff --git a/agent/processsecurity/isdelve/isdelve.go b/agent/processsecurity/isdelve/isdelve.go new file mode 100644 index 0000000..32e3f21 --- /dev/null +++ b/agent/processsecurity/isdelve/isdelve.go @@ -0,0 +1,6 @@ +//go:build delve +// +build delve + +package isdelve + +const Enabled = true diff --git a/agent/processsecurity/isdelve/nodelve.go b/agent/processsecurity/isdelve/nodelve.go new file mode 100644 index 0000000..9980de0 --- /dev/null +++ b/agent/processsecurity/isdelve/nodelve.go @@ -0,0 +1,6 @@ +//go:build !delve +// +build !delve + +package isdelve + +const Enabled = false diff --git a/agent/processsecurity/unix.go b/agent/processsecurity/unix.go index ca71f7b..b1e9370 100644 --- a/agent/processsecurity/unix.go +++ b/agent/processsecurity/unix.go @@ -6,13 +6,18 @@ import ( "time" "github.com/godbus/dbus/v5" + "github.com/quexten/goldwarden/agent/processsecurity/isdelve" "golang.org/x/sys/unix" ) const IDLE_TIME = 60 * 15 func DisableDumpable() error { - return unix.Prctl(unix.PR_SET_DUMPABLE, 0, 0, 0, 0) + if isdelve.Enabled { + return nil + } else { + return unix.Prctl(unix.PR_SET_DUMPABLE, 0, 0, 0, 0) + } } func MonitorLocks(onlock func()) error {