Skip to content

Releases: ThirdKeyAI/agentsniff

v2.0.2 — AgentSniff Rust (cross-build fix)

27 May 04:05
2a998db

Choose a tag to compare

AgentSniff Rust v2.0.2

Patch release that ships pre-built binaries for the Rust rewrite.

Fix

  • ARM64 Linux cross-compilereqwest no longer pulls in native-tls (and therefore openssl-sys) alongside the explicitly-configured rustls-tls. Resolves the v2.0.1 release workflow failure where the cross runner couldn't find aarch64 OpenSSL development headers.
  • agentsniff and agentsniff-common are bumped to 2.0.2 on crates.io. No runtime / API changes vs 2.0.1; this is purely a dependency-feature trim.

What's in this release (carried over from v2.0.1)

  • First binary release of the Rust rewrite. Same CLI, same dashboard, same Detected Agent JSON schema as Python v1.3.0 — feature-parity plus several extras only v2 ships.
  • Pre-built binaries for x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, aarch64-apple-darwin, x86_64-apple-darwin, and x86_64-pc-windows-msvc.
  • Optional eBPF passive capture via the ebpf feature on crates.io (cargo install agentsniff --features ebpf).
  • PostgreSQL and Redis storage backends for scan history (SQLite remains the default).
  • Zeek log ingestion (--zeek-logs) and nmap enrichment (--nmap).
  • SSE Detector — eBPF passive mode, raw-socket fallback elsewhere.
  • Database management APIGET /api/db/backup and POST /api/db/reset.
  • Parallelized per-host probes — significantly faster scans on wide subnets.

Detection coverage

The signed signature bundle adds 32 new LLM domains, 26 frameworks, 9 ports, plus tightened endpoint/traffic heuristics to kill false positives. Same signing key as v1 — public key at agentsniff.org/.well-known/schemapin.json.

Compatibility

  • The Python implementation (agentsniff/) remains in the repo as v1, still maintained for parity. New work targets v2.
  • Configuration, alert payloads, SARIF exports, and database history are interchangeable between v1 and v2.

Install

Source Command
crates.io (Rust) cargo install agentsniff
crates.io + eBPF cargo install agentsniff --features ebpf (needs nightly)
Pre-built binary See the assets below; verify with cosign
PyPI (v1 legacy) pip install agentsniff
Docker docker pull ghcr.io/thirdkeyai/agentsniff

Note: v2.0.1 exists on this page without binaries (the workflow ran into the OpenSSL issue this release fixes). For pre-built binaries use v2.0.2.

Pre-Built Binaries

Tip: the most reliable install path is cargo install agentsniff (or cargo install agentsniff --features ebpf for the kernel-side passive capture). The binaries below are convenient for users without a Rust toolchain.

Install

macOS / Linux — one-liner:

curl -fsSL https://raw.githubusercontent.com/ThirdKeyAI/agentsniff/main/scripts/install.sh | bash

From crates.io:

cargo install agentsniff
cargo install agentsniff --features ebpf   # optional eBPF passive capture

Docker:

docker pull ghcr.io/thirdkeyai/agentsniff

Manual download: grab the matching archive for your platform from the assets below and verify the SHA256 against checksums.txt.

Cosign verification

Each archive is signed with Sigstore cosign via keyless OIDC. Verify with:

cosign verify-blob \
  --certificate agentsniff-<tag>-<target>.tar.gz.pem \
  --signature   agentsniff-<tag>-<target>.tar.gz.sig \
  --certificate-identity-regexp="https://github.com/ThirdKeyAI/agentsniff" \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  agentsniff-<tag>-<target>.tar.gz

checksums.txt is signed the same way (checksums.txt.sig / checksums.txt.pem).

v2.0.1 — AgentSniff Rust

27 May 00:04
24c4d04

Choose a tag to compare

AgentSniff Rust v2.0.1

First binary release of the Rust rewrite. Same CLI, same dashboard, same Detected Agent JSON schema as Python v1.3.0 — feature-parity plus several extras only v2 ships:

What's new in v2

  • Rust workspace (agentsniff-rs/) with a single self-contained binary. The dashboard HTML and the signed signature files are statically embedded — drop the binary anywhere and run.
  • crates.iocargo install agentsniff is now the recommended install path.
  • Optional eBPF passive capture via the ebpf feature. The agentsniff-ebpf crate ships inside the published tarball and auto-selects nightly through its own rust-toolchain.toml, so cargo install agentsniff --features ebpf works end-to-end.
  • PostgreSQL and Redis storage backends for scan history (SQLite remains the default).
  • Zeek log ingestion (--zeek-logs) and nmap enrichment (--nmap).
  • SSE Detector — eBPF in passive mode, raw-socket fallback elsewhere.
  • Database management APIGET /api/db/backup and POST /api/db/reset.
  • Parallelized per-host probes — significantly faster scans on wide subnets.

Detection coverage refreshed

The signed signature bundle adds 32 new LLM domains, 26 frameworks, 9 ports, plus tightened endpoint/traffic heuristics to kill false positives. v2 ships the same key as v1 — public key at agentsniff.org/.well-known/schemapin.json.

Compatibility

  • The Python implementation (agentsniff/) remains in the repo as v1, still maintained for parity. New work targets v2.
  • Configuration, alert payloads, SARIF exports, and database history are interchangeable between v1 and v2.

Install

Source Command
crates.io (Rust) cargo install agentsniff
crates.io + eBPF cargo install agentsniff --features ebpf (needs nightly)
Pre-built binary See the assets below; verify with cosign
PyPI (v1 legacy) pip install agentsniff
Docker docker pull ghcr.io/thirdkeyai/agentsniff

v1.3.0

10 Mar 05:01
3c4cb64

Choose a tag to compare

Externalized Detection Signatures with SchemaPin Verification

Detection signatures are now stored as external JSON files with ECDSA-P256-SHA256 signature verification via SchemaPin.

New Features

  • Externalized signatures: All detection lists (LLM domains, agent infra domains, framework fingerprints, ports, TLS fingerprints, MCP methods, domain suffixes) moved from hardcoded Python to JSON files in agentsniff/signatures/
  • SchemaPin signature verification: Each JSON file has a companion .sig file for tamper detection. CLI shows verification status on startup, dashboard displays a signature badge
  • agentsniff update-signatures command: Download latest signatures from GitHub with optional --verify/--no-verify flags
  • Expanded detection coverage (69 frameworks, 63 LLM domains, 45 agent infra domains, 16 domain suffixes):
    • MCP registries: Smithery, mcphub.tools, mcp.run, PulseMCP, OpenTools
    • Observability: Langfuse, Braintrust, AgentOps, Arize Phoenix, LlamaTrace
    • IDE backends: Cursor, GitHub Copilot, Windsurf
    • New frameworks: Anthropic SDK, Google GenAI SDK, Claude Desktop, Strands Agents, Google ADK, Vercel AI SDK, E2B, AgentOps, MCP Inspector
    • Expanded header detection: x-stainless-, x-cursor-, Helicone-, x-portkey-, x-bt-*
    • MCP client fingerprinting via mcp_client_name in initialize handshake
  • MCP streamable HTTP transport: Detects MCP-Protocol-Version response header as definitive MCP indicator
  • Public key published at agentsniff.org/.well-known/schemapin.json

Bug Fixes

  • Fix dashboard showing duplicate agents for same host IP
  • Fix SchemaPin API method names for signature verification
  • Fix .sig file key field lookup (public_key vs public_key_pem)

Custom Rules

Users can still add custom domains, ports, and framework signatures via YAML config, environment variables, or programmatic ScanConfig fields. Custom rules merge with (not replace) the signed signature files.

v1.2.1

09 Mar 22:14

Choose a tag to compare

Bug Fixes

  • Fix scan hanging indefinitely: Scans via the dashboard (SSE) would hang forever after all detectors completed. The asyncio.wait loop was waiting on the cancel event even when no cancellation was requested. Scans now complete in ~0.2s for a single host (down from hanging indefinitely).
  • Endpoint prober port pre-filtering: Quick TCP connect check skips closed ports before HTTP probing, reducing ~1034 probes to only reachable ports.
  • DNS resolution timeouts: 3s timeout on getaddrinfo calls in traffic analyzer and DNS monitor to prevent blocking on unresponsive DNS.
  • Per-detector completion logging: Each detector now logs when it finishes with signal count for easier debugging.

v1.2.0

09 Mar 21:08

Choose a tag to compare

What's New

Integrations Layer

  • Zeek data source: Feed Zeek JSON logs (conn.log, dns.log, ssl.log) into traffic analyzer and DNS monitor detectors
  • nmap enricher: Post-scan service version scanning that boosts, excludes (INFO status), or annotates detected agents
  • Both integrations are off by default with lazy imports — no new required dependencies

Expanded Detection Signatures

  • ~41 new LLM API domains: Cerebras, OpenRouter, SambaNova, AI21, DeepInfra, plus Chinese providers (DashScope, Moonshot, Zhipu, MiniMax, Baidu/ERNIE, ByteDance/Doubao, StepFun, Baichuan, 01.ai, Tencent/Hunyuan, iFlytek, SenseTime, ModelScope)
  • ~28 new framework signatures: IDE agents (Cursor, Copilot, Windsurf, Aider, RooCode, Claude Code, Codex CLI), frameworks (LangGraph, AG2, Haystack, Composio, Letta), observability (Langfuse, Langsmith, Helicone), local inference (llama.cpp, TabbyML, Jan, KoboldCpp)
  • ~9 new agent ports: LiteLLM (4000), LangGraph Studio (2024), Letta (8283), Continue.dev (65432), and more
  • 6 new domain suffixes: Azure Models, SageMaker, IBM Watson, Volcengine

Other

  • New model types: INFO agent status, NMAP_ENRICHER and ZEEK detector types
  • CLI flags: --zeek-logs, --nmap, --nmap-args
  • Optional dependency: pip install agentsniff[nmap]
  • Dashboard screenshots in README

v1.1.1

09 Mar 20:04

Choose a tag to compare

What's New in v1.1.x

Accuracy Improvements (v1.1.0)

  • Cross-module confidence fusion to suppress uncorroborated LOW port signals
  • ORA-loop temporal correlation in traffic analyzer
  • JA4+ TLS fingerprinting alongside JA3
  • SSE response pattern detector for LLM streaming
  • Banner-based self-corroboration for port scanner
  • Baseline anomaly detection for continuous monitoring

Dashboard Fixes (v1.1.1)

  • Live stat counters update as agents are detected during scan
  • Detector checkboxes greyed out during scan
  • Stop button reliability fix
  • History navigation preserves results when returning to live view
  • Cancelled/stopped scans now save to history

Install

pip install agentsniff==1.1.1

v1.0.2

03 Mar 07:12

Choose a tag to compare

New Features

  • Port scanner & endpoint prober detectors — all 7 detectors now fully implemented (TCP connect scan with banner grabbing, HTTP probing of 20+ AI framework signatures)
  • SARIF 2.1.0 export — CLI --format sarif, GET /api/scan/sarif endpoint, dashboard export dropdown
  • Real-time progressive scan results — agents appear in dashboard as each detector completes, not after the full scan finishes
  • Back-to-live-scan navigation — view historical scans during an active scan and return to the live view

Bug Fixes

  • Stop scan now properly stops the timer and resets the UI
  • Reduced false positives on non-AI services (Pi-hole, Gitea, etc.):
    • Generic HTTP/HTML responses no longer flagged as agent service indicators
    • OpenAPI/Swagger specs validated for AI-specific keywords before assigning high confidence
    • Agent metadata detection requires actual agent directory structure or AI plugin spec
    • Framework endpoint matching requires framework name in response body

Dependencies

  • Added sarif-om and jschema-to-python for SARIF export support

Install

pip install agentsniff==1.0.2

v1.0.1

03 Mar 04:01

Choose a tag to compare

What's New

  • SQLite persistence — scan history now persists across restarts (~/.agentsniff/agentsniff.db)
  • Log file support--log-file flag for file logging alongside console output
  • Dashboard: Scan History panel — collapsible panel showing past scans, click to reload results
  • Dashboard: Detector toggles — enable/disable individual detectors before scanning
  • Dashboard: Database management — backup (tar.gz download) and reset database from settings
  • New API endpointsGET /api/scan/{scan_id}, paginated GET /api/scan/history, GET /api/db/backup, POST /api/db/reset
  • 5x faster scans — default HTTP concurrency increased from 20 to 100
  • CLI flags--db and --log-file for both scan and serve commands

Install

pip install agentsniff==1.0.1

v1.0.0

02 Mar 22:39

Choose a tag to compare

AgentSniff v1.0.0

AI Agent Network Scanner — Detect AI agents operating on your network through passive monitoring, active probing, protocol detection, and behavioral analysis.

Features

  • 7 detection modules: DNS monitoring, port scanning, AgentPin probing, MCP detection, endpoint probing, TLS fingerprinting, traffic analysis
  • Web dashboard with real-time SSE streaming, agent detail expansion, and JSON export
  • CLI with table, JSON, and CSV output formats
  • Continuous scanning mode with configurable intervals
  • Alerting via webhook POST and SMTP email with configurable thresholds and cooldown
  • Dashboard settings modal for interactive alert configuration
  • Scan cancellation with stop button support
  • REST API with full scan management, agent inventory, and settings endpoints
  • Docker and Docker Compose support with host networking for passive monitoring
  • Cron-friendly one-shot scanning with alert and file output flags

Alert Channels

  • Webhook: --webhook-url flag or YAML/env config, sends JSON payload with agent details
  • Email (SMTP): --smtp-to flag or YAML/env config, sends summary with JSON attachment

Detection Targets

Identifies agents built with LangChain, CrewAI, AutoGen, Symbiont, Dify, Flowise, n8n, and OpenAI Assistants. Detects MCP servers, AgentPin identities, LLM API connections (OpenAI, Anthropic, Google, Mistral, Groq, and 15+ more), and agent-characteristic traffic patterns.