io.github.macuse-app/macuse

Bridges AI assistants with native macOS functionality through the Model Context Protocol (MCP).

macuse-appapi-integration
0Tools
6Findings
Mar 24, 2026Last Scanned
3 critical · 1 high · 1 medium · 1 low findings detected

Security Category Deep Dive

Prompt Injection
Prompt & context manipulation attacks
69
Maturity
14
Rules
5
Sub-Categories
1
Gaps
64%
Implemented
56
Tests
1
Stories
PI-DIRDirect Input Injection
100%3 rules
Injection via tool descriptions and parameter fields
GAP-001Prompt Injection Coverage GapMissing detection coverage for emerging prompt injection attack variants not addressed by current rules
PI-INDIndirect / Gateway Injection
100%4 rules
Hidden instructions via external content and tool responses
PI-CTXContext Manipulation
100%2 rules
Context window saturation and prior-approval exploitation
PI-ENCEncoding & Obfuscation
100%3 rules
Payload hiding via invisible chars, base64, schema fields
PI-TPLTemplate & Output Poisoning
100%2 rules
Injection via prompt templates and runtime tool output
Framework Coverage
OWASP MCP Top 1014/14
MITRE ATLAS14/14
CoSAI MCP2/14
OWASP Agentic Top 1012/14
Kill Chain Phases
0Initial Access
0Defense Evasion
0Execution
0Persistence

Findings6

3critical
1high
1medium
1low

Critical3

criticalC1Command InjectionMCP03-command-injectionAML.T0054
Pattern "child_process" matched in source_code: "child_process" (at position 340)
Replace exec()/execSync() with execFile() and pass arguments as an array, never as a string. Validate all inputs against an allowlist before use in any shell context. For subprocess.run, always pass a list and shell=False.
criticalO5Environment Variable HarvestingMCP04-data-exfiltrationAML.T0057
Pattern "(?:process\.env(?!\.|\[)|Object\.(?:keys|entries|values)\s*\(\s*process\.env)" matched in source_code: "process.env" (at position 1355)
Never enumerate the entire process environment. Read only the specific environment variables your tool needs by name (e.g., process.env.DATABASE_URL, not process.env). Never return environment variable values in tool responses. Never send environment variable values in outbound HTTP requests. Use a secret management system (HashiCorp Vault, AWS Secrets Manager) instead of environment variables for credentials.
criticalQ13MCP Bridge Package Supply Chain AttackMCP10-supply-chainAML.T0054
Pattern "(?:mcp|fastmcp|langchain-mcp|llama-index-mcp)(?:>=|~=|==)?(?!\d)" matched in source_code: "MCP" (at position 66)
MCP bridge packages (mcp-remote, mcp-proxy, @modelcontextprotocol/sdk, fastmcp) are high-value supply chain targets — CVE-2025-6514 (CVSS 9.6) in mcp-remote affected 437,000+ installs. Always pin exact versions (no ^ or ~ ranges). Use lockfiles (package-lock.json, pnpm-lock.yaml, uv.lock). Never run `npx mcp-remote` without version pinning. Verify package integrity with `npm audit` or `pip-audit` before deployment. Reference: CVE-2025-6514, OWASP ASI04.

High1

highO10Privacy-Violating TelemetryMCP04-data-exfiltrationAML.T0057
Pattern "(?:os\.(?:type|release|platform|arch|hostname|cpus|networkInterfaces|userInfo|homedir)|process\.(?:arch|platform|ppid))\s*\(?" matched in source_code: "process.platform " (at position 1452)
Minimize data collection to only what is strictly necessary for tool functionality. Never collect OS fingerprints, hardware IDs, network interface details, or unique device identifiers without explicit user consent. Remove all tracking pixels, analytics beacons, and behavioral profiling code. If telemetry is needed, make it opt-in only, clearly documented, and limited to non-identifying aggregated metrics. Comply with GDPR data minimization (Art. 5(1)(c)) and EU AI Act transparency requirements (Art. 52).

Medium1

mediumK17Missing Timeout or Circuit BreakerMCP07-insecure-configAML.T0054
Pattern "(?:exec|execSync|spawn|subprocess\.run|os\.system)\s*\((?!.*(?:timeout|kill|maxBuffer|signal))" matched in source_code: "spawn(" (at position 846)
Add timeouts to ALL external calls: HTTP requests (30s), database queries (10s), subprocess execution (60s), and MCP tool calls (30s). Implement circuit breakers that open after N consecutive failures (e.g., opossum, cockatiel). Use AbortSignal for cancellable operations. Required by EU AI Act Art. 15 and OWASP ASI08.

Low1

lowF4MCP Spec Non-ComplianceMCP07-insecure-config
Server fails MCP spec compliance checks: required:server_name; required:server_version; required:protocol_version; recommended:tool_descriptions; recommended:parameter_descriptions
Follow the MCP specification for server metadata. Include server name, version, and protocol version. Provide descriptions for all tools and parameters.