Sari la conținut
Malnox
Tehnologie

Un pipeline, 16 motoare, un singur verdict pe care îl poți reciti

Malnox nu are un model de machine learning opac în centru. Are un pipeline determinist: aceeași intrare, aceleași motoare, același scor. Aici e arhitectura, cu cifrele măsurate.

Măsurat, nu estimat

prefilter activ
3.1 spentru 32 MB
21,6 sfără prefilter
7×mai rapid
2.770teste automate

Diferența e verificată cu teste de soundness: prefilter-ul nu pierde nicio detecție.

Pipeline

De la bytes la verdict, în patru etape

Nimic nu e euristic în sensul de „ghicește”. Fiecare etapă are o intrare, o ieșire și un test care o acoperă.

  1. 01

    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.

  2. 02

    Motoare independente

    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.

  3. 03

    Combinație deterministă

    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.

  4. 04

    Raport verificabil

    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.

Prefilter YARA

7× mai rapid, aceleași detecții

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.

Scoring

Cum se combină scorurile

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

  • Malițiosscor ≥ 70 sau orice detecție critică
  • Suspectscor ≥ 25 sau orice detecție medie
  • Curatsub ambele praguri, cu toate motoarele raportate

Plafonul e 100. Raportul listă fiecare motor, scorul lui și detecțiile, ca să poți verifica singur de ce a ieșit verdictul.

Stack

Un singur limbaj, zero servicii obligatorii

TypeScript pentru backend și frontend, SQLite nativ prin node:sqlite și binar-e vendorizate. Nimic de compilat, niciun serviciu extern de contactat.

Node.js 22+rulează pe 24
TypeScript 5.8backend + frontend
Fastify 5API pe 127.0.0.1:4711
React 19 + Vite 6dashboard
SQLite (node:sqlite)fără binar nativ
chokidar 4protecție în timp real
PDFKitrapoarte locale
MalNOX Core Engineinclus în pachet
YARA-Xvendor/yr.exe

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ă

Nicio cerere de rețea în calea de detecție. Verificabil, nu doar promis.

Detecție fără rețea

Garanția centrală a produsului: niciun motor din calea de detecție nu face o cerere de rețea. Verificabil, nu doar promis.

  • Reguli, liste și semnături în fișiere locale versionate
  • Fără lookup DNS în timpul scanării
  • Funcționează identic pe un air-gapped workstation

Verdicturi explicabile

Fiecare raport arată ce motor a contribuit cu ce. Nu există „încredere, noi știm mai bine”.

  • Scor per motor, alături de detecțiile individuale
  • Raport PDF generat local pentru fiecare scanare
  • Regulile YARA pot fi citite, activate sau dezactivate

Răspuns, nu doar alertă

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ă.

  • Procesul care ține fișierul infectat este oprit înainte de carantină
  • Un atac de criptare e înghețat, apoi fișierele sunt restaurate
  • Carantină AES-256-GCM cu verificare de tag la restaurare
  • Procesele Windows esențiale nu sunt niciodată atinse

Enterprise fără SaaS

RBAC, jurnal de audit append-only, export SIEM și score de hardening — toate pe infrastructura ta.

  • Parole cu scrypt + salt, sesiuni hash-uite SHA-256
  • Roluri admin / analyst / viewer, aplicate pe rute
  • SIEM cu coadă bounded: se pierd evenimente, nu se umflă memoria

Confidențialitate implicită

Analistul AI e opțional și consultativ. Implicit trimite doar metadate, iar răspunsul lui nu intră niciodată în verdict.

  • advisoryOnly = true, fără excepții
  • Conținutul fișierului se trimite doar cu aiSendContent
  • Cheia API e redactată în orice răspuns

Limite declarate

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.

  • Scor de hardening care tratează „unknown” ca unknown
  • Comparații de performanță măsurate, nu estimate
  • Reguli citibile, nu semnături ascunse într-un backend
Comparație

Local versus cloud

Aceleași criterii, două arhitecturi diferite. Unde cloudul câștigă, o spunem și acolo.

Ce face diferit un antivirus local
CriteriuAntivirus clasic cu cloudMalnox
Unde se calculează verdictulPe serverele producătoruluiPe calculatorul tău, integral
Funcționează fără internetParțial, cu semnături vechiIdentic, inclusiv pe air-gapped
Ce află producătorulNumele și hash-ul fișierelor scanateStarea instalării, nu fișierele tale
Poți citi regulileNu, sunt proprietare și ascunseDa, 67 de reguli în 10 fișiere .yar
Poți adăuga propria logicăRar, prin portalReguli YARA proprii, active per fișier
Audit independentImposibil fără acces la backendTraficezi rețeaua și verifici
Ce se întâmplă la o detecțieFișierul e pus în carantină, procesul rămâne pornitProcesul e oprit întâi, apoi fișierul e mutat în carantină criptată
La un atac de criptareAlertează după ce fișierele sunt deja criptateÎngheață procesele suspecte, apoi restaurează copiile de siguranță
Procese esențiale de sistemListă internă, nevăzutăListă publică: un proces protejat e refuzat și consemnat în jurnal
Întrebări tehnice

Ce se întreabă cel mai des

Încearcă pe un fișier pe care îl ai la îndemână.

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.