Wouldn't this block be easier to read as a switch/case?
```go
		splitStep := strings.Split(step, " ")
		stepInstruction := strings.ToLower(strings.Trim(splitStep[0], " "))
		switch stepInstruction {
		case "onbuild":
			return fmt.Errorf("Source image contains forbidden chained `ONBUILD ONBUILD` trigger: %s", step)
		case "maintainer", "from":
			return fmt.Errorf("Source image contains forbidden chained %s trigger: %s", stepInstruction, step)
		}
```