On the other hand, a virus is something that can embed itself into a host program’s code in order to self-replicate and spread. It acts on its own without being triggered by user action, as is the case with a Trojan. Lastly, you have a worm which is also a type of malware that can spread without the use of a host application.