The most plausible explanation is that someone with access to your computer is messing with you. There's a number of ways of changing the computer's name shown at the command prompt (at least one doesn't involve touching your computer at all):
1. If your computer is given a name by the DHCP server (your Internet gateway, or whatever you are using), an individual can modify the name that the DHCP service gives your computer and your computer will simply adopt that name when receives its IP address assignment. (Doesn't require access to your computer.)
2. If your computer didn't get assigned a host name by DHCP, then the system will do a reverse DNS lookup on the IP address it gets. If the DNS server (or /etc/hosts) returns 'virus' as the host name for that IP address, then your system will use that name. (Doesn't require access to your computer.)
3. If neither of the first two things happened, the system will use the name you set in the Sharing pane of System Preferences. (Someone can set this by simply walking up to your computer and setting it, or by logging in with an admin account and editing /Library/Preference/SystemConfiguration/preferences.plist).
4. Someone could also edit the default prompt used by bash. The environment variable PS1 contains the prompt template string, the default being PS1='\h:\W \u\$ ' -- the '\h' means host name. You can do
'echo $PS1' to see if it's set this way. PS1 can be set in /etc/profile, /etc/bashrc, ~/.profile, and ~/.bashrc
There's a couple of other possibilities if you are integrating with Active Directory or Open Directory