Hermes VirusTotal is a Hermes Agent plugin that adds VirusTotal AI (VTAI) reputation signals for file and hash workflows. It provides reputation context that the model and the user can use when deciding what to trust.
- Manual reputation tools:
vt_check_hash(hash): check a MD5, SHA1, or SHA256 in VTAI/VirusTotal.vt_check_file(path): hash a file in the active Hermes execution environment and check that hash.
- Advisor context: observed artifacts are summarized via
pre_llm_callas fenced, untrusted context for the model. Context is scoped to the active Hermes session, deduplicated between turns, and aged out when stale. - Provenance metadata: content created by
write_file,patch, andexecute_codeis hashed and recorded with its VTAI/VirusTotal verdict when available. - Privacy-respecting upload policy: binaries (ELF, PE/MZ, Mach-O, WASM, Java class, DEX) are auto-submitted to VTAI by default so the community can analyze potential new malware. Scripts, source code, markdown, and other text are never auto-uploaded. Archives are opt-in. A path blocklist and a secret-pattern scan short-circuit uploads that could leak user data.
- Optional enforcement: set
VTAI_ENFORCE_KNOWN_MALICIOUS=1to block only exact content hashes that VTAI/VirusTotal reports as malicious. This is off by default.
hermes plugins install king-tero/hermes-virustotalRestart the gateway if you use Hermes through a messaging platform:
hermes gateway restartPlugin skills are explicit plugin skills:
hermes -s hermes-virustotal:sentinel
hermes -s hermes-virustotal:ir-protocol- The plugin registers
vt_check_hash,vt_check_file,pre_tool_call, andpre_llm_call. pre_tool_callobserves new content from file/code-writing tools (write_file,patch,execute_code) and stores local metadata. VTAI registration happens only on the explicitvt_check_filetool path.pre_llm_callinjects a compact VirusTotal advisor context with recent artifact paths, hashes, verdicts, stats, and short insight text for the currentsession_id.- By default, tool execution proceeds even when VTAI is unavailable or returns no data. This fail-open behavior is intentional to avoid friction.
- If
VTAI_ENFORCE_KNOWN_MALICIOUS=1is set, only exact content hashes with a malicious verdict are blocked.
Environment variables:
VTAI_AGENT_TOKEN: VTAI token returned by/api/v3/agents/register.VTAI_AGENT_IDandVTAI_AGENT_HANDLE: Optional metadata saved after automatic VTAI registration for support and debugging.VIRUSTOTAL_API_KEY: Optional standard VirusTotal API key. If set, it is used beforeVTAI_AGENT_TOKEN.VTAI_AUTO_UPLOAD_BINARIES: Auto-submit binary content (ELF, PE/MZ, Mach-O, WASM, Java class, DEX) written viawrite_file/patch/execute_codewhen the hash is unknown. Defaults to1. Set to0to disable.VTAI_AUTO_UPLOAD_ARCHIVES=1: Opt in to auto-submitting archive content (ZIP, 7z, RAR, gzip, bzip2, xz). Defaults to off because archives may contain source code.VTAI_UPLOAD_NEVER_PATHS: Comma-separated glob patterns added on top of the built-in blocklist. Paths matching any pattern are never uploaded. Built-in blocklist covers.env*,*.key,*.pem,id_rsa*,id_ed25519*,.ssh/*,secrets/*,*secret*,*password*,*credential*,known_hosts, andauthorized_keys.VTAI_ENFORCE_KNOWN_MALICIOUS=1: Opt in to blocking exact malicious hashes.VTAI_HASH_HOT_TIMEOUT: Hash reputation timeout for passivepre_tool_callobservations. Defaults to3.VTAI_HASH_MANUAL_TIMEOUT: Hash reputation timeout for explicitvt_check_hashandvt_check_filecalls. Defaults to8.VTAI_HASH_TIMEOUT: Backwards-compatible fallback used when the specific hot or manual timeout is unset.VTAI_CONTEXT_TTL_SECONDS: How long non-malicious artifact observations stay eligible for advisor context. Defaults to1800.VTAI_MALICIOUS_CONTEXT_TTL_SECONDS: How long malicious observations stay eligible for advisor context. Defaults to5400.VTAI_CONTEXT_DEDUP_MAX_SESSIONS: Maximum in-process sessions tracked for advisor context deduplication. Defaults to1024.VTAI_REGISTER_TIMEOUTandVTAI_UPLOAD_TIMEOUT: Registration and upload request timeouts in seconds. Both default to30.
This plugin provides known-file reputation. Use Hermes sandboxing, approvals, and core policy for hard enforcement.
This project is Open Source under the MIT license. Contributions from the cybersecurity and AI community are welcome.