import { ScannerModule, Finding } from '../types'; /** * A2A Security Scanner * * Fetches and audits Google A2A (Agent-to-Agent) protocol agent cards * (/.well-known/agent.json) for insecure configurations. * * Detection targets: * - Missing or weak authentication * - Overly broad capability scopes * - Untrusted inputModes * - HTTP (non-HTTPS) endpoints */ interface A2AAgentCard { name?: string; url?: string; version?: string; capabilities?: A2ACapabilities; authentication?: A2AAuthentication | A2AAuthentication[]; defaultInputModes?: string[]; defaultOutputModes?: string[]; skills?: A2ASkill[]; [key: string]: unknown; } interface A2ACapabilities { streaming?: boolean; pushNotifications?: boolean; stateTransitionHistory?: boolean; [key: string]: unknown; } interface A2AAuthentication { schemes?: string[]; credentials?: unknown; [key: string]: unknown; } interface A2ASkill { id?: string; name?: string; inputModes?: string[]; outputModes?: string[]; tags?: string[]; [key: string]: unknown; } export declare function auditAuthentication(card: A2AAgentCard, source: string): Finding[]; export declare function auditEndpoints(card: A2AAgentCard, sourceIsHttp: boolean, source: string): Finding[]; export declare function auditCapabilities(card: A2AAgentCard, source: string): Finding[]; export declare function auditInputModes(card: A2AAgentCard, source: string): Finding[]; /** * When invoked as a directory scanner, look for local agent.json files. * When targetPath looks like a URL or explicit file path, resolve it directly. */ export declare const a2aSecurityScanner: ScannerModule; export {}; //# sourceMappingURL=a2a-security-scanner.d.ts.map