DEV Community

pyfile-toolkit
pyfile-toolkit

Posted on

file-guardian: Zero-Dependency File Security Scanner for Node.js

I just published file-guardian — a zero-dependency file security scanner for Node.js.

What problem does it solve?

When users upload files to your app, you have no idea what is inside. An innocent-looking image.jpg could contain:

  • Malicious scripts
  • Executable code disguised as media
  • Suspicious patterns in file headers

Traditional solutions require ClamAV daemon (clamscan: 461K weekly downloads) or are pure Python (pompelmi: 6.9K/week). file-guardian is pure JavaScript, zero dependencies, instant.

Quick start

npm install file-guardian
Enter fullscreen mode Exit fullscreen mode
const { scanFile, scanBuffer } = require("file-guardian");

// Scan a file
const result = await scanFile("./upload.zip");
console.log(result.safe); // true or false
console.log(result.threats); // array of found issues

// Use with multer (Express.js)
const { multerGuardian } = require("file-guardian/multer-guardian");
app.post("/upload", multerGuardian().single("file"), (req, res) => {
  if (req.fileScan?.safe) res.send("OK");
  else res.status(400).send("Threat detected");
});
Enter fullscreen mode Exit fullscreen mode

What it detects

  • Malicious file signatures — known dangerous patterns
  • Suspicious MIME mismatches — PNG claiming to be JPEG? Flagged.
  • Executable code in data files — scripts hidden where they should not be
  • Abnormal file structures — truncated headers, appended data

Performance

  • < 5ms for typical files (no daemon, no startup cost)
  • Zero dependencies — no native modules, no external tools
  • 14 passing tests (core + multer integration)

📦 npm: file-guardian
GitHub: pyfile-toolkit/file-guardian
🛍️ More tools on Gumroad

Top comments (0)