Static malware/file analysis via Qu1cksc0pe exposed as MCP tools. Supports Windows PE/MSI, Linux ELF, macOS Mach-O, Android APK/DEX/JAR, PCAP, documents, scripts (PowerShell/VBA/JS/HTA/batch/LNK) and email files.
Qu1cksc0pe MCP server provides 12 malware analysis tools with documented input schemas and descriptions. Most tools have clear, actionable descriptions (avg ~150 chars) and complete parameter schemas with type definitions. However, there are significant gaps: (1) no output schemas documented for any tool, LLMs cannot plan downstream operations or understand return structure; (2) no error handling guidance, failures leave agents with no recovery path; (3) several tools lack parameter descriptions (e.g., 'ai_provider' in analyze/archive has minimal guidance on valid values); (4) no tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite all tools being read-only; (5) inconsistent parameter naming (file_path vs folder_path); (6) no pagination support despite potential for large result sets. Tool names are strong (verb_noun pattern: analyze, hashscan, packer, etc.). The server correctly handles sensitive parameters (VirusTotal API key is requested at runtime, not hardcoded), but no guidance on secret injection patterns is visible. Average tool score is 62/100.
OS/file type auto-detection with static triage, JSON report, and VirusTotal file lookup.
Batch analysis of all files in a folder with optional nested recursion.
Archive inspection with nested IOC/YARA triage, JSON report, optional AI support, and VirusTotal file lookup.
Document, macro and VB-family script analysis with report and VirusTotal file lookup.
URL/IP/email extraction with JSON report support.
Hash lookup against local malware signature database.
Programming language fingerprint analysis with JSON report output.
No output schemas documented for any tool. LLMs cannot infer return structure, field names, or data types. This prevents agents from planning multi-step tool chains and forces them to guess at downstream operations.
No error handling guidance in any tool description. Failures do not tell LLMs what to do next: is the error retryable? Should the agent ask the user? What caused it? Raw errors leave agents without a recovery path.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
List all supported file types and analysis tools available in Qu1cksc0pe.
Packer signature detection for packed binaries with JSON report output.
Resource section extraction and payload carving.
Embedded signature scan and carved object detection.
Query file hash on VirusTotal (requires API key via --key_init).
Missing tool annotations despite all tools being read-only. Code indicates all tools are marked Risk: READ_ONLY, but schema does not include readOnlyHint annotation. This is required for agents to understand operation safety and plan appropriately.
'ai_provider' parameter in analyze, analyze_folder, and archive lacks clear enum constraint or description of valid values. Description says 'Choose one of: auto, ollama, claude, openai, deepseek, kimi, glm' in documentation but this should be enforced as an enum in the schema to prevent LLM hallucination of invalid providers.
Parameter naming inconsistency: 'file_path' vs 'folder_path'. Rubric baseline expects consistent naming patterns. Should use 'path' with type hint in description (file vs folder) or always prefix with the type. This creates cognitive load for LLMs choosing which parameter to use.
Minimal parameter descriptions for several tools: 'resource', 'sigcheck' descriptions are 50 chars or less. Rubric requires 10-1024 chars with context for selection. E.g., 'sigcheck' is just 'Embedded signature scan and carved object detection', no explanation of WHEN to use it or WHAT prerequisites it has.
No pagination support documented for tools that may return large result sets (analyze_folder with recursive=true, resource extraction, domain extraction). Tools should declare limit/offset and total count support to prevent context window exhaustion.
vtFile parameter 'api_key' exposed in tool input schema. Should use server-side secret injection via environment variable (e.g., VIRUSTOTAL_API_KEY) instead of requiring it per-call. Current implementation logs all parameters, risking credential leak.