Unified input
On-demand scanning, real-time protection and the API feed the same pipeline. A file is read once into a buffer, then every engine receives the same bytes — no separate reads that could disagree.
Measured, not estimated
prefilter onThe gap is verified with soundness tests: the prefilter loses no detection.
Nothing here is heuristic in the sense of “guessing”. Each stage has an input, an output and a test covering it.
On-demand scanning, real-time protection and the API feed the same pipeline. A file is read once into a buffer, then every engine receives the same bytes — no separate reads that could disagree.
Each engine returns a 0–100 score and a list of detections with severity. No engine sees another's result before writing, so there is no anchoring effect between them.
The maximum plus 15% of the sum of the rest, capped at 100. The same input always produces the same verdict — no weights that “tune themselves” over time.
The result keeps every engine's score and every individual detection, so the report can be re-read and disputed. The PDF is generated locally with PDFKit.
A set of mandatory literals (“needles”) is derived automatically from each rule's AST. If none appears in the buffer the rule is skipped without evaluation — a file without the required string cannot match the rule.
needles = literals(rule.ast) if none(needles) in buffer: skip(rule) // no evaluation cost 32 MB → 3.1 s // was 21.6 s
The risk of a prefilter is discarding a rule that would have matched. That is why soundness tests exist: every rule is checked against samples it must catch, with the prefilter enabled.
No engine has veto power and none can hide a verdict. The formula is simple and public.
final score = max(engines) + 15% × the sum of the rest
The cap is 100. The report lists every engine, its score and its detections, so you can verify for yourself why a verdict came out the way it did.
TypeScript for backend and frontend, native SQLite through node:sqlite and vendored binaries. Nothing to compile, no external service to contact.
63,239 lines of code across 175 source files, plus 30,362 lines of tests and 1,324 lines of YARA rules.
The product's core guarantee: no engine in the detection path makes a network request. Verifiable, not just promised.
Every report shows which engine contributed what. There is no “trust us, we know better”.
When it finds something, Malnox acts: it stops the process, removes the file, freezes encryption and restores the backups. It does not just tell you and walk away.
RBAC, append-only audit log, SIEM export and a hardening score — all on your own infrastructure.
The AI analyst is optional and advisory. By default it sends metadata only, and its answer never enters the verdict.
The Malnox kernel driver compiles and signs, but it does not yet have the official Microsoft signature. We say so on the front page, not in a footnote.
The same criteria, two different architectures. Where the cloud wins, we say so there too.
| Criterion | Classic cloud antivirus | Malnox |
|---|---|---|
| Where the verdict is computed | On the vendor's servers | Entirely on your machine |
| Works without internet | Partially, with stale signatures | Identically, including air-gapped |
| What the vendor learns | Names and hashes of scanned files | Installation health, not your files |
| You can read the rules | No, proprietary and hidden | Yes, 67 rules across 10 .yar files |
| You can add your own logic | Rarely, through a portal | Custom YARA rules, enabled per file |
| Independent audit | Impossible without backend access | Sniff the network and verify |
| What happens on a detection | The file is quarantined, the process keeps running | The process is stopped first, then the file goes to encrypted quarantine |
| During an encryption attack | Alerts after the files are already encrypted | Freezes the suspect processes, then restores the backups |
| Essential system processes | Internal list, not visible | Public list: a protected process is refused and written to the log |
No, by default. The engines that decide from data shipped with the app make no network request: no DNS lookup, no phone-home, no mandatory API key. Two components can reach the network and both are opt-in: cloud reputation, which sends only the SHA-256 hash to api.malnox.com after you connect your account, and the AI analyst, disabled by default, which receives metadata only and cannot influence the verdict. With both off, a packet capture over a full scan shows nothing.
Yes. Malnox needs no special exclusions and the installer adds mutual exclusions with other security products automatically, so they do not slow each other down. The Malnox kernel driver compiles and signs in the test build but does not yet have the official signature needed to load on any Windows, so it is not enabled by default. Real protection runs in user-mode: the file is caught as soon as it lands on disk, the process holding it is stopped and the file goes to encrypted quarantine. You can keep another antivirus if you want, but Malnox does not depend on it to act.
Intel packages are versioned and HMAC-SHA256 signed. You can apply them manually, from the dashboard or through the API, and the previous version stays on disk for rollback. The update is atomic: staging in a temporary directory, then rename.
It depends on the configured action, and quarantine is the default. In short, in this order: the process holding the file is stopped (unless it is an essential Windows process), the file is moved, encrypted with AES-256-GCM (12-byte random IV, 16-byte auth tag) and deleted from disk. If the move fails, execution is denied through an ACL so it cannot run. On restore the GCM tag is verified — any modification to the blob is detected and refused. You can also choose reporting only, from settings.
Yes. Activation works online with the licence key, or offline through an activation file you load into the product. That matters for isolated environments where the machine is not allowed to contact the internet.
GDPR (national ID, RO phone, email, passport, IBAN — threshold 3 matches), PCI-DSS (Luhn-validated cards plus IBAN — critical severity), secrets exposure (private keys, AWS/GitHub/npm/Slack/Stripe, JWT, connection strings), HIPAA (medical records) and confidential documents (company ID and config markers).
YARA needle prefiltering brings 32 MB down to 3.1 s, versus 21.6 s without the prefilter — 7× faster, with no lost detections (verified by soundness tests). Real-time uses fast engines only, so the system stays responsive.
Yes. Write to contact@malnox.com with your endpoint count and environment (air-gapped if applicable). For teams we prepare an assisted install with roles, DLP policies and SIEM export configured.
The installer is 177 MB and asks for no account. Not convinced? Check a link above — the web engine is already running on this page.