software compromise