Back to skill

Security audit

canvas-parent

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed Canvas LMS integration that handles sensitive school data and authentication, so users should install it deliberately, but the inspected artifact does not show hidden, deceptive, or unrelated behavior.

Install only if you are comfortable giving this MCP access to Canvas academic records, inbox content, observed student data, and Canvas session authentication. Prefer the narrowest authentication method you trust, verify the npm package and browser extension source, and confirm before downloading course files to disk.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

MCP Config Access

High
Category
Agent Snooping
Confidence
95% confidence
Finding

Skill accesses MCP server configuration files (mcp.json). MCP configs contain server URLs, authentication tokens, and tool definitions — reading them allows the skill to discover and potentially abuse other tool integrations.

Content

Scanner excerpt · SKILL.md (reported line 17)May include surrounding context.

Option A — npx (recommended)

Add to .mcp.json in your project or ~/.claude/mcp.json:

json
{

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 49)May include surrounding context.

md
### Alternatives (env-var)

- **Personal access token** — set `CANVAS_TOKEN`. Most institutions have disabled this for non-admins.
- **OAuth** — set `CANVAS_CLIENT_ID`, `CANVAS_CLIENT_SECRET`, `CANVAS_REFRESH_TOKEN`. Bootstrap via `canvas-parent-mcp-qr-login`.
- **Username/password (session-scrape)** — set `CANVAS_USERNAME` + `CANVAS_PASSWORD`. Direct Canvas accounts only (no SSO/2FA). Brittle.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill is presented as answering questions about Canvas data, but it also exposes a file-download capability that writes data to local disk. That mismatch can cause users or higher-level agents to invoke the skill under the assumption of read-only behavior, increasing the risk of unintended local side effects and handling of untrusted files.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The activation criteria are broad enough to trigger on many general school-related requests, which can cause over-invocation of a sensitive skill tied to academic records and observer data. In context, that raises privacy risk because the skill can access grades, conversations, and linked student information for observed accounts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation advertises downloading course files to disk without a prominent warning that this causes a local filesystem write. In a skill context, silent writes of remotely sourced content can expose the host to storage abuse, accidental overwrites, or handling of untrusted files without informed consent.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL.md (reported line 93)May include surrounding context.

md
## Response shape (`view`)

Nine tools take `view: "compact" | "full"`, and **`compact` is the default** —
you get the slim shape without asking for it:

`canvas_get_profile`, `canvas_list_observees`, `canvas_get_course`,
`canvas_get_submission`, `canvas_list_recent_submissions`,

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
75% confidence
Finding

Describing the server as read-focused is misleading when one tool performs a filesystem write by downloading files locally. Even if the write is constrained, this can bypass user expectations and downstream policy assumptions about the skill being non-mutating.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.