Synaps Scanner
Synaps is Hugin's WASM-based vulnerability scanner. Modules are compiled to WebAssembly and executed in a sandboxed runtime (Wasmtime), providing safe, portable, and extensible scanning. Each module runs with a 1 billion instruction fuel limit and a 16 MB memory cap. A misbehaving or malicious module cannot hang the scanner or consume unbounded resources.
How It Works
- Modules are written in Rust and compiled to
wasm32-unknown-unknown. - At scan time, Hugin loads modules and feeds them target information.
- Each module decides whether to check a target (
should_check) and performs its analysis (check). - Modules can make HTTP requests, DNS queries, raw TCP connections, WebSocket connections, and browser automation calls through the host runtime.
- Results (findings) are collected and stored in the database.
Module Lifecycle
get_info() -> Returns module metadata (name, severity, tags, CVE, CWE, CVSS)
should_check() -> Returns true/false based on target characteristics
check() -> Performs the actual vulnerability check
Host Capabilities
Modules interact with the outside world exclusively through the Context trait. The host brokers all calls. Available capabilities:
- HTTP -- GET, POST, and custom requests with headers and bodies
- DNS -- A/AAAA/TXT queries
- TLS -- Certificate inspection
- Raw TCP -- Arbitrary TCP connections with timeout control
- WebSocket -- Connect, send, receive, close
- OOB (Oastify) -- Generate DNS/HTTP/SMTP/LDAP/FTP/SMB callback payloads and check for triggers
- Headless browser -- Navigate, inspect DOM, fill forms, click, screenshot
- Inter-module data -- Share data between producer and consumer modules
- Logging -- Debug, info, warn messages
Module Workflows (Producer/Consumer)
Modules can form pipelines. A producer module sets is_producer: true in its metadata and stores data for downstream modules via set_shared_data(). Consumer modules declare dependencies and retrieve that data via get_shared_data() and get_module_result(). The runtime respects execution order: producers run first.
Managing Modules
CLI
# Download/update community modules
hugin scanner update
# List installed modules
hugin scanner list
# Install a specific module
hugin scanner install ai-gateway-detect
# Remove a module
hugin scanner remove example-module
MCP Tool: synaps
The synaps MCP tool provides full module management and scanning. Requires a Pro license.
Core actions:
list-- Show installed modules. Filter bytags,severity,cve.info-- Get detailed metadata for a specific module.scan-- Run one or more modules against a target.validate-- Check that a.wasmbinary has valid exports.stats-- Module database statistics.tags-- List all tags across modules.search-- Find modules by keyword.
Module-specific scans (run a single specialized check):
scan_ai_gateway-- AI gateway fingerprintingscan_ai_ssrf-- AI agent SSRF detectionscan_bare_lf-- Bare LF HTTP request smugglingscan_cache_poison-- Cache poisoningscan_charset_rce-- Charset-based RCEscan_fluentbit-- Fluent Bit CVE detectionscan_graphql_intro-- GraphQL introspectionscan_graphql_sub-- GraphQL subscription endpoint checksscan_grpc_web-- gRPC-Web endpoint detectionscan_jwt_confusion-- JWT algorithm confusionscan_mass_assign-- Mass assignmentscan_mqtt-- MQTT protocol analysisscan_nextjs_csrf-- Next.js CSRF token bypassscan_oidc-- OIDC logout endpoint detectionscan_quic-- QUIC protocol fingerprintingscan_rust_http-- HTTP differential response analysisscan_rust_panic-- Rust panic endpoint detectionscan_ssrf-- Server-side request forgeryscan_vectordb-- Vector database endpoint detectionscan_wcd-- Web cache deceptionscan_webtransport-- WebTransport endpoint detection
Community Modules
The synaps-community repository contains community-contributed modules organized by category:
- web -- Web framework vulnerabilities (Next.js, GraphQL, HTTP smuggling)
- cloud -- Cloud service misconfigurations (AI gateways, FluentBit CVEs)
- api -- API security issues (OAuth, OIDC)
- injection -- Injection vulnerabilities (charset RCE)
- cve -- Known CVE detection
- tech -- Technology fingerprinting (AI agents, vector DBs, MQTT, QUIC)
See Community Modules for details on installing and updating community modules, and Module Development for the complete guide to writing your own.