VKRScan
VKRScan is a modular Python cybersecurity analysis framework and CLI tool for identifying hidden data, exposed secrets, common web-security weaknesses, and cryptographic/encoding artifacts with evidence-based reporting.
╔══════════════════════════════════════════════════════════════╗
║ VKRScan ║
║ Cybersecurity Analysis Framework ║
╚══════════════════════════════════════════════════════════════╝
Key Features
-
Steganography & Hidden Data Analysis:
- MIME & magic byte verification, format integrity, and extension mismatch detection.
- Detection of trailing data appended beyond format EOF markers (PNG, JPEG, BMP, WAV).
- Metadata extraction (EXIF, GPS identification, PNG chunks, WAV audio parameters).
- Global and sliding-window Shannon entropy analysis for encrypted/compressed cluster detection.
- Channel-specific Least Significant Bit (LSB) statistical distribution and anomaly scoring.
- Printable ASCII/UTF-8 string carving with token recognition (URLs, emails, Base64, CTF flags).
-
Secrets & Credential Discovery:
- High-fidelity pattern engine for AWS, GitHub, GitLab, Google Cloud, Slack, Stripe, Private Keys, Database connection URLs, AI keys (OpenAI, Anthropic), and JWTs.
- Shannon entropy thresholding to reduce false positives on random strings.
- Safe-by-default redaction engine preserving prefix/suffix (
AKIA************7XYZ). - Custom rules support via YAML.
-
Authorized Web Security Assessment:
- Safe checks strictly bounded by mandatory authorization warning banners.
- Security headers audit (
CSP,HSTS,X-Content-Type-Options,X-Frame-Options,Referrer-Policy,Permissions-Policy). - Cookie security audit (
HttpOnly,Secure,SameSite). - TLS/SSL certificate validation, expiration alert, and protocol deprecation checks.
- Information disclosure identification and conservative sensitive file exposure probes (
.env,.git/config,docker-compose.yml,web.config, etc.). - Harmless reflected input probe for contextual Cross-Site Scripting (XSS) assessment.
- Non-destructive SQL injection indicator and database syntax error detection.
-
Cryptographic & Encoding Utilities:
- Multi-format encoding and decoding (
Base64,Base64URL,Hex,URL,Unicode,Binary). - Heuristic auto-detection of unknown encoded strings.
- Cryptographic one-way hashing (
MD5,SHA-1,SHA-256,SHA-512,SHA-3). - File hashing with multi-digest streaming.
- Safe JSON Web Token (JWT) inspection, claims auditing, and
alg: nonedetection.
- Multi-format encoding and decoding (
-
Unified Evidence Collection & Reporting:
- Standardized
FindingandEvidencedata models across all scanners. - Transparent 0–100 risk scoring with contributor breakdown.
- Rich terminal user interface with styled tables, progress gauges, and badges.
- Machine-readable structured JSON export.
- Standalone, responsive HTML report dashboard.
- Standardized
Ethical & Safe Design
VKRScan is designed for:
- Defensive security analysis
- CTF / lab training environments
- Local system testing
- Systems owned by the user or where explicit testing authorization has been granted
VKRScan does NOT implement credential theft, malware deployment, persistence, destructive exploitation, authentication bypass, or arbitrary third-party automated attacks.
Installation
pip install vkrscan
From Source
git clone https://github.com/vkrscan/vkrscan.git
cd vkrscan
pip install -e .
Quick Start CLI Examples
1. Interactive Cyberpunk Shell
Run VKRScan without arguments or with shell to launch the interactive prompt:
vkrscan
# or
vkrscan shell
Inside the interactive shell:
vkrscan> help
vkrscan> show
vkrscan> set target https://authorized.example
vkrscan> set modules web
vkrscan> run
vkrscan> steg image.png
vkrscan> secrets ./src
vkrscan> jwt <token>
vkrscan> exit
2. Unified Scanner (CLI Mode)
# Auto-detect target and run appropriate modules
vkrscan scan https://authorized.example
vkrscan scan ./my-project-repo
vkrscan scan image.png
# Target specific modules
vkrscan scan ./my-project-repo --modules secrets --format html --output report.html
2. Steganography Analysis
vkrscan steg sample.png
vkrscan steg audio.wav
3. Secrets Scanner
vkrscan secrets ./src
vkrscan secrets ./src --rules examples/custom-rules.yaml
4. Web Security Assessment
vkrscan web https://authorized.example
5. Encoding & Auto-Detection
vkrscan encode base64 "Confidential"
vkrscan decode base64 "Q29uZmlkZW50aWFs"
vkrscan analyze "aGVsbG8gd29ybGQ="
6. Cryptographic Hashing
vkrscan hash "admin"
vkrscan hash-file firmware.bin
7. JWT Inspection
vkrscan jwt eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Architecture
Target (URL, Directory, Media, JWT, File)
↓
Target Classifier (vkrscan.utils.validators)
↓
Scan Engine Coordinator (vkrscan.core.engine)
↓
Plugins (BaseScanner)
├── Steganography Analyzer
├── Secrets Scanner
├── Web Security Analyzer
└── Cryptography Utilities
↓
Normalized Finding & Evidence Models
↓
Transparent Risk Scoring (0 - 100)
↓
Reporters (Terminal UI, JSON, HTML)
Running Tests
Run the test suite with pytest:
pytest -v
With coverage:
pytest --cov=vkrscan --cov-report=term-missing
License
This project is licensed under the MIT License. See LICENSE for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vkrscan-1.0.0.tar.gz.
File metadata
- Download URL: vkrscan-1.0.0.tar.gz
- Upload date:
- Size: 58.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64f72f727d195c7e236b621c33d822cb975db2d5535ab303237fa3b935a73e75
|
|
| MD5 |
e7120ce9fbde9b70c6c822c10ece3977
|
|
| BLAKE2b-256 |
c36d7c06d28bb08d7a0a82b6f2f5fb9c1b3cd546524fdafc19ea8669c320a331
|
Provenance
The following attestation bundles were made for vkrscan-1.0.0.tar.gz:
Publisher:
publish-pypi.yml on chvkrsubhash/vkrscan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vkrscan-1.0.0.tar.gz -
Subject digest:
64f72f727d195c7e236b621c33d822cb975db2d5535ab303237fa3b935a73e75 - Sigstore transparency entry: 2817661346
- Sigstore integration time:
-
Permalink:
chvkrsubhash/vkrscan@d0e9b4caada1f6df57c42a25b181ab33d826f186 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/chvkrsubhash
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@d0e9b4caada1f6df57c42a25b181ab33d826f186 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file vkrscan-1.0.0-py3-none-any.whl.
File metadata
- Download URL: vkrscan-1.0.0-py3-none-any.whl
- Upload date:
- Size: 70.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fa9852739103f16e3d6099e9e3c4b00d3cdb3d852d520ef6998e489e4597db2
|
|
| MD5 |
47dc68b2041199e151a960fdc179c9b1
|
|
| BLAKE2b-256 |
f661d453d429db16a8ce7f70a2d96051b59752ab8eebf0d338a268966236ee4f
|
Provenance
The following attestation bundles were made for vkrscan-1.0.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on chvkrsubhash/vkrscan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vkrscan-1.0.0-py3-none-any.whl -
Subject digest:
9fa9852739103f16e3d6099e9e3c4b00d3cdb3d852d520ef6998e489e4597db2 - Sigstore transparency entry: 2817661362
- Sigstore integration time:
-
Permalink:
chvkrsubhash/vkrscan@d0e9b4caada1f6df57c42a25b181ab33d826f186 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/chvkrsubhash
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@d0e9b4caada1f6df57c42a25b181ab33d826f186 -
Trigger Event:
workflow_dispatch
-
Statement type: