Intrare unificată
Scanarea la cerere, protecția în timp real și API-ul intră în același pipeline. Un fișier e citit o singură dată în buffer, apoi toate motoarele primesc aceiași bytes — nu există citiri separate care să dea rezultate diferite.
Măsurat, nu estimat
prefilter activDiferența e verificată cu teste de soundness: prefilter-ul nu pierde nicio detecție.
Nimic nu e euristic în sensul de „ghicește”. Fiecare etapă are o intrare, o ieșire și un test care o acoperă.
Scanarea la cerere, protecția în timp real și API-ul intră în același pipeline. Un fișier e citit o singură dată în buffer, apoi toate motoarele primesc aceiași bytes — nu există citiri separate care să dea rezultate diferite.
Fiecare motor returnează un scor 0–100 și o listă de detecții cu severitate. Niciun motor nu vede rezultatul altuia înainte să scrie, deci nu există efect de ancorare între ele.
Maximul plus 15% din suma celorlalte, plafonat la 100. Aceeași intrare produce mereu același verdict — nu există ponderi care se „ajustează” în timp.
Rezultatul păstrează scorul fiecărui motor și fiecare detecție individuală, deci raportul poate fi recitit și contestat. PDF-ul se generează local, cu PDFKit.
Din AST-ul fiecărei reguli se derivă automatic un set de literali obligatorii („needles”). Dacă niciunul nu apare în buffer, regula e sărită fără evaluare — un fișier fără șirul necesar nu poate potrivi regula.
needles = literals(rule.ast) if none(needles) in buffer: skip(rule) // no evaluation cost 32 MB → 3.1 s // was 21.6 s
Riscul unui prefilter e să elimine o regulă care ar fi potrivit. De asta există teste de soundness: fiecare regulă e verificată pe eșantioane pe care trebuie să le prindă, cu prefilter activ.
Niciun motor nu are drept de veto și niciunul nu poate ascunde un verdict. Formula e simplă și publică.
scor final = max(motoare) + 15% × suma celorlalte
Plafonul e 100. Raportul listă fiecare motor, scorul lui și detecțiile, ca să poți verifica singur de ce a ieșit verdictul.
TypeScript pentru backend și frontend, SQLite nativ prin node:sqlite și binar-e vendorizate. Nimic de compilat, niciun serviciu extern de contactat.
63,239 linii de cod în 175 fișiere sursă, plus 30,362 de linii de teste și 1,324 de linii de reguli YARA.
Garanția centrală a produsului: niciun motor din calea de detecție nu face o cerere de rețea. Verificabil, nu doar promis.
Fiecare raport arată ce motor a contribuit cu ce. Nu există „încredere, noi știm mai bine”.
Când găsește ceva, Malnox intervine: oprește procesul, ia fișierul din loc, îngheață criptarea și restaurează copiile de siguranță. Nu te anunță și pleacă.
RBAC, jurnal de audit append-only, export SIEM și score de hardening — toate pe infrastructura ta.
Analistul AI e opțional și consultativ. Implicit trimite doar metadate, iar răspunsul lui nu intră niciodată în verdict.
Driverul de kernel al Malnox se compilează și se semnează, dar nu are încă semnătura oficială de la Microsoft. Spunem asta pe prima pagină, nu în nota de subsol.
Aceleași criterii, două arhitecturi diferite. Unde cloudul câștigă, o spunem și acolo.
| Criteriu | Antivirus clasic cu cloud | Malnox |
|---|---|---|
| Unde se calculează verdictul | Pe serverele producătorului | Pe calculatorul tău, integral |
| Funcționează fără internet | Parțial, cu semnături vechi | Identic, inclusiv pe air-gapped |
| Ce află producătorul | Numele și hash-ul fișierelor scanate | Starea instalării, nu fișierele tale |
| Poți citi regulile | Nu, sunt proprietare și ascunse | Da, 67 de reguli în 10 fișiere .yar |
| Poți adăuga propria logică | Rar, prin portal | Reguli YARA proprii, active per fișier |
| Audit independent | Imposibil fără acces la backend | Traficezi rețeaua și verifici |
| Ce se întâmplă la o detecție | Fișierul e pus în carantină, procesul rămâne pornit | Procesul e oprit întâi, apoi fișierul e mutat în carantină criptată |
| La un atac de criptare | Alertează după ce fișierele sunt deja criptate | Îngheață procesele suspecte, apoi restaurează copiile de siguranță |
| Procese esențiale de sistem | Listă internă, nevăzută | Listă publică: un proces protejat e refuzat și consemnat în jurnal |
Nu, implicit. Motoarele care decid pe baza datelor livrate cu aplicația nu fac nicio cerere de rețea: fără lookup DNS, fără phone-home, fără cheie API obligatorie. Două componente pot ieși în rețea și ambele sunt opt-in: reputația cloud, care trimite doar hash-ul SHA-256 către api.malnox.com după ce îți conectezi contul, și analistul AI, dezactivat implicit, care primește doar metadate și nu poate influența verdictul. Cu ambele oprite, un packet capture pe o scanare completă nu arată niciun pachet.
Da. Malnox nu are nevoie de excluderi speciale și installer-ul adaugă automat excluderi reciproce cu alte produse de securitate, ca să nu se încetinească unul pe altul. Driverul de kernel al Malnox se compilează și se semnează în build-ul de test, dar nu are încă semnătura oficială necesară ca să se încarce pe orice Windows, așa că nu e pornit implicit. Protecția reală rulează în user-mode: fișierul e prins imediat ce apare pe disc, procesul care îl ține este oprit, iar fișierul ajunge în carantină criptată. Poți ține și alt antivirus dacă vrei, dar Malnox nu se bazează pe el ca să reacționeze.
Pachetele de intel sunt versionate și semnate HMAC-SHA256. Le poți aplica manual, din dashboard sau prin API, iar versiunea anterioară rămâne pe disc pentru rollback. Actualizarea e atomică: staging în director temporar, apoi rename.
Depinde de acțiunea configurată, iar implicită este carantina. Pe scurt, în ordinea asta: procesul care ține fișierul este oprit (dacă nu e un proces esențial de Windows), fișierul e mutat, criptat cu AES-256-GCM (IV aleator de 12 bytes, tag de autentificare de 16 bytes) și șters de pe disc. Dacă mutarea eșuează, execuția fișierului este blocată prin ACL, ca să nu poată rula. La restaurare, tag-ul GCM e verificat — orice modificare a blob-ului este detectată și refuzată. Poți alege și doar raportare, din setări.
Da. Activarea se poate face online, cu cheia de licență, sau offline, prin fișier de activare pe care îl încarci în produs. Asta contează pentru mediile izolate, unde calculatorul nu are voie să contacteze internetul.
GDPR (CNP, telefon RO, email, pașaport, IBAN — prag 3 potriviri), PCI-DSS (carduri validate Luhn plus IBAN — severitate critică), expunere de secrete (chei private, AWS/GitHub/npm/Slack/Stripe, JWT, connection strings), HIPAA (date medicale) și documente confidențiale (CUI și markere de config).
Preflitrarea pe needle-uri YARA reduce 32 MB la 3,1 s, față de 21,6 s fără prefilter — de 7× mai rapid, fără pierdere de detecții (verificat cu teste de soundness). În timp real se folosesc doar motoarele rapide, ca să nu încetinească sistemul.
Da. Scrie-ne la contact@malnox.com cu numărul de endpoint-uri și mediul (eventual air-gapped). Pentru echipe pregătim o instalare asistată cu roluri, politici DLP și export SIEM configurate.
Instalatorul are 177 MB și nu cere cont. Dacă nu ești convins, verifică un link mai sus — motorul web rulează deja în pagina asta.