The rubber (likely rubber) cap is "leaking". Sometimes some di-electric grease applied inside the cap will stop the shock...
The coil isn't bad, just the end where the wire connector is... If the grease doesn't help, you can get an Echo spark plug end which just puts a pin into the wire, you slide the cap back on and that holds it..
good as new..