Assailant

Noun

 * 1) Someone who attacks or assails another violently, or criminally; an attacker.
 * 2)  A hostile critic or opponent.

Thesaurus
adversary; aggressor; antagonist; assailer; assaulter; attacker; combatant; enemy; foe; foeman; invader; mugger; opponent; opposing party; opposite camp; raider; the loyal opposition; the opposition