A computer hacker is an online security expert who exploits weaknesses in a computer system or network. The term 'white hat' refers to hackers who operate for non-malicious reasons, for example, testing security systems for large companies. A 'black hat' is a hacker driven by malice or personal gain. A 'grey' hat usually hacks a system to point out a security flaw, then offers to fix it for a fee.