/** * Adversary Tactics Scanner (deterministic, $0 COGS) * * Runs the ~135 regex "tactics" from the adversary agent WITHOUT any LLM call. * These cover the broad pre-launch checklist surface: rate limiting, CORS, CSRF, * clickjacking/security headers, IDOR/BOLA, mass-assignment, over-fetching, * MFA bypass, JWT/session, injection, infra/IaC. The full adversary *agent* * (LLM reasoning on top of these) stays in the paid tier; this adapter exposes * the free, deterministic regex layer as a normal scanner. * * @module scanners/adversary-tactics */ import type { ScannerResult } from "./types.js"; import type { AttackFocusArea } from "../agents/adversary/types.js"; import "../agents/adversary/tactics/injection.js"; import "../agents/adversary/tactics/auth.js"; import "../agents/adversary/tactics/api.js"; import "../agents/adversary/tactics/web-app.js"; import "../agents/adversary/tactics/llm.js"; import "../agents/adversary/tactics/infra.js"; /** * Run all registered adversary tactics (regex only) over a project. * * @param options.scanTestFixtures - When true, removes the default exclusions * for test/spec/fixture/eval files. The eval/benchmark harness sets this to * ensure labeled-vulnerable fixtures are still scanned for recall measurement. * During normal project scans this must remain false (default) to suppress * false positives from fixture content. * @param options.additionalIgnore - Extra glob patterns to exclude beyond the * built-in test/fixture exclusions. Used by self-cert to exclude scanner * rule definition directories that contain vuln-shaped pattern strings. */ export declare function runAdversaryTacticsScanner(projectPath: string, options?: { timeout?: number; maxFiles?: number; focusAreas?: AttackFocusArea[]; scanTestFixtures?: boolean; additionalIgnore?: string[]; }): Promise; //# sourceMappingURL=adversary-tactics.d.ts.map