Besmirch means to dirty, stain, or damage someone's reputation. Smudge, sully, and grime are all synonyms - they refer to making something dirty or tarnished. Bleach (to whiten or clean) is the opposite action and is correctly identified as NOT a synonym.