/** * PyPI package scanner * * Downloads and analyzes PyPI packages without installing them. * Checks for suspicious install hooks, obfuscated code, and known malicious patterns. */ import type { Finding, ScanReport, ScanOptions } from "./types.js"; /** * Scan a PyPI package by name. */ export declare function scanPypiPackage(packageName: string, options: Omit & { target?: string; }): Promise; /** * Scan extracted package files for malicious patterns. * Exported for tests (the download paths need network; this walker does not). */ export declare function scanExtractedFiles(extractDir: string, findings: Finding[]): void; /** * Analyze a setup file for combined suspicious patterns. * * Performs file-level analysis to detect when a setup.py defines custom * install hooks AND contains dangerous code (subprocess, obfuscated * execution, or network downloads). */ export declare function analyzeSetupFileContext(content: string, relativePath: string, findings: Finding[]): void; /** * Check install_requires for known typosquatted package names. */ export declare function checkInstallRequires(content: string, relativePath: string, findings: Finding[]): void; //# sourceMappingURL=pypi-scanner.d.ts.map