WES-NG (Windows Exploit Suggester - Next Generation) is a monolithic CLI tool written in Python. Its core function is to read the output of the Windows `systeminfo` command and compare the detected operating system version and installed patches against a bundled database of known vulnerabilities (CVEs). It outputs a prioritized list of likely exploitable vulnerabilities, including links to public exploits. The architecture centers on `wes.py`, which handles input parsing, OS fingerprinting, patch matching, and output formatting. The vulnerability database is shipped as `definitions.zip`, a compressed CSV file. The tool employs a recursive graph traversal algorithm (`mark_superseeded_hotfix`) to filter out patches that have been superseded by newer updates, significantly reducing false positives. Optional companion scripts (`missingkbs.vbs`, `missingkbs.ps1`) can enumerate missing patches directly on a Windows host. The repository also contains a complete data collection pipeline (`collector/*.ps1`) used by the maintainers to regenerate the vulnerability database from sources like the MSRC API, NVD, and Exploit-DB. A large corpus of validation data (`validation/*.txt`) ensures the OS fingerprinting logic works across a wide range of Windows versions and locales. While the core logic is robust and well-tested, the codebase shows signs of technical drift, including remnants of Python 2 compatibility and reliance on hardcoded URLs for data updates. Overall, it is a highly effective and practical security auditing tool that accurately fulfills its stated purpose.
This repository contains a WP-CLI command-line tool for scanning WordPress installations for known vulnerabilities. It integrates with three vulnerability databases: WPScan, Patchstack, and Wordfence Intelligence, allowing users to check WordPress core, plugins, and themes for security issues through a unified interface. The architecture follows a service pattern where each vulnerability provider has its own service class extending a base service class. The main Vulnerability_CLI class handles command registration, argument parsing, output formatting, and coordination with the appropriate service based on configuration. The tool supports multiple output formats (table, CSV, JSON, count, IDs, YAML) and includes features like Nagios monitoring output and email notifications for automated scanning. Although the project is explicitly marked as archived and no longer actively maintained, it demonstrates solid engineering practices with clear separation of concerns, proper error handling, and comprehensive testing through Behat scenarios for each supported vulnerability provider.