How would I go about fixing this? I am completely stumped.
Diagnosis first, solution second:
From the looks of it you used automatic weigthing (probably heat-based) and in the bind pose the IK bone finger1.L.IK is very close to both the belly and the finger, so both places are automatically weigthed to the IK bone. Anything you move that moves the IK bone will therefor will move the belly. This problem exists for all of your IK bones, they all have weights when they really should not deform anything, they are just helpers to move the real deform bones like finger1.L, finger1.L.001.
Your IK targets generally should not have any vertices weigthed to them if you only want to use them to drive your real deform bones. To make sure automatic weighting doesn't use helper bones, select them and switch off the deform option by clicking Armature>Bone Settings>Deform in the 3d View menu bar or by pressing SHIFTW and selecting
deform (just unchecking the checkbox only changes the setting for the currently selected bone!):
Notice that I did not switch deform off for the IK targets of the feet, because you are using those as both an IK target and deform bones for the feet!
When you are done with this you have to redo the weigths.
Select the mesh ALTP then select
Clear Parent and finally you can parent the mesh to the armature again like you did before and create automatic weigths again.
I've attached my result as a .blend file, so you can have a look if you have any further problems.
Additional Infos on Rigging
If you want a really incredibly great and thorough introduction to rigging, take a look at 'Humane Rigging' in the Blender Shop or on Youtube. It's not for the current version of Blender, but it is the best I know of (my knowledge of Blender rigging is dated too, I should add).