Implemented an asynchronous port scanning module using asyncio to perform concurrent TCP connection checks against a predefined set of common ports. A semaphore-based concurrency limiter was used to control connection volume, and results are returned via a structured PortResult dataclass containing port state classification (open, closed, filtered) and measured latency.
Built an async directory fuzzing component with wordlist-driven path discovery and configurable HTTP status filtering. The module supports concurrent request execution with a semaphore to manage load, and includes fixes to internal imports to correctly reference modules.fuzz. Future improvements include adding recursive traversal capabilities for deeper endpoint discovery.
Developed an asynchronous security header analysis routine that evaluates HTTP responses against a set of key security headers, assigning a weighted risk score based on missing or misconfigured protections. The scoring system maps results to an A–F grading scale. The implementation was refactored from synchronous to asynchronous execution to resolve asyncio event loop conflicts, with planned enhancements for actionable remediation output.
Implemented an SQL injection probing module that tests a set of canonical injection payloads against input vectors and detects database error signatures in responses. The module reports vulnerability status along with the payload that triggered the behavior. Future work includes extending detection to support time-based blind SQL injection techniques.
Created an XSS detection module that evaluates reflected and stored cross-site scripting vulnerabilities by injecting common script payloads and inspecting server responses for reflection. It returns a boolean vulnerability indicator along with the effective payload when detected. Planned improvements include support for DOM-based XSS analysis.
Built a subdomain enumeration tool that performs DNS-based discovery using wordlist expansion combined with A and CNAME record resolution, optionally validating discovered hosts via HTTP requests. A formatting bug was corrected by switching from dictionary-style access to dataclass attribute handling, improving internal consistency and stability.