Repository navigation
Releases: 1N3/sn1per-mcp
Releases · 1N3/sn1per-mcp
Release list
Sn1per MCP Server v0.9.0
0.9.0 - 2026-11-04
Public beta.
Added
- Local stdio MCP server for Sn1per, installed as
sn1per-mcpfrom PyPI (Python 3.11 or later, Linux). - Edition detection from the Sn1per CLI: Sn1per Community Edition 9.x and the 11.x engine used by Sn1per SE, Sn1per Professional and Sn1per Enterprise, with the
SNIPER_EDITIONoverride. sniper_scanwith fixed per-engine mode tables,stealthas the default mode, a strict target grammar, and a job handle that survives the client session.scan_statuswith job states, failure reasons and a redacted log tail, andcancel_scanto stop a scan started through the server.- Structured loot readers:
list_workspaces,get_findings(with severity summary and filters),get_ports,get_subdomains,get_technologiesandgrep_loot, all with paging. - Opt-in
delete_workspaceandexport_workspace(SNIPER_MCP_ENABLE_DESTRUCTIVE=1), confirmed by the human through MCP elicitation. sniper_statusandsn1per-mcp --checkto show what the server can do on the host and why scanning may be unavailable.- Configuration through the environment or an env file (
--env-file), with recipes for SSH, WSL2 and Docker. - An allowlist-based plugin mechanism (
SNIPER_MCP_PLUGINS).
Security
- A mandatory, fail-closed target scope (
SNIPER_MCP_SCOPE,SNIPER_MCP_SCOPE_FILE) with exclusions, a CIDR cap and a strict DNS policy. Scan requests for targets outside the scope are refused; the scope applies to the requested target at launch time (see the security model). - Always-denied loopback and cloud-metadata names and addresses, and the three IANA example domains (the documentation hosts under
.com,.netand.org), including IPv6 forms that embed an IPv4 address. - Brute-force, exploitation and injection modes are off unless
SNIPER_MCP_ALLOW_INTRUSIVE=1. - A local JSONL audit log of every scan, cancel, delete and export request the server acts on, hash-chained per session and written before the action.
- Secrets in results are redacted by default; untrusted content from scanned systems is labelled and cleaned of control and invisible characters.
sniper_statusand the refusal hints list a file name found on disk only when root chose it: other names underconf/andmodes/are counted, not listed, and a CLI realpath that root did not choose is replaced by a note (sn1per-mcp --checkprints it on the host). The CLI'sINSTALL_DIR=line is used and shown only when root chose the CLI file (warninginstall_dir_marker_untrustedotherwise).- Loot is read without following symbolic links; the loot directory's identity is pinned; FIFOs, devices and hard-linked files are skipped.
- Scans and deletes require a root-owned Sn1per CLI; when the server does not run as root, they also require a root-owned
sudoand a passwordless sudo rule, checked before launch. Every subprocess gets a minimal environment. - A fixed rate limit on scan requests and a concurrency cap.
Upgrade notes
First public release. There is no upgrade path from earlier versions.