T02 · Agent Memory Poisoning
- Location
SKILL.md:213- Finding
Persistent Modification of Global Agent Memory
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly matches its hexagram-analysis purpose, but it should be reviewed because it tells the agent to persist personal feedback and preferences in local and global memory and to steer users toward detailed external feedback submissions.
Install only if you are comfortable with the skill storing feedback and preferences on disk and potentially in global agent memory. Avoid sharing private relationship, health, financial, legal, or third-party details in feedback, and treat GitHub issue links as external submissions that may be visible outside the agent environment.
SKILL.md:213Persistent Modification of Global Agent Memory
SKILL.md:570Fixed External Feedback Template Injected into Agent Responses
SKILL.md:190Unconsented Local Retention of Conversation-Derived Feedback
requirements.txt:1Unbounded Dependency Version Constraints
The supplied code is clearly related to the declared divination domain, so this is not an unrelated or malicious capability mismatch. However, the description materially overstates and mischaracterizes what this chunk actually does. The implementation is narrowly focused on 六爻排盘: mapping hexagrams, computing palace/世应/纳甲/六亲/六兽/旬空/变卦 and旺衰 scores from datetime and hexagram inputs. Although it references meihua/qigua only for hexagram-name mapping initialization, there is no substantive 梅花易数 reasoning pipeline, and no 六壬 or 奇门 logic present. Also, the description emphasizes an interpretive '象推演系统' that expands possibilities and avoids吉凶 judgments, whereas the code provides calculation/arrangement primitives rather than user-facing interpretive output. Therefore the declared description does not accurately represent this code chunk's actual primary behavior.
The description says the skill is mainly based on 梅花易数 + 六爻, with 六壬/奇门 merely auxiliary, and that it does not make auspicious/inauspicious judgments. This code chunk is instead wholly focused on 奇门遁甲排盘: constants, dun/ju calculation, jieqi handling, xun shou/xun kong, and construction of 天盘、地盘、九星、八门、八神. That is a materially different primary mechanism from the declared one. Additionally, the state output exposes 星吉凶/门吉凶/神吉凶 based on built-in attribute tables, which conflicts with the stated '不做吉凶判断' positioning, even if this chunk does not generate final prose judgments. There is no evidence here of 梅花易数、六爻、六壬 as the main logic or of a broader类象知识库-driven possibility expansion. Therefore this is a meaningful description-behavior mismatch rather than just an implementation detail.
The skill instructs storing user feedback and preferences to local/global files without a clear up-front warning that conversation-derived data will be persisted. In this context, users may share sensitive relationship, health, finance, or career details, so undisclosed workspace writes materially increase privacy risk.
Broad trigger phrases such as '分析这事' and similar generic wording can cause accidental invocation during normal conversation. Unintended activation may route unrelated user content into the skill's specialized workflow or remote backend, creating privacy leakage, prompt hijacking surface, and unexpected behavior in host agents.
The README presents the skill as an installable/open symbolic deduction assistant, but later reveals that the core logic is provided by a remote API. This is a supply-chain and transparency risk: users and host agents may assume local-only behavior while sensitive prompts, derived context, or usage metadata could be transmitted to an external service with different security and privacy controls.
The English trigger list includes ambiguous terms like 'divination' and 'symbolic deduction' without constraints, increasing the chance of false activation in unrelated contexts. In multi-skill environments, this can misroute user requests, expose conversation context to the skill, and amplify any downstream privacy or remote-processing risk.
The feedback section explicitly encourages users to submit detailed symbolic inputs, system outputs, expected interpretations, and contextual background, and states that this information will be used to train and improve the system. Without a prominent warning about privacy, sensitivity, and data-use implications, users may disclose personal, confidential, or third-party information they would not otherwise share.
Without declared permissions the skill's intent is opaque and cannot be validated.
Broad triggers like '分析这事' and generic divination-related phrases increase the chance of accidental activation in unrelated conversations. Unintended invocation matters here because the skill also requests personal context and may persist feedback or memory, amplifying privacy impact from mistaken activation.
The skill's stated purpose is hexagram interpretation, but it also instructs persistent storage of user feedback in local files for later optimization. This creates undeclared data retention that can capture sensitive personal details users may disclose during divination-style conversations, increasing privacy and compliance risk.
The skill explicitly mandates persistent collection of user feedback and preferences in local and global files. Persistent storage of behavioral preferences and contextual notes creates avoidable sensitivity accumulation, especially for a skill likely to elicit personal concerns and reflective disclosures.
The skill writes cross-session 'style memory' to a global workspace file, including user preferences and recurring topics such as relationships, work, or technical decisions. Because these sessions may involve intimate or sensitive disclosures, global memory creates a durable profiling surface beyond what users would reasonably expect from a symbolic interpretation skill.
The feedback prompt asks users to submit full inputs, system outputs, desired interpretations, and contextual background to external issue links. That combination can expose sensitive personal narratives and interaction history to third-party or public systems, making oversharing and data leakage more likely.
The external feedback flow encourages submission of detailed inputs, outputs, expected interpretations, and background context, but does not prominently warn that GitHub issues may be public and not suitable for sensitive disclosures. Given the skill's subject matter, users could easily share highly personal information.
The English trigger set contains generic topical words and phrases including “divination”, “I Ching”, and “fortune reading”, which are not specific enough to uniquely indicate intent to launch this skill. In multilingual environments, these broad triggers increase accidental invocation risk and may hijack conversations merely discussing the topic rather than requesting execution.
The English trigger set contains generic topical words and phrases including “divination”, “I Ching”, and “fortune reading”, which are not specific enough to uniquely indicate intent to launch this skill. In multilingual environments, these broad triggers increase accidental invocation risk and may hijack conversations merely discussing the topic rather than requesting execution.
The module docstring and user-facing labels are entirely in Chinese, with no indication that language is configurable or chosen by the user. Under the policy, a fixed language/locale is a natural-language policy issue unless the constraint is explicitly documented and justified or made opt-in.
The file-level docstring and in-code documentation are entirely written in Chinese and the returned result keys are also Chinese-only, indicating the skill is designed around a fixed language/locale. Under the policy, forcing a specific language without user opt-in is a natural-language policy concern unless the locale restriction is explicitly justified, which is not present here.
The manifest explicitly says '不做吉凶判断', but the code hard-codes auspicious/inauspicious labels for stars, gates, and deities in XING_ATTR, MEN_ATTR, and SHEN_ATTR. These values are later surfaced in output via get_gong_info, so the implementation does more than neutral symbolic expansion.
This method returns '星吉凶', '门吉凶', and '神吉凶' for each palace, which are direct evaluative judgments rather than merely '展开丰富可能性'. That contradicts the manifest's stated boundary of not performing fortune-style good/bad determinations.
The module description, class/function docstrings, and returned user-facing strings are written exclusively in Chinese, which imposes a specific language on users and maintainers. The file does not offer an opt-in language choice or explain that the skill is intentionally limited to a Chinese-speaking or region-specific context.
The changelog states the calendar module uses a default timezone of Asia/Shanghai. A fixed locale/timezone assumption can be a natural-language policy concern if applied to all users without explicit opt-in or a documented region-specific limitation.
The README says manual casting does not support Da Liu Ren or Qi Men because it lacks precise date/time/space data, yet it also presents manual workflows that could coexist with current-session time context. While this is documentation-level rather than code-level evidence, the stated hard prohibition conflicts with the broader description that AI can access current date for date-based casting.
Overly Broad Trigger: '解卦' is too short and may match unintended inputs
Overly Broad Trigger: '问卦' is too short and may match unintended inputs