A legalsó szint egy adatbázis, mely az egyes vírusok tulajdonságait tartalmazza. Többek között megadja, hogy a vírust milyen szekvenciával vagy milyen algoritmussal lehet megtalálni. Az irtás lépései is itt tárolódnak. Az algoritmusok egy virtuális gépen futnak, hogy az adatbázis gépfüggetlen lehessen. Így, ha egy új adatbázis jelenik meg, akkor minden ezt használó víruskereső rögtön ismerni fogja az új vírusokat, függetlenül attól, hogy milyen gépen futnak.
Az adatbázisban minden ``malware '' benne lehet, azaz nemcsak vírust, hanem férgeket és trójai programokat is le kell tudnia írni. A leírt objektum típusát (pl. trojan) egyértelműen azonosítania kell. A név a szabványos CARO név kell legyen, annak hiányában ideiglenesen aláhúzással (_) kezdődő nevet kap.
A vírusok felismerése lehetőleg pontos legyen! Ezt az adatbázis úgy támogatja, hogy a leírás megmondja, hogy a vírus mely bájtjait kell beleszámítani az ellenőrzésbe, és milyen értéknek kell kijönni, az ellenőrzőkód (talán az MD5 a legalkalmasabb) képzése után. A nagyközönség elé kerülő változatban valószínűleg kikötés lesz, hogy irtást csak egzakt azonosítás után lehessen végezni.
Új bejegyzést az adatbázisba mindenki írhat, de persze célszerű a felhasználónak olyan forrásból beszereznie a friss vírusok bejegyzéseit, ahol azokat szakavatott szemek már ellenőrizték. Biztonsági okokból nem szabad az algoritmusnak megengedni, hogy vírusok keresésekor bármit is megváltoztasson a fájlokban. Irtáskor is csak azt az objektumot érheti el, melyet feladata szerint meg kell tisztítania. Ha mégis máshoz kell hozzáférnie, akkor a felhasználónak erre engedélyt kell adnia.