Back to skill

Security audit

Mystilink Horoscope

Security checks for vulnerabilities and agentic risk

Overview

This skill does natal chart calculations and optional Mystilink Wiki lookups in a way that matches its stated astrology purpose, with privacy caveats around birth data.

Before installing, treat birth date, time, and location as sensitive personal data. Use fictional or minimized data when possible, avoid sending raw birth profiles to the optional Wiki API, and only write output files to paths you intend to create or overwrite.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (12)

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

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.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README instructs users to collect and process birth time, date, location, and optionally query a remote Wiki API, but it does not warn that this is sensitive personal data or explain the privacy implications of transmitting derived astrological context to a network service. In a skill centered on natal chart generation, these inputs are intrinsically identifying and sensitive, so the omission can lead to unsafe handling, unintended disclosure, or privacy non-compliance by downstream users or hosts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README describes collecting birth time and place, then optionally querying a remote Wiki API, but it does not clearly warn that astrology birth data can be sensitive personal information. Even though the shown example requests only contain chart terms, the documented workflow encourages handling detailed birth profiles in a network-enabled skill without explicit data minimization, consent, or privacy guidance, which raises a real privacy risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The manifest specifies default_locale: en, and the documentation later reinforces English as the default with a Chinese fallback. This is a natural-language locale policy concern because the skill appears to impose a language default without explicitly offering the user a choice or documenting user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

Line L75 says that if the Wiki locale is omitted, it defaults to en, and may fall back to zh-Hans. This imposes a language/locale behavior without describing any user opt-in or selection mechanism, which matches the language/locale policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README explicitly instructs use of an external Wiki API and gives example requests containing user-derived query terms, but it does not warn that those terms may be transmitted off-host. In this skill context, birth-chart interpretation can involve sensitive personal data or derived traits, so undocumented network disclosure creates a real privacy risk even if the examples themselves are harmless.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

Documenting a silent fallback to English (and possibly zh-Hans) without user choice can cause user content or derived interpretation context to be routed in a locale the user did not request. While this is primarily a privacy and UX issue rather than a direct compromise, it can increase unintended disclosure and reduce transparency about how remote content is fetched.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file includes a natural-language locale policy that forces a language fallback when locale is not provided. Under the policy rules, imposing a specific language or locale without explicit user opt-in is a reportable issue unless it is clearly justified or optional.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The README explicitly documents optional outbound Wiki API requests but does not warn that user-derived astrology terms or profile context may be transmitted to an external service. In this skill, birth time and place are highly sensitive personal data, so omitting privacy and data-handling guidance can lead operators to unintentionally expose personal information or metadata to the network.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The reference shows API usage with locale=en on both documented endpoints, which implies the skill operates in English by default without mentioning user opt-in or a justified locale restriction. This can conflict with language/locale policy guidance when the file provides natural-language instructions that prescribe a single locale.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

This code performs a file write when --output-file is supplied, but the implementation itself provides no confirmation prompt or explicit warning at the write site. For code-file SQP-2 checks, file writes should have some visible disclosure unless the operation is clearly communicated elsewhere in the skill description, which is not available in this file.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.