Back to skill

Security audit

曲阜师范大学校园通关

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent QFNU campus-information helper with a local GPA calculator, though users should treat credential-default notes and time-sensitive school policy details carefully.

Install only if you want QFNU-specific campus and academic guidance. Verify deadlines, fees, phone numbers, quotas, and policy details on official university pages, and do not share identity-card numbers, candidate numbers, or default credentials; change any initial password immediately through the official system.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
references/campus-services.md:74
Finding

Predictable Default Credential Schemes Disclosed in Skill Documentation

Content
View full analysis

Vulnerability Details

File Location: references/campus-services.md, lines 74 and 136
Vulnerability Type: Predictable default credentials and disclosure of credential derivation rules
Risk Level: Medium

Evidence

Faithful English translation of the relevant documentation:

text
Password: The initial password is the last six digits of the identity card.
text
Before enrollment, the login name is the identity card number. If the final character is X, use lowercase x. The initial password is `qfnu` followed by the 14-digit candidate number, for example `qfnu26378112345678`.

Technical Analysis

The documentation exposes deterministic formulas used to derive initial credentials from identity and admissions information. These formulas provide no user-specific secret beyond data that may be known to acquaintances, included in enrollment documents, exposed through social engineering, or obtained from leaked records.

Publicly documenting the formulas reduces the information required to attempt unauthorized authentication. The risk is greatest before a student activates the account or changes the initial password. The documentation does advise users to set a new password during first login, but it does not establish that the system technically forces a credential change before access is granted.

Exploitation depends on the relevant default credential remaining active and the attacker obtaining the associated identity-card or candidate number. The audit did not test the external university systems, so active exploitability is not confirmed.

Attack Path

  1. An attacker identifies a newly admitted student.
  2. The attacker obtains the student's identity-card number, candidate number, or relevant portions of those values through leaked enrollment material, exposed documents, acquaintances, or social engineering.
  3. The attacker derives the username and initial password using the formulas disc ...[truncated 1170 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove deterministic default-password formulas from the Skill documentation. Link users to the official account activation and recovery instructions instead.
  2. Replace derived default passwords with random, single-use activation tokens delivered through a verified out-of-band channel.
  3. Require a password change before granting access to any account data or connected application.
  4. Expire unused activation credentials after a short period and invalidate them immediately after first use.
  5. Enable multifactor authentication, particularly for first login, password recovery, and access from unfamiliar devices.
  6. Apply rate limiting, progressive delays, account lockout controls, and monitoring for repeated authentication attempts against newly created accounts.
  7. Avoid using identity-card numbers as public-facing usernames where feasible. If they must be used internally, prevent account enumeration and mask them in logs and interfaces.
  8. Add explicit guidance telling students never to share identity-card numbers, candidate numbers, activation codes, or passwords and to contact university IT if a default credential is still accepted.
  9. Ensure all authentication and activation endpoints use verified HTTPS connections before users submit credentials.
Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (7)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The description claims a comprehensive QFNU student affairs assistant for virtually all campus topics, while the supplied code only implements a narrow GPA-related calculator and two specific eligibility self-checks (degree threshold and 推免 ranking threshold). The GPA portion of the description is accurate, but the overall declared purpose materially overstates the implemented behavior. There is no evidence of unrelated or risky undeclared actions such as network access or data exfiltration; the mismatch is primarily that the actual code is far narrower than the declared assistant scope.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The activation criteria are extremely broad and instruct the system to use this skill for virtually any mention of the university or many common campus-related topics, even without explicit user request. Over-broad triggering can cause inappropriate routing, overshadow more relevant skills, and increase the chance that stale or incomplete school-specific guidance is injected into unrelated conversations, which is especially risky because the skill itself warns that some information is time-sensitive.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This markdown file contains user-facing guidance entirely in Chinese from the title onward, but does not mention any language or locale constraint or provide an opt-in choice. Under the policy rule, 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

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file contains user-facing instructions exclusively in Chinese across the full document. Under the policy rule for natural-language violations, forcing a specific language without user opt-in can be a locale-policy issue unless the constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown skill content presents all guidance in a single forced language/locale without stating that the user can choose another language or that the skill is specifically limited to Chinese-speaking users. Under the natural-language policy rule, forcing a specific language without opt-in can be a policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The docstring, usage instructions, and CLI help strings are all presented only in Chinese, which effectively forces a specific language for users. Under the policy, language-specific behavior should offer user choice or clearly document a justified locale constraint; this file does not do either in the natural-language text.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.