Skip to main content

vamp-log-hunter

Forensic log analyzer that detects Indicators of Compromise across 14 attack categories
VampSecure Labs · Security Research Division


Overview

vamp-log-hunter is a forensic log analysis tool for detecting Indicators of Compromise (IoC) in system logs. It processes nginx, Apache, auth.log, syslog, and journald logs line-by-line — without loading full files into memory — and correlates events across 14 attack categories ranging from SSH brute force and SQL injection to webshell access and anomalous nocturnal activity. Each finding carries remediation steps and structured evidence lines ready for inclusion in client security reports.

Built-in threat intelligence covers known scanner IP ranges (Shodan, Censys, GreyNoise, Tor exit nodes) and automatically tags findings whose source IPs match those ranges.

Features

  • 14 IoC categories: SSH brute force, web brute force (4xx flood), directory scanning, SQL injection, XSS, path traversal / LFI, webshell access, sensitive file enumeration (.env, .git, wp-config, etc.), scanner User-Agent detection, sudo/su privilege escalation, suspicious cron jobs, direct root SSH login, known-scanner IP correlation, and anomalous nocturnal traffic (02:00–05:59)
  • Known-scanner intelligence: built-in IP and CIDR database for Shodan, Censys, GreyNoise, SecurityTrails, Masscan, and Tor exit nodes — findings from those sources are automatically labelled
  • Multi-format log support: nginx / Apache Combined Log Format, syslog, auth.log (gzip-compressed .log.gz handled transparently); stdin pipe via --file -
  • Configurable thresholds for brute-force event counts (--threshold-brute) and directory scan path counts (--threshold-scan)
  • Time-window filtering with --last-hours to focus on recent events without reprocessing full logs
  • Top offensive IPs table summarizing total event counts per source with scanner tag
  • JSON export — structured schema with full finding metadata: severity, category, source IPs, first/last seen timestamps, evidence lines, and remediation
  • Standalone dark-theme HTML report — zero CDN dependencies; KPI summary bar + sortable findings table + detailed expandable cards
  • Unified VSL client report (HTML/PDF) via --report-html / --report-pdf flags
  • Rich console output with color-coded severity panels and a top-IPs summary table

Requirements

pip install -r requirements.txt
Package Version
rich >= 13.7.0

Standard library: argparse, gzip, ipaddress, json, re, sys, collections, datetime, pathlib.

Installation

git clone https://github.com/belky-me/vamp-log-hunter.git
cd vamp-log-hunter
pip install -r requirements.txt

Usage

python vamp_log_hunter.py --help
usage: vamp_log_hunter.py [-h] [--file FILE] [--log-type {nginx,apache,auth,syslog,journald,auto}]
                           [--log-dir DIR] [--last-hours N] [--threshold-brute N]
                           [--threshold-scan N] [--json FILE] [--html FILE] [-v]

Examples

Scan all logs in /var/log (auto-discovery):

python vamp_log_hunter.py

Analyze specific log files:

python vamp_log_hunter.py --file /var/log/nginx/access.log \
                           --file /var/log/auth.log

Focus on the last 24 hours, lower brute-force threshold to 5 events:

python vamp_log_hunter.py --last-hours 24 --threshold-brute 5

Export JSON and standalone dark-theme HTML report:

python vamp_log_hunter.py --json report.json --html report.html

Read from stdin (pipe):

cat /var/log/nginx/access.log | python vamp_log_hunter.py --file -

Analyze a gzip-compressed rotated log:

python vamp_log_hunter.py --file /var/log/nginx/access.log.1.gz

IoC Category Reference

ID Category Log Source
LOG-001 SSH brute force auth.log / syslog
LOG-002 Web brute force (4xx flood) nginx / apache
LOG-003 Directory enumeration (unique 404s) nginx / apache
LOG-004 SQL injection in URI nginx / apache
LOG-005 XSS payload in URI nginx / apache
LOG-006 Path traversal / LFI nginx / apache
LOG-007 Webshell access or RCE parameter nginx / apache
LOG-008 Sensitive file access nginx / apache
LOG-009 Scanner User-Agent nginx / apache
LOG-010 sudo / su privilege escalation auth.log / syslog
LOG-011 Suspicious cron job commands syslog
LOG-012 Direct root SSH login auth.log
LOG-013 Known-scanner IP nginx / apache
LOG-014 Anomalous nocturnal activity (02:00–05:59) nginx / apache / auth

Output Formats

Format Flag Description
Console (Rich) (default) Severity-ordered panels with evidence, IPs, timestamps, and remediation
JSON --json FILE Full structured export with all finding fields
HTML --html FILE Standalone dark-theme report with KPI bar and finding cards

Exit Codes

Code Meaning
0 No IoC found
1 One or more IoC findings detected

Part of VampSecure Labs Toolkit

This tool is part of the VampSecure Labs Security Toolkit — a collection of research-grade security tools for authorized penetration testing and red/blue team exercises.


© VampSecure Studios — VampSecure Labs Security Research Division
For authorized security testing only.

Release files for vamp-log-hunter 1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vamp-log-hunter 1.3
File Size Uploaded
vamp_log_hunter-1.3.tar.gz 39.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vamp-log-hunter 1.3
File Interpreter ABI Platform
vamp_log_hunter-1.3-py3-none-any.whl Python 3 none any Details

Total release size: 80.4 kB

Release files / vamp_log_hunter-1.3.tar.gz

Download URL vamp_log_hunter-1.3.tar.gz
Size 39.6 kB
Tags Source
SHA-256 checksum
How to use checksums
771a561ddc63197df548f862e848e16723ae826710d0924aaac6137efc085da7
BLAKE2b-256 checksum
How to use checksums
f347d181b6d89d87621a62a02447bdeed51e0c5fc7d0eaeb3e667866e1e70df8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / vamp_log_hunter-1.3-py3-none-any.whl

Download URL vamp_log_hunter-1.3-py3-none-any.whl
Size 40.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ec66fc6e2e6957b2b0d7fe78d7e3edf1b6a41ef3f6fa76680cf1a7ce3f70bb07
BLAKE2b-256 checksum
How to use checksums
6f426f7a16b0dcdd0f8350259166dd2cdaecb32ac1a270e8ce9fe6b7e9b8aa1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.3 This release

2 release files

1.2

2 release files

1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page