Function Signature
aguara.go:81
Description
Scans a file or directory on disk for security issues using all registered analyzers:- Pattern Matcher: Regex/contains matching against YAML rules
- NLP Injection: Markdown-specific instruction injection detection
- Toxic Flow: Taint tracking for dangerous data flows
- Rug-Pull: File change detection (when used with
--monitor)
Parameters
| Parameter | Type | Description |
|---|---|---|
ctx | context.Context | Context for cancellation and timeout |
path | string | File or directory path to scan |
opts | ...Option | Functional options (see Options) |
Return Values
| Type | Description |
|---|---|
*ScanResult | Scan results containing findings, file count, and metadata |
error | Non-nil if path doesn’t exist, permission denied, or rule compilation fails |
Examples
Basic Usage
With Minimum Severity Filter
With Disabled Rules
With Custom Rules
With Multiple Options
With Timeout
Processing Results
Exit on Critical Findings
File Discovery
When scanning a directory, Aguara:- Recursively walks the directory tree
- Skips ignored patterns (
.git/,node_modules/, etc.) - Skips binary file extensions (
.exe,.dll,.so,.png,.jpg,.zip,.pdf) - Respects
.aguaraignorefiles (gitignore-style patterns) - Applies
WithIgnorePatterns()if specified - Filters by
WithMaxFileSize()if set (default: 50 MB)
Concurrency
Scanning is parallelized using a worker pool:- Default worker count:
runtime.NumCPU() - Override with
WithWorkers(n) - Each worker processes one file at a time
- Results are collected concurrently
Related
- ScanContent() - Scan inline content without disk I/O
- Options - All available functional options
- ScanResult - Result type definition
