feature/recipe_implementation #5
@ -75,9 +75,13 @@ func Load(path string, userParams map[string]any) (*Recipe, error) {
|
||||
safeMap := safeCommands()
|
||||
for _, cmd := range r.AllowedShellCommands {
|
||||
trimmed := strings.ToLower(strings.TrimSpace(cmd))
|
||||
|
||||
allowed := false
|
||||
for safe := range safeMap {
|
||||
if strings.HasPrefix(trimmed, safe) {
|
||||
safeTrim := strings.ToLower(strings.TrimSpace(safe))
|
||||
|
||||
// Match exact command OR command followed by space + arguments
|
||||
if trimmed == safeTrim || strings.HasPrefix(trimmed, safeTrim+" ") {
|
||||
allowed = true
|
||||
break
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user