Yuri is a skilled computer security expert who attempts to break into the systems belonging to his clients. He has permission from the clients to perform this testing as part of a paid contract. What type of person is Yuri?

a) Cracker
b) White-hat hacker
c) Black-hat hacker
d) Grey-hat hacker