Back to skill

Security audit

Mystilink Bazi

Security checks for vulnerabilities and agentic risk

Overview

This BaZi skill is a coherent calculator and reading helper with disclosed local scripts and optional Wiki lookups, with no evidence of hidden credential access, persistence, destructive behavior, or exfiltration.

Before installing, consider that the skill asks for birth details and may use wiki.mystilink.com for optional theory content. Keep personal birth profiles local unless you intentionally include them in a query, and expect some outputs or fallbacks to use English or Chinese terminology.

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
  • 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 (11)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

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

Content

Scanner excerpt · .gitignore (reported line 18)May include surrounding context.

text
.idea/
.vscode/
*.log
.env
.env.*
!*.env.example

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The code is related to the declared BaZi domain, but its implemented scope is materially narrower than the description. It only handles DaYun calculation and supporting year/month pillar derivation, using simplified logic and approximate jieqi dates. The declared description promises broader functionality: full charting, luck cycles, annual pillars, and interpretive analysis involving day master, ten gods, and combinations. Those capabilities are absent from this code chunk. There is no evidence of unrelated or risky undeclared behavior, but there is a clear description-versus-behavior mismatch due to overstated functionality.

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

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The locale guidance states that if locale is omitted, the skill uses en by default. This imposes a language choice absent any user opt-in or explicit preference, which is a natural-language locale policy concern under the stated rules.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation states that if no locale is provided, the Wiki API defaults to English and may fall back to Simplified Chinese when translations are missing. In a skill handling user-facing interpretation content, this can cause silent language switching without user consent, leading to confusing outputs and unintended disclosure of user queries or generated interpretation context to a different locale pathway than expected.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README documents behavior where Wiki content may default to English and then fall back to Simplified Chinese without explicit user opt-in. This can expose users to unexpected cross-locale content, creating privacy, consent, and content-integrity concerns if the returned interpretation differs from the user’s requested language or cultural context. In this skill, the risk is limited because this file is documentation rather than executable code, but it still normalizes insecure product behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The module docstring and output contract explicitly state Chinese output (for example, '中文摘要'), and the implementation later emits Chinese-only summary/content fields. This creates a natural-language locale restriction without user opt-in or a documented justification that the skill is intentionally region- or language-specific.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

Ce fichier Markdown mentionne qu’un accès réseau est optionnel pour l’interprétation, puis montre des requêtes HTTP concrètes vers wiki.mystilink.com. Comme le skill traite des données de naissance, la documentation devrait avertir explicitement de ne pas transmettre d’informations personnelles sensibles au service distant ou préciser quelles données peuvent être envoyées.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

La ligne indique une politique de langue par défaut (en) et un fallback vers le chinois simplifié (zh-Hans) lorsque des traductions manquent. Cela peut contrevenir à une politique de respect de la langue/locale utilisateur si aucun mécanisme d’opt-in ou de sélection explicite n’est présenté.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The documented API usage hard-codes locale=en for both search and page fetches. This natural-language guidance can steer agents to always use English without offering a language choice or documenting why the locale restriction is required.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The code constructs user-facing output entirely in Chinese, including direction_zh and summary_zh, while the CLI does not provide any option to select language or locale. Under the stated 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.