/** * Vigil Bug Bounty Engine — Automated Vulnerability Submission & Payout Tracking * * Formats discovered exploit chains into professional bug bounty submissions. * Generates structured reports with CVSS scoring, proof-of-concept code, * reproduction steps, impact analysis, and remediation guidance. * * Supports: HackerOne, Bugcrowd, Intigriti, YesWeHack, direct vendor disclosure. * 安全控制:仅授权目标上的漏洞可提交。 * * Bug bounty automation for authorized targets. */ import { type ExploitPrimitive, type ExploitChain } from '../core/exploitChaining.js'; export type BountyPlatform = 'hackerone' | 'bugcrowd' | 'intigriti' | 'yeswehack' | 'direct'; export interface BountyTarget { organization: string; program: string; scope: string[]; platform: BountyPlatform; platformUrl?: string; maxPayout?: number; rules?: string[]; } export interface BountySubmission { id: string; title: string; severity: 'critical' | 'high' | 'medium' | 'low' | 'none' | 'informational'; cvss: { score: number; vector: string; }; cwe: string; description: string; impact: string; stepsToReproduce: string[]; proofOfConcept: string; remediation: string; affectedVersions: string[]; target: BountyTarget; chain: ExploitChain | null; status: 'draft' | 'submitted' | 'triaged' | 'accepted' | 'rewarded' | 'closed' | 'duplicate'; payoutAmount?: number; payoutCurrency?: string; submittedAt?: string; resolvedAt?: string; platformId?: string; } export interface BountyStats { totalSubmitted: number; totalAccepted: number; totalRewarded: number; totalPayout: number; bySeverity: Record; byPlatform: Record; pendingPayout: number; averageResponseDays: number; } export declare function estimatePayout(severity: BountySubmission['severity'], platform: BountyPlatform): { min: number; max: number; typical: number; }; export interface BugBountyOptions { primitives?: Partial[]; target: BountyTarget; chain?: ExploitChain; includePoC?: boolean; } export interface BugBountyResult { submission: BountySubmission; estimatedPayout: { min: number; max: number; typical: number; }; platformTemplate: string; validationErrors: string[]; ready: boolean; } export declare function createBugBountySubmission(options: BugBountyOptions): BugBountyResult; export declare function createBountyStats(submissions: BountySubmission[]): BountyStats; export declare function formatHackerOneSubmission(sub: BountySubmission): { title: string; body: string; }; export declare function formatBugcrowdSubmission(sub: BountySubmission): { title: string; body: string; priority: string; }; export declare function formatDirectDisclosure(sub: BountySubmission): { subject: string; body: string; to: string; }; export declare const bugBounty: { create: typeof createBugBountySubmission; stats: typeof createBountyStats; hackerone: typeof formatHackerOneSubmission; bugcrowd: typeof formatBugcrowdSubmission; direct: typeof formatDirectDisclosure; estimatePayout: typeof estimatePayout; }; //# sourceMappingURL=bugBounty.d.ts.map