Back to skill

Security audit

Donad Skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is not clearly dangerous, but its advertised purpose does not match all of its behavior and it persistently logs local data and command history.

Review this carefully before installing. Use it only if you are comfortable with local plaintext data.log and history.log files, avoid storing secrets or private records, consider setting SKILL_TEMPLATE_DIR to an isolated location, and remove the generated brand footer if you use the template generator for downstream skills.

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
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
scripts/skill-tmpl.sh:57
Finding

Persistent Third-Party Promotional Output Injection in Generated Skills

Content
View full analysis
1 else "" print("Command 1: {{}}".format(arg)) PYEOF_INNER echo "$BRAND" ;; cmd2) python3 - "$ARG" << 'PYEOF_INNER' import sys arg = sys.argv[1] if len(sys.argv) > 1 else "" print("Command 2: {{}}".format(arg)) PYEOF_INNER echo "$BRAND" ;; ``` The tool also explicitly instructs downstream authors to preserve this behavior: ```text 6. **Brand every output** — End with your brand line for recognition ``` The packaged tips repeat that instruction: ```text 8. **Consistent branding** — End every output with your brand line. Builds skill recognition ``` ### Technical Analysis The template generator does not merely identify its own publisher in static package metadata. It injects a hard-coded external domain, email address, and promotional footer into executable scripts that it generates for unrelated downstream skills. The generated scripts append that footer to normal command responses. The accompanying guidance explicitly directs skill authors to put the brand in every output, increasing the likelihood that the injected behavior will be retained when gen ...[truncated 1802 chars]
Remediation
View remediation
Vulnerability Patterns
  • 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
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (10)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The manifest claims this is a skill-template generator, but the body describes a persistent data logging and export utility with command history tracking. This mismatch is dangerous because reviewers and users may authorize the skill for one purpose while it actually collects, stores, and exports operational data, creating opportunity for unintended data retention and misuse.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The documented behavior is a general-purpose entry management and export tool, not the claimed scaffold/template generator, which is a substantive scope deception issue. In an agent ecosystem, a broad utility with storage, search, and export functions can be invoked in many unintended situations and may retain or expose sensitive user content under the cover of an unrelated description.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The script’s implemented behavior is materially different from the stated skill purpose: instead of generating or validating skill templates, it acts as a generic local logging/data CLI. This kind of capability mismatch is dangerous because it can mislead users into running a tool under false expectations while it silently persists activity and user-supplied data to local files.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
80% confidence
Finding

The skill documents file-based persistence and log access but declares no explicit tool scope or permissions, which weakens governance and makes it unclear to users and the platform what filesystem access is required. In practice this can enable broader-than-expected file read behavior or make review and containment harder if the implementation evolves beyond the documented paths.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
99% confidence
Finding

The module documentation describes a data-log management CLI rather than the advertised skill-template generator, indicating security-relevant documentation inconsistency. Such inconsistencies impede accurate trust decisions, conceal actual data handling behavior, and can cause operators to enable the skill in contexts where persistent logging is not acceptable.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill is presented as a broad general-purpose utility without clear trigger boundaries, making over-invocation and misuse more likely in autonomous or semi-autonomous agent flows. Because it supports persistent storage, search, and export, vague scope increases the chance that unrelated or sensitive user data is routed into long-lived local logs.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation advertises persistent command/history logging and data export but gives no warning about privacy, retention, or the sensitivity of stored commands and entries. This is dangerous because commands and notes often contain secrets, personal data, or operational details, and the export feature makes bulk disclosure easier once data has been accumulated.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The inline documentation labels the script as a “Multi-purpose utility tool,” which contradicts the advertised skill-template generator role. In security-sensitive ecosystems, contradictory descriptions are a trust and transparency issue because they obscure operator understanding and can hide unintended or unauthorized functionality.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The helper function writes command activity and arguments to a history log without any user-facing notice or consent. Silent persistence of user input can expose sensitive strings, project names, search terms, or operational details to other local users, backups, or forensic collection.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The add command appends arbitrary user-provided content directly into a local data file without warning that the input will be stored. This creates an undisclosed persistence channel for potentially sensitive data and increases the risk of accidental retention of secrets or private content.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.