http://codesnippets.joyent.com/posts/show/30 tells us nicely how to remove a file that has a filename starting with dash "-".
The easiest ways are:
% rm ./-badfile
or
% rm -- -badfile
A more involoved way is to find the inode number and delete by the inode num:
% ls -li
% find . -inum 12345
% find . -inum 12345 -exec rm {} \;