AntivirusEngine is an educational Go project for learning how a simple antivirus pipeline can be organized. It focuses on hash-based file scanning first, with later phases reserved for YARA, PE analysis, and heuristics.
- Computes MD5, SHA1, and SHA256 for a file
- Loads hash signatures from
rules/signatures.json - Matches hashes against known signatures
- Prints a clean terminal result or JSON output
cmd/av- CLI entry pointinternal/hashing- file hashinginternal/signatures- signature loading and matchinginternal/scanner- scan orchestrationinternal/model- shared scan typesinternal/cli- command-line handlingrules- local signature datasamples- safe test filesreports- generated output files
go build ./cmd/av
./av scan --file /path/to/file
./av scan --file /path/to/file --format json --report reports/result.json- This is a student project, not production antivirus software.
- YARA, PE analysis, and heuristics are planned for later phases.
- The code is intentionally small, modular, and easy to extend.