Back to skill

Security audit

太乙神数技能

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to be a divination/forecasting tool, but it is framed for disasters, elections, war, pandemics, and economics without clear non-advice limits.

Review this skill carefully before installing. It does not appear to steal data or persist on the system, but it presents speculative divination as a tool for consequential topics like disasters, elections, war, public health, and finance. Use it only for cultural, historical, or entertainment purposes, not for emergency, medical, political, military, or financial decisions.

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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly targets high-stakes domains like national affairs, disasters, economics, war, elections, and pandemics but does not warn users that its outputs are speculative divination. In this context, omission of a disclaimer materially increases the risk that users or downstream agents treat generated predictions as reliable advice, potentially influencing consequential real-world decisions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The invocation examples use broad everyday prompts such as predictions about national fortune, disasters, elections, pandemics, war, and the economy without clear limits. In an agent setting, this can cause the skill to be selected for high-stakes forecasting requests where speculative divination output may be presented as actionable guidance, increasing the chance of unsafe or misleading decision support.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This JavaScript file is written entirely with Chinese-language labels, comments, and returned natural-language strings, and it does not indicate that language selection is configurable. Under the policy for natural-language violations, forcing a specific language without user opt-in is reportable unless the locale constraint is documented and justified.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The export block marks getTaiYiJiuGong as a v1.1新增 capability for 太乙九宫排布, but its implementation computes juShu by calling calcJuShu(year, 6, 15) instead of using the documented jiNian and yinYangDun inputs expected by that algorithm. This is not merely incomplete documentation: the surrounding comments say it performs 太乙九宫排布, while the code uses mismatched arguments that do not correspond to the stated calculation flow.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

getDaShiDuanYu is documented as a phrase/judgment library based on 神将位置 and 主客判断, but the implementation treats shenJiangList elements as strings via sj.includes(...) and treats zhuKePD as a string via .includes(...). Elsewhere in this file, those values are produced as objects/arrays of objects, so the documented analytical behavior is contradicted by code that cannot consume the module's own advertised outputs correctly.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

All user-facing instructions, examples, and outputs are presented only in Chinese, and the document does not indicate that this language constraint is optional or region-specific. Under the language/locale policy, forcing a specific language without user opt-in can be a natural-language policy issue.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

The output example at L091 shows '太乙积年:10159 年', while the documented formula at L140-L143 and the worked example at L146 state the value should be '当前年份 + 2917', giving 4943 for 2026. This is an active contradiction within the skill's documentation about what the skill computes, not merely an omitted detail.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.