If someone attacks you at any time and they have a shield up, then they probably attacked you by using revenge. This means you are attacking them at some other time and they are probably waiting for Baal to punish you. This is all within the bounds of the game and you have several options to deal with it, including using a shield yourself, or not attacking them at other times so they don't have the option to revenge you.