Back to skill

Security audit

Calliper SaaS Markdown

Security checks for vulnerabilities and agentic risk

Overview

This skill is coherent for document comparison: it sends two user-selected local files to PaodingAI/Calliper and returns Markdown, with no hidden persistence or destructive behavior found.

Install this only if you are comfortable sending the selected document contents and filenames to the configured PaodingAI/Calliper endpoint using your API token. Verify the endpoint-related environment variables before use, avoid regulated or confidential documents unless approved, and prefer installing from a pinned version or reviewed commit when possible.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The skill invokes a Node.js script that reads environment variables and sends local files to a remote API, yet the skill manifest does not declare an explicit tool scope such as permissions or allowed-tools. This weakens reviewability and policy enforcement because consumers cannot easily tell from the manifest that the skill needs environment access and outbound network access.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill explicitly uploads two local documents to a remote API for comparison, but the documentation does not prominently warn that document contents leave the local system. In a document-comparison context, files may contain contracts, regulated data, or trade secrets, so missing disclosure materially increases the risk of unintended sensitive-data exfiltration.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

The installation command uses npx skills add PaodingAI/skills without a pinned version, which makes installs non-reproducible and exposes users to supply-chain risk if the upstream package or referenced content changes maliciously or unexpectedly. A later compromise of the publisher account or repository could silently alter what gets installed.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The default prompt instructs the agent to always execute a bundled script, regardless of whether the user actually requested document comparison. This creates over-broad tool activation that can trigger unintended file processing and external API calls using available credentials, increasing the risk of unnecessary data exposure and misuse of local files.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
71% confidence
Finding

The instruction says to return markdown content directly when the user asks for markdown output, and otherwise to extract only the required diff content, which enforces a specific presentation format tied to the skill. While not a strong violation, it does not present any user opt-in for alternative locale or language behavior if such preferences differ.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/compare_to_markdown.js:8