How to fight static charge/constant electromagnetic on Arduino (attachInterrupt)
The problem occurs due to Arduino's inputs being in high impedance state by default. In effect, they are capacitive sensors.

You need to enable pull-up on the pin you are using as input:


  pinMode(2, INPUT);
  digitalWrite(2, HIGH); // Enable internal 20 kOhm pull-up resistor for this pin


If this is not done, although the pins do default to inputs, they float, as you have discovered.  

No other changes need to be made, and certainly no hardware changes are needed.