List all available modules and their capabilities. Returns: ModulesResponse with module information
()
| 12 | |
| 13 | @router.get("/", response_model=ModulesResponse) |
| 14 | async def list_modules() -> ModulesResponse: |
| 15 | """List all available modules and their capabilities. |
| 16 | |
| 17 | Returns: |
| 18 | ModulesResponse with module information |
| 19 | """ |
| 20 | osint_modules = [ |
| 21 | ModuleInfo( |
| 22 | name="dns", |
| 23 | category="osint", |
| 24 | description="DNS enumeration and zone transfer detection", |
| 25 | ), |
| 26 | ModuleInfo( |
| 27 | name="whois", |
| 28 | category="osint", |
| 29 | description="WHOIS lookup with registrar details", |
| 30 | ), |
| 31 | ModuleInfo( |
| 32 | name="subdomains", |
| 33 | category="osint", |
| 34 | description="Subdomain discovery", |
| 35 | ), |
| 36 | ModuleInfo( |
| 37 | name="headers", |
| 38 | category="osint", |
| 39 | description="HTTP header analysis for security issues", |
| 40 | ), |
| 41 | ModuleInfo( |
| 42 | name="tech", |
| 43 | category="osint", |
| 44 | description="Technology detection (frameworks, CMS, servers)", |
| 45 | ), |
| 46 | ModuleInfo( |
| 47 | name="ports", |
| 48 | category="osint", |
| 49 | description="Port scanning (requires nmap)", |
| 50 | ), |
| 51 | ] |
| 52 | |
| 53 | webscanner_modules = [ |
| 54 | ModuleInfo( |
| 55 | name="crawler", |
| 56 | category="webscanner", |
| 57 | description="Web crawling and link discovery", |
| 58 | ), |
| 59 | ModuleInfo( |
| 60 | name="xss", |
| 61 | category="webscanner", |
| 62 | description="XSS (Cross-Site Scripting) detection", |
| 63 | ), |
| 64 | ModuleInfo( |
| 65 | name="sqli", |
| 66 | category="webscanner", |
| 67 | description="SQL injection testing", |
| 68 | ), |
| 69 | ModuleInfo( |
| 70 | name="dirs", |
| 71 | category="webscanner", |
no test coverage detected