At once the term "hacker" may have accompanied all programmers to some extent, but I view it as someone who tears code apart.
Reverse engineering, deconstructing, picking apart. Being curious about a system and picking at it so much you find flaws in it.
I'd also consider engineers that hack things together. Being creative with what you have, also helps when stringing vulnerabilities together.
Creativity and curiosity are good traits of a hacker and being a hacker is a good trait of a programmer.
Perhaps that leads them to ask questions, play a little, explore in their own way, unexpectedly so.