You can try to rebuild LaunchServices database from Terminal:
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/LaunchServices.framework/Support/lsregister
-kill -r -domain local -domain system -domain user
There is a utility out there that does about all of the cleaning operations on a Mac O/S system, it's called Onyx and can be found on MacUpdate or thru your favorite search engine.
Go to the automate tab, check everything and let it run. Reboot when done. That should clean things up (caches, permissions, etc.) and is likely to fix this issue. It has for me.
Failing that my only other suggestion is to apply the latest combo update for El Capitan. Combo updates often fix a multitude of strange issues.
Best Answer
Do you have League of Legends installed on your Mac ? It seems to be the cause of the issue for many other mac players.
https://boards.na.leagueoflegends.com/en/c/bug-report/rA0p1rYx-client-updating-on-mac-high-sierra-messes-up-other-application-icons
Unfortunately there is nothing you can do until Riot acknowledged the problem and deploy a fix.