Every virus cannot be detected by a signature-based antivirus largely for the following reasons:
* If an attacker has changed the signature of a virus, any signature-based antivirus will not be able to find the virus.
* Any new virus will not be captured by the antivirus, as it will not be on the list in the antivirus database.
* If the virus is not in the database of a signature-based antivirus, it will be virtually impossible for the antivirus to detect that virus.
* If the mutation engine of a polymorphic virus is generating a new encrypted code, this changes the signature of the virus. Therefore, polymorphic viruses cannot be detected by a signature-based antivirus.