-
Notifications
You must be signed in to change notification settings - Fork 11
FAQ
Aguara detects security threats in AI agent skills and MCP server configurations: prompt injection, data exfiltration, credential leaks, supply-chain attacks, MCP-specific threats, and more. See Detection Rules for the full list.
No. Aguara uses deterministic static analysis: regex patterns, NLP-based Markdown structure analysis, and taint tracking. Same input always produces the same output. No API keys needed, no cloud calls.
Primarily Markdown (.md) and text files (.txt) — the standard formats for AI agent skills. Also scans JSON configs (MCP configurations) when using --auto or targeting .json files.
No. Aguara works completely offline. Rules are embedded in the binary. The only optional network call is the update check (disable with --no-update-check).
Your PATH doesn't include the install directory. Fix:
# If installed via install script (default: ~/.local/bin)
export PATH="$HOME/.local/bin:$PATH"
# If installed via go install (default: ~/go/bin)
export PATH="$HOME/go/bin:$PATH"Add the export line to your ~/.bashrc or ~/.zshrc to make it permanent.
Go 1.25+ for building from source. Pre-built binaries require no Go installation.
aguara scan --autoThis auto-discovers configurations for 17 MCP clients (Claude Desktop, Cursor, VS Code, etc.) and scans them all.
Several options:
-
Disable specific rules:
aguara scan . --disable-rule CRED_004,EXTDL_004 -
Use
.aguara.ymloverrides:rule_overrides: CRED_004: severity: low EXTDL_004: disabled: true
-
Use
exclude_patternsin custom rules to suppress matches in documentation contexts. -
Filter by severity:
aguara scan . --severity high
Yes:
aguara scan . --changedThis uses git diff to find changed files and only scans those.
-
--severitycontrols which findings are displayed (minimum threshold) -
--fail-oncontrols the exit code (exit 1 if findings at or above this level)
Example: show everything but only fail CI on high+:
aguara scan . --severity info --fail-on highSee Custom Rules. Rules are YAML files with patterns, examples, and metadata.
Go's regexp package uses RE2, which doesn't support Perl-style lookaheads ((?!...)) or lookbehinds ((?<=...)). Use character class restrictions or match_mode: all with multiple patterns instead.
Pattern rules match explicit text patterns. NLP detections analyze the structure of Markdown documents:
- Heading says "Configuration Guide" but body contains
rm -rf / - HTML comment contains action verbs like "execute" or "install"
- Code block labeled as "yaml" but contains shell commands
These catch attacks that are structurally hidden, not pattern-based.
| Code | Meaning |
|---|---|
0 |
No findings above threshold |
1 |
Findings at or above --fail-on severity |
2 |
Runtime error |
aguara scan . --format sarif -o results.sarifThen use github/codeql-action/upload-sarif in your workflow. See CI Integration.
Yes. See Go Library API:
import "github.com/garagon/aguara"
result, err := aguara.ScanContent(ctx, content, "skill.md")An MCP server that gives AI agents security scanning as a tool. Install with go install github.com/garagon/aguara-mcp@latest. See Ecosystem.
A public dashboard at watch.aguarascan.com that scans 28,000+ skills daily across 5 registries. See Ecosystem.
GitHub | Releases | Aguara Watch | Go Docs
Getting Started
Usage
Rules
Developer
Reference