Back to skill

Security audit

Thesis Reviewer

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly matches its thesis-review purpose, but it silently self-updates from GitHub during use, allowing its instructions to change without clear user approval.

Review this skill before installing. Do not use it as-is unless you are comfortable with silent GitHub self-updates; preferably remove or disable the auto-update section and install a pinned reviewed version. Expect local converted and review files to be created beside the thesis document, so use a controlled folder for sensitive or unpublished work.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • 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)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:91
Finding

Silent Remote Self-Update Creates a Mutable Instruction Execution Channel

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 91–105
Vulnerability Type: Silent retrieval and installation of mutable remote Skill instructions
Risk Level: Critical

Vulnerable Code

bash
git rev-parse --git-dir
git symbolic-ref --short HEAD
git fetch origin --quiet
git diff --quiet HEAD origin/{branch}
git pull --ff-only origin {branch} --quiet

The surrounding instructions require this update check to run silently before every thesis review. Failures and skipped updates are not disclosed to the user, while a successful update is only reported after the remote changes have already been installed.

Technical Analysis

The Skill directs the Agent to invoke Bash, contact the Git remote named origin, and install remote repository changes into the active Skill directory. The update is not pinned to an immutable commit and does not require a cryptographic checksum, trusted signature, fixed repository URL, change review, or user approval.

The repository contains SKILL.md and supporting Markdown files that control the Agent's behavior. Consequently, pulling repository changes modifies executable Agent instructions rather than merely updating passive data. A remote party that controls the repository, a compromised maintainer account, or an attacker who changes the local origin configuration can replace the audited instructions with new directives.

The use of git pull --ff-only prevents non-fast-forward merges but does not establish authenticity or safety. A malicious commit on the tracked remote branch can still be fast-forwarded and installed. The silent-failure rules further reduce visibility into the network operation and its source.

Attack Path

  1. The user invokes the Skill to review a thesis.
  2. Before performing the review, the Agent checks whether the Skill directory is a Git repository and determines the current branch.
  3. The Agent executes git fetch origin --quiet ...[truncated 1644 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the automatic update procedure from the runtime instructions in SKILL.md.
  2. Do not permit a Skill to modify its own instructions while handling a user task.
  3. Move update management to a separate installation or package-management process that is not implicitly triggered by thesis review.
  4. Require explicit, informed user approval before any network request or repository modification.
  5. Pin updates to an immutable, reviewed commit identifier rather than a mutable branch.
  6. Validate that the remote URL exactly matches an approved repository before fetching.
  7. Verify releases using a trusted cryptographic signature or independently distributed checksum.
  8. Display the source, target commit, and proposed file changes before installation.
  9. Re-audit updated Skill instructions and supporting files before activating them.
  10. If update checks are retained, make them advisory only: report that an update exists without fetching or installing it automatically.
  11. Remove Bash from allowed-tools if it is not otherwise necessary for the core thesis-review workflow.
  12. Record update attempts and outcomes visibly instead of requiring silent execution.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
Findings (21)

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill instructs the agent to silently perform git fetch/diff/pull operations and modify the local skill repository before doing the requested thesis review. This is dangerous because it introduces unrelated network access and code/state changes without user consent, expanding the attack surface and allowing the skill's behavior to change at runtime based on remote content.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The README explicitly says the review output is in Simplified Chinese, but does not present this as an option or ask for user preference. Under the policy, imposing a specific language without opt-in is a natural-language policy violation unless clearly justified as a region-specific constraint with user awareness and choice.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation states that the skill produces and saves multiple output files, but it does not clearly warn users in advance or require confirmation before writing artifacts. In agent environments, implicit file creation can surprise users, overwrite nearby files, or persist sensitive thesis content and review comments to disk without clear consent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

L163-L164 列出的触发词包含“学位论文”“硕士论文”“博士论文”“毕业论文”等宽泛名词,以及 “thesis feedback” 这类较泛化英文短语。这些词缺少明确的调用边界、上下文限制或排除条件,容易覆盖普通讨论论文的场景,而不只是明确请求启动该技能。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

L225 明确写明“评审意见书使用简体中文输出”,属于对输出语言的强制约束。虽然文档说明其适用于中国高校场景,但此处未说明用户可切换语言或在非中文需求下如何处理,构成语言/locale 选择不足的问题。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The document explicitly fixes the output language to Simplified Chinese. This is a natural-language locale constraint, and no opt-in, override, or user choice is offered elsewhere in the skill.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The auto-update sequence performs silent network and shell/git operations without upfront disclosure or consent. This is unsafe because users requesting document review would not reasonably expect outbound network activity or repository mutation, and silent execution reduces the chance that unsafe behavior is noticed or stopped.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documented workflow goes beyond thesis analysis by changing the skill's own repository state via automatic git pull. Even if intended for freshness, self-modifying behavior is risky because it breaks reproducibility, can introduce unreviewed changes, and may be abused if the upstream repository or transport path is compromised.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill enables implicit invocation without any visible narrowing conditions, exclusions, or confirmation gates, which increases the chance it will auto-trigger on broad thesis-related requests. Because this skill can process uploaded thesis documents and perform extensive analysis workflows, unintended invocation could expose sensitive academic manuscripts or cause the system to take actions the user did not explicitly request.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The checklist title and operational instructions are entirely in Chinese, and the file does not indicate that users may choose another language or that the skill is intentionally restricted to Chinese-speaking contexts. Under the policy, imposing a specific language without opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The entire skill file is written in Chinese and presents its checklist only in that language, with no indication that users may choose another language or that the restriction is required for a region-specific purpose. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file is entirely written in Chinese and presents the checklist as the default interaction language, with no indication that users may choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation unless the constraint is explicitly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

This markdown file presents all instructions and checklist items only in Chinese, and there is no indication that users can choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is clearly documented and justified.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file consists solely of Chinese-language instructions and checklists, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking audience. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file contains only Chinese-language instructions and checklists, with no indication that users can choose another language or that the skill is intentionally limited to Chinese-speaking users. Under the policy, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The entire skill file is written only in Chinese, beginning with the title at L01 and continuing throughout, with no indication that users may choose another language or that the skill is limited to a Chinese-language context. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The template hardcodes Chinese as the output language for the review report without indicating that this should be selected based on user preference or context. In a thesis-review skill, this can cause unintended language switching, reduce usability for non-Chinese users, and create misleading or inaccessible outputs when the source thesis or user requested another language.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The README states that the skill will automatically convert thesis documents and save multiple derivative files, but it does not prominently warn users that local copies of potentially sensitive academic content will be created on disk. For thesis material that may contain unpublished research, personal data, or confidential results, silent persistence increases privacy and data-handling risk, even if the behavior is not overtly malicious.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The workflow saves a converted Markdown copy beside the thesis file and later writes draft and final review reports in the same directory. These file-write behaviors are described procedurally, but the skill does not clearly warn users up front that it will create derivative files next to their original thesis document.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown skill is entirely presented in Chinese, and the file does not indicate that the user can choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific context. Under the policy, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.