Back to skill

Security audit

谛观·射覆 | Shefu

Security checks for vulnerabilities and agentic risk

Overview

This is a Chinese I Ching divination skill that runs local hexagram and calendar calculations without persistence, credential access, or network behavior.

Install only if you want a Chinese-language divination and symbolic-analysis skill. Be aware that its trigger phrases are broad and that it may proceed with casting after a brief confirmation; avoid using it for medical, legal, financial, or other consequential decisions as a source of certainty.

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 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 (22)

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The changelog explicitly states that any user response is treated as a trigger to initiate divination, which removes meaningful user consent and makes activation overly broad. In an agent context, this can cause unintended execution of the skill on casual or unrelated input, increasing the risk of surprise behavior, privacy issues, and misuse of user-provided text as operational input.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The description promises a divination/game capability centered on interpreting six-line hexagram patterns to guess a concealed object. The code does not accept or analyze hexagram lines, does not infer any object, and does not implement《正易心法》卦脉法. Its sole function is calendrical support: deriving year干支, month建, month干支, day干支, and five-element attributes from the current date/time using simplified formulas and solar-term boundaries. While such date calculations could be a supporting component for some I Ching-related systems, this chunk’s actual primary purpose is clearly a历法 module, which is materially different from the declared end-user capability.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The declared purpose focuses on 射覆: analyzing an already-formed six-line structure to infer the concealed object via a specific interpretive method. This code instead performs the upstream step of 起卦 using the 大衍筮法, generating random lines through simulated yarrow-stalk operations, then mapping line arrays to hexagram names via a database. It outputs 本卦、变卦、动爻 and calendar reference data, but contains no logic for guessing or describing a concealed object, no 《正易心法》卦脉 reading logic, and no direct interpretive layer. The database lookup also conflicts with the claim of '不查表'. Therefore the code's actual primary behavior materially differs from the declared description.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The declared description emphasizes a specific divination use case: 射覆, i.e. guessing a concealed object from the hexagram via《正易心法》卦脉法 and direct qi interpretation. However, the supplied code only performs hexagram generation and conventional 六爻装卦 steps. It tosses coins or parses manual toss input, loads gua and 纳甲 data from JSON files, fetches Ganzhi calendar info from a helper module, calculates 六亲 and 六神, identifies 世应, and returns a structured representation of the base and changing hexagrams. There is no logic that analyzes the hexagram to predict a hidden object, no 射覆-specific inference engine, and no implementation of the claimed 'direct reading' method. In fact, the code explicitly depends on lookup tables, which conflicts with the description's '不查表' claim. Therefore the behavior materially differs from the declared purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

The declared description emphasizes a specific use case and method: 射覆 (guessing a concealed object) via 《正易心法》卦脉法, directly reading qi trends from six lines and explicitly not using lookup tables or stock formulas. The actual code does something materially different: it performs 梅花易数起卦, deriving upper/lower trigram and moving line from time or numeric input, loading gua data from guaci_db.json, and computing mutual/changed hexagrams plus body-use and five-element relations. There is no logic that maps a hexagram to a guessed hidden object, so the advertised primary purpose is not implemented. Additionally, the code does rely on a database lookup, contradicting the '不查表' claim. This is a substantive description-behavior mismatch rather than a minor implementation detail.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The entire skill description, usage examples, and invocation phrases are presented only in Chinese, with no indication that other languages are supported or that Chinese is an intentional, justified region-specific limitation. Under the policy for natural-language violations, forcing a specific language without user opt-in is a reportable issue.

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.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases include broad everyday language such as '起卦', '占卜', and especially '猜一猜', which can cause accidental activation during unrelated conversation. Overly broad activation increases the chance that the skill hijacks normal user interactions, leading to prompt-routing confusion, unintended behavior, or social-engineering opportunities if the skill inserts persuasive or off-task content.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger list contains broad everyday phrases such as “算一算”, “测算”, “预测”, and “猜一猜”, which can match routine conversation and cause unintended skill activation. In a divination-style skill, accidental invocation can lead to surprise context capture, irrelevant responses, and policy/safety boundary confusion, especially because many triggers overlap with generic advice-seeking language.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The visible documentation labels the page as a 正易心法 skill, which suggests the direct-reading approach described in the manifest. However, the implementation depends on hardcoded 64卦 and 纳甲 tables and exposes different methods, creating an active contradiction between the stated intent and the code’s actual approach.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest describes a skill for 射覆 using 《正易心法》卦脉法 to infer a hidden object directly from six-line structure, emphasizing no lookup tables or口诀. This file instead presents and implements two different divination systems—梅花易数 and 六爻纳甲—and uses substantial hexagram and 纳甲 tables, which is a semantic expansion beyond the claimed purpose.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file is entirely written in Chinese and does not indicate any language selection, fallback, or user opt-in. In a user-facing skill, this can exclude users who do not read Chinese, cause misunderstanding of outputs, and weaken informed use of the skill, though it is an accessibility/product safety issue rather than a direct exploit primitive.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The manifest describes a skill for 射覆 that reads the qi tendency directly from a six-line structure to infer a hidden object, explicitly emphasizing interpretation rather than lookup formulas. This file instead performs random hexagram generation via 大衍筮法, loads a gua database, and attaches current ganzhi/calendar context, which is a broader divination-generation capability rather than direct 射覆 inference from an already-given hexagram structure.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file presents all instructions, examples, and output guidance exclusively in Chinese, but does not indicate that the user can choose another language or that the skill is intentionally limited to Chinese-speaking users. Under the policy, forcing a specific language without 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
79% confidence
Finding

The skill name and primary description are presented in Chinese, while English appears only in secondary fields, which may indicate a default language choice imposed by the skill metadata. There is no explicit statement offering users a language or locale preference, so the configuration may violate a language-choice policy if the platform expects user-controlled locale behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The document declares lang="zh-CN", which hard-codes a specific language/locale for the skill UI. The file does not provide any user opt-in, alternate locale option, or justification that the skill is intended only for a China-specific compliance or regional context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The code checks whether stdout is UTF-8 and unconditionally reconfigures it to UTF-8. This is a natural-language/locale behavior baked into the skill without offering the user a choice, which matches the policy concern about forcing a specific locale or language behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The module docstring and later user-facing output indicate the skill is designed to operate in Chinese only, with no visible option for users to select another language or opt in to the locale. This is a natural-language policy concern because the skill forces a specific language in its interface and output.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

All human-readable output strings in the formatter are hard-coded in Chinese, and the code exposes no mechanism for user language selection. This creates a language policy issue because the skill enforces a specific locale in normal operation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The argparse description and help strings are entirely in Chinese, which fixes the command-line experience to one language without presenting a choice. Under the policy, locale constraints should either be optional for the user or clearly justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The command-line description, help text, result keys, and printed output are all fixed in Chinese, with no option for users to select another language or locale. This is a natural-language policy concern because it imposes a specific language on all users without opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This code's docstrings, CLI usage text, JSON field names, and output strings are all hard-coded in Chinese, and there is no visible option for users to select another language or opt in to this locale. Under the natural-language policy rule, forcing a specific language without user choice is a policy concern even when the functionality itself is benign.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.