exploit_attempt
Execute controlled exploitation attempts against identified vulnerabilities to validate security weaknesses during authorized penetration testing.
Instructions
Attempt exploitation using detected vulnerabilities
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target IP/URL | |
| vulnerability | Yes | Vulnerability identifier | |
| payload | No | Payload type |
Implementation Reference
- src/tools/exploit.ts:74-117 (handler)Core handler function implementing exploit_attempt tool logic. Categorizes vulnerability and delegates to specific exploit methods (SQLi, XSS, directory traversal, etc.). Returns structured ScanResult with attempt details.async exploitAttempt(target: string, vulnerability: string, payload?: string): Promise<ScanResult> { try { const exploitResults: ExploitResult[] = []; // Determine exploit strategy based on vulnerability type const vulnType = this.categorizeVulnerability(vulnerability); switch (vulnType) { case 'web': await this.attemptWebExploits(target, vulnerability, payload, exploitResults); break; case 'network': await this.attemptNetworkExploits(target, vulnerability, payload, exploitResults); break; case 'service': await this.attemptServiceExploits(target, vulnerability, payload, exploitResults); break; default: await this.attemptGenericExploits(target, vulnerability, payload, exploitResults); } return { target, timestamp: new Date().toISOString(), tool: 'exploit_attempt', results: { exploit_attempts: exploitResults, successful_exploits: exploitResults.filter(e => e.success), vulnerability_targeted: vulnerability, total_attempts: exploitResults.length }, status: 'success' }; } catch (error) { return { target, timestamp: new Date().toISOString(), tool: 'exploit_attempt', results: {}, status: 'error', error: error instanceof Error ? error.message : String(error) }; } }
- src/index.ts:188-200 (schema)MCP tool schema definition specifying input parameters and requirements for exploit_attempt.{ name: "exploit_attempt", description: "Attempt exploitation using detected vulnerabilities", inputSchema: { type: "object", properties: { target: { type: "string", description: "Target IP/URL" }, vulnerability: { type: "string", description: "Vulnerability identifier" }, payload: { type: "string", description: "Payload type" } }, required: ["target", "vulnerability"] } },
- src/index.ts:531-533 (registration)MCP server registration: dispatches exploit_attempt calls to ExploitTools.exploitAttempt method.case "exploit_attempt": return respond(await this.exploitTools.exploitAttempt(args.target, args.vulnerability, args.payload));
- src/utils/validation.ts:316-366 (helper)Input validation helper specifically for exploit_attempt tool, ensuring valid target and required vulnerability parameter.case 'exploit_attempt': this.validateExploitArgs(args); break; // Add more tool-specific validations as needed } } private validateNmapArgs(args: any): void { if (args.target) { const validation = this.targetValidator.validateTarget(args.target); if (!validation.isValid) { throw new ValidationError(`Invalid nmap target: ${validation.error}`, 'INVALID_NMAP_TARGET'); } } const allowedScanTypes = ['quick', 'full', 'stealth', 'aggressive']; if (args.scan_type && !allowedScanTypes.includes(args.scan_type)) { throw new ValidationError('Invalid scan type', 'INVALID_SCAN_TYPE'); } } private validateNucleiArgs(args: any): void { if (args.target) { const validation = this.targetValidator.validateTarget(args.target); if (!validation.isValid) { throw new ValidationError(`Invalid nuclei target: ${validation.error}`, 'INVALID_NUCLEI_TARGET'); } } const allowedSeverities = ['info', 'low', 'medium', 'high', 'critical']; if (args.severity && !allowedSeverities.includes(args.severity)) { throw new ValidationError('Invalid severity level', 'INVALID_SEVERITY'); } } private validateExploitArgs(args: any): void { if (args.target) { const validation = this.targetValidator.validateTarget(args.target); if (!validation.isValid) { throw new ValidationError(`Invalid exploit target: ${validation.error}`, 'INVALID_EXPLOIT_TARGET'); } } // Additional checks for exploitation attempts if (!args.vulnerability) { throw new ValidationError('Vulnerability identifier required for exploitation', 'MISSING_VULNERABILITY'); } // Log exploitation attempts for audit purposes console.log(`AUDIT: Exploitation attempt - Target: ${args.target}, Vulnerability: ${args.vulnerability}`); }