Back to skill

Security audit

accounting-and-finance

Security checks for vulnerabilities and agentic risk

Overview

The package is mainly finance-analysis guidance, but it needs Review because it directs persistent memory writes and includes actionable investment recommendations without strong controls.

Review before installing. Disable or ignore any MEMORY.md write behavior unless the user explicitly approves each entry, and treat all ratings, target prices, and trading guidance as educational analysis requiring independent verification with current data.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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
Findings (1)

T02 · Agent Memory Poisoning

Warning
Location
audit-report-analysis/audit-report-analysis.md:776
Finding
Unnecessary Persistent Memory Modification## Vulnerability Details **File Location**: `audit-report-analysis/audit-report-analysis.md`, lines 776–783 **Vulnerability Type**: Persistent agent memory poisoning **Risk Level**: Medium **Vulnerable Code Snippet**: ```markdown ### 6.5 记忆积累要点 **需要记录到 MEMORY.md 的内容**: - 不同行业常见关键审计事项模式 - 各事务所审计风格特点 - 审计意见变化的历史信号 - 典型财务造假案例的审计特征 ``` The snippet directs the agent to record industry audit patterns, audit-firm characteristics, historical audit-opinion signals, and fraud-case characteristics in `MEMORY.md`. ### Technical Analysis The Skill's declared purpose is to interpret audit reports and assess financial-statement reliability. Writing generalized conclusions into persistent, cross-session agent memory is not necessary to perform that task and expands the Skill's effects beyond the current analysis. The directive does not: - Require explicit user authorization before modifying persistent memory. - Restrict entries to verified facts. - Preserve source, entity, date, or confidence metadata. - Isolate observations by company or engagement. - Require user review before persistence. - Define expiration, correction, or deletion procedures. Consequently, conclusions influenced by untrusted audit-report content may become persistent context. This is classified as `T02: Agent Memory Poisoning` because attacker-controlled or insufficiently verified information could affect future sessions through long-term state. ### Attack Path 1. An attacker supplies a manipulated audit report or misleading supporting context. 2. The Skill analyzes that input and derives patterns concerning an industry, audit firm, audit-opinion history, or fraud indicators. 3. The agent follows the directive to record those conclusions in `MEMORY.md`. 4. The persisted conclusions are loaded or consulted in later, unrelated sessions. 5. Subsequent audit or investment analyses become biased by attacker-influenced information, potentially ...[truncated 1147 chars]
Remediation
## Remediation Suggestions 1. Remove the instruction requiring information to be written to `MEMORY.md`. 2. Keep derived observations in the current report or task-local state by default. 3. If persistence is genuinely required, request explicit user approval immediately before each write. 4. Store only verified facts and attach source document, entity, reporting period, timestamp, and confidence metadata. 5. Separate entity-specific observations from generalized knowledge; do not infer permanent audit-firm or industry characteristics from one engagement. 6. Present proposed memory entries to the user for review and editing before saving them. 7. Add expiration, correction, and deletion controls for persistent entries. 8. Treat all report-derived content as untrusted and prevent document text from supplying persistent instructions. 9. Restrict memory writes to an allowlisted schema and reject executable instructions, agent-control rules, or unsupported generalizations. 10. Maintain an audit log identifying the source and authorization for each persistent-memory change.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (100)

Intent-Code Divergence

High
Confidence
98% confidence
Finding
The FAQ claims applicability to manufacturing and chemical industries, directly contradicting earlier constraints that the model is for stable, mature, low-growth cash-flow businesses and not suitable for cyclical or growth-sensitive cases. This contradiction is dangerous because an agent or user may apply a zero-growth perpetual model to unsuitable companies, generating systematically distorted valuations and potentially harmful investment recommendations.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
The manifest description is written in Chinese and the rest of the skill content is entirely Chinese, indicating the skill is designed to operate in a single language. Under the policy, language-specific behavior should either offer user opt-in/choice or clearly document a justified locale constraint, which is not present here.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The skill title and the entire instructional content are presented in Chinese, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking or China-specific audience. This creates a natural-language locale constraint without explicit user opt-in, which falls under the policy violation criteria.

Intent-Code Divergence

Medium
Confidence
97% confidence
Finding
The document is titled and structured as an 'asset-capital-matching' skill focused on identifying short-debt/long-investment risk, but the large supplementary and deep-extension sections repeatedly describe a different topic: accounting policy and accounting estimate analysis. This is not merely missing detail; the inline documentation actively reframes the skill as a different analytical domain, creating intent-code/documentation divergence within the file.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
This markdown skill forces a specific language for all instructions and examples, which can violate a language/locale policy when no user opt-in or alternative is provided. The file does not state that the skill is region-specific or offer any language selection mechanism.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The skill description is broad enough to activate on general financial statement analysis tasks, not just audit-report interpretation. Over-broad triggering can cause unintended tool selection, leading the agent to apply audit-specific heuristics in contexts where they are incomplete or inappropriate, which can degrade decision quality or leak task context into the wrong workflow.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The natural-language description and the full skill content are presented in Chinese, signaling an implicit language constraint, but there is no opt-in, alternative language option, or documented rationale that this skill is intentionally limited to Chinese-speaking users or China-only workflows. Under the policy, language or locale restrictions should either be optional for the user or clearly justified.

Ssd 3

Medium
Confidence
95% confidence
Finding
The instruction to record patterns, audit-style traits, and historical signals into shared MEMORY.md creates a retention risk because user-supplied financial analysis details may be stored beyond the immediate session. In a multi-task or multi-user environment, this can lead to unnecessary persistence of sensitive or proprietary information and potential cross-context disclosure.

Natural-Language Policy Violations

Medium
Confidence
92% confidence
Finding
The manifest description and document title are written entirely in Chinese, and the skill does not indicate that users may request another language or locale. Under the policy, fixed language behavior without user opt-in is a natural-language policy concern unless clearly justified as region-specific.

Intent-Code Divergence

Medium
Confidence
98% confidence
Finding
The example uses parameters and outputs that contradict earlier stated values, which can mislead downstream users or agents into producing materially incorrect bank valuations and target prices. In a financial-analysis skill, incorrect worked examples are dangerous because users often trust them as validated reference calculations.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill gives an explicit 'buy' recommendation and target price without a prominent warning at the point of use, increasing the chance that users or downstream agents treat the output as actionable financial advice. In a high-stakes financial context, such unqualified recommendations can cause real monetary harm if the assumptions are wrong or stale.

Intent-Code Divergence

Medium
Confidence
97% confidence
Finding
The appendix repeats contradictory PB-ROE derivations, including mismatched percentages in the formula demonstration, which undermines the reliability of the valuation methodology. Because the skill is intended as a reusable analytical reference, inconsistent derivations can propagate systematic valuation errors into later decisions.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The reusable template encourages generation of buy/hold/sell ratings without embedding risk warnings, making it easy for other agents or users to reproduce advisory-seeming outputs at scale. This is more dangerous in template form because the pattern can spread into many downstream reports with no contextual disclaimer.

Natural-Language Policy Violations

Medium
Confidence
89% confidence
Finding
The entire skill is written in Chinese, including headings, instructions, examples, and output templates, with no indication that the user may choose another language. Under the policy, a skill should not impose a language or locale unless it explicitly offers opt-in or clearly documents a justified region-specific constraint.

Natural-Language Policy Violations

Medium
Confidence
97% confidence
Finding
The manifest description at L003 and the main heading/content beginning at L006 are written entirely in Chinese, with no indication that users may choose another language. Under the policy, a skill that effectively requires a specific language without user opt-in is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
89% confidence
Finding
The manifest description at L003 and nearly all instructional content throughout the file are written in Chinese, with no indication that users may interact in other languages or choose their preferred locale. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly documented and justified.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The manifest description and all instructional content are written entirely in Chinese, with no indication that users may choose another language or that the skill is limited to a Chinese-language or China-specific context. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
98% confidence
Finding
This markdown skill enforces a single language for all substantive instructions and examples, which can violate language/locale policy when no user opt-in or alternative is provided. The file does not state that the skill is intentionally region-specific or offer any language selection mechanism.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding
Suspicious Unicode normalization or mixed-script content

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The manifest description is primarily written in Chinese and the body of the skill continues in Chinese, but there is no indication that users may choose another language or that the skill is intentionally restricted to a Chinese-language or China-specific audience. Under the policy, forcing a specific language without user opt-in is a natural-language policy concern.

Natural-Language Policy Violations

Medium
Confidence
84% confidence
Finding
The description and the rest of the skill are presented in Chinese, which effectively forces a specific language for users. Under the stated policy, language constraints should either provide user opt-in/choice or be clearly documented as a justified locale-specific tool.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill includes specific valuation outputs and investment-positioning guidance near those lines without clear, proximate warnings that the content can materially influence financial decisions. In a financial-analysis skill, this is more dangerous because users are likely to rely on the numbers operationally, and the absence of localized warnings increases the chance of inappropriate or overconfident use.

Intent-Code Divergence

Medium
Confidence
98% confidence
Finding
The skill simultaneously disclaims investment-advice intent while providing concrete trading guidance such as buy ratings, target prices, position sizing, holding periods, and stop-loss/take-profit levels. This creates a misleading trust boundary: users may treat the content as educational while being nudged toward actionable financial decisions without appropriate compliance, suitability, or risk disclosures.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding
Suspicious Unicode normalization or mixed-script content

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The manifest description is primarily written in Chinese and the document content is presented in Chinese throughout, but there is no indication that users may choose another language or opt in to this locale. Under the policy rule, language or locale constraints should not be imposed implicitly without explicit choice or justification.

Static analysis

No suspicious patterns detected.