Een groot probleem op Windows-machines is dat bestandstypen worden bepaald aan de hand van de extensie van het bestand. Er zijn al heel wat programma's systemen binnengesmokkeld door ze te 'vermommen' als een plaatje, of een bestand voor MS Office, terwijl het eigenlijk heel vervelende malware is. Een bestand is dan wel hernoemd, maar dat verandert de inhoud van het bestand echt niet. Bepaalde programma's op Unix-systemen (zoals Nautilus van GNOME, maar ook de Evince documentenviewer) vertrouwen onder bepaalde omstandigheden ook alleen op de extensie van het bestand.

Onnodig, want er bestaat een systeem waarmee je veel gedetailleerder informatie kunt krijgen over bestanden. Op Unix-systemen is het al erg lang in gebruik: magic. Met magic heb je een soort database, waarin beschreven is hoe je bestanden kunt herkennen aan de eerste zoveel bytes (afhankelijk per bestandstype) van het bestand (hoewel dit ook niet altijd feilloos werkt). Deze database (op een Linux-systeem te vinden in /usr/share/magic) kun je raadplegen met onder andere het programma file. Met de bijbehorende libmagic kun je eigen applicaties makkelijk voorzien van functionaliteit om bestanden grondiger te inspecteren dan alleen de extensie, zodat je niet voor onverwachte verrassingen komt te staan. Bron: Techworld