T02 · Agent Memory Poisoning
- Location
SKILL.md:44- Finding
Unconfirmed Persistent Storage of Inferred User Preferences
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent Chinese video-transcription helper, but it automatically searches the web and saves preferences across sessions without clear opt-in or deletion controls.
Review before installing if you handle confidential audio or video. Use it only with content you are comfortable having summarized into local files and potentially queried through web search, ask the agent to disable web enrichment and MEMORY.md preference storage for sensitive work, and install dependencies in an isolated environment with a reviewed faster-whisper version.
SKILL.md:44Unconfirmed Persistent Storage of Inferred User Preferences
README.md:20Unpinned and Incorrectly Documented Python Dependency
The README explicitly states that the skill will perform '联网知识补充:自动搜索专业术语' without warning the user that transcript content, inferred topics, or extracted terms may be sent to external services. Because transcripts may contain sensitive business, personal, or confidential material, automatic online search can cause unintended data disclosure to third parties.
The trigger conditions are broad enough to match common phrases like converting media to text or making platform articles, which can cause the skill to activate in situations the user did not clearly intend. Over-broad triggering is risky here because the skill can then proceed into automatic transcription, network access, and persistence behaviors.
The skill auto-continues after 3 minutes of no response using inferred information, yet it does not provide a clear privacy notice about data persistence or downstream processing. Silence is treated as consent for actions that may include content transformation and later memory use, which is unsafe for potentially sensitive media workflows.
The skill explicitly uses persistent memory (MEMORY.md) to store and reuse user preferences across sessions, but this persistence is not narrowly scoped to the immediate transcription task and lacks consent, retention, or minimization controls. This creates a privacy and data-governance risk because user history may be accumulated and silently reused in future interactions.
Persistent storage of user preference/history data for automatic reuse is a direct data minimization and privacy concern when the scope, retention, and necessity are not defined. Because the skill handles media-derived content and inferred audience/style preferences, accumulated memory can expose patterns about the user over time.
默认设置直接指定“语言:中文(zh)”,属于语言/locale 的预设强制行为。文档未说明该技能仅面向中文内容,也未提供用户选择其他语言或自动检测语言的选项,不符合需有用户选择或清晰限定的要求。
The skill directs the agent to automatically perform network research (web_search/web_fetch) to enrich transcript content, which expands behavior beyond local transcription/editing and may transmit sensitive terms or context to external services without explicit approval. In a workflow that may process private audio/video, automatic outbound access increases confidentiality and provenance risks.
The instruction to record user preferences into MEMORY.md for future reuse establishes persistent storage of personal behavior/preferences without any visible consent or lifecycle controls. This is dangerous because it can create silent profiling and long-term retention of potentially sensitive user data unrelated to a single transcription job.
The skill specifically tells the agent to save user preferences into MEMORY.md for future sessions, creating durable state without transparent user control. This increases the risk of unauthorized retention, cross-session profiling, and accidental reuse of stale or sensitive preferences.
The package description is entirely in Chinese and describes outputs for Chinese platforms, which indicates a language/locale constraint in the skill's natural-language metadata. There is no indication that users can opt into another language or that the restriction is explicitly justified as a region-specific skill.
The module docstring states this is a 'segmented transcription script' for transcribing long videos in segments, and the usage text advertises a segment length parameter. However, the implemented main flow at L228-L229 unconditionally calls transcribe_full() and never invokes transcribe_segment(), so the documented intent directly contradicts actual behavior.
The module docstring, usage text, and later user-facing messages are written entirely in Chinese, which imposes a specific language on all users. The policy allows locale constraints only when they are optional or clearly justified, but this file provides no opt-in, alternative locale, or stated regional limitation.
The docstring states the default language is 'zh', and the CLI implementation also defaults the language argument to 'zh'. This imposes a specific language/locale behavior by default rather than offering a neutral default such as auto-detection or explicit user choice.
The skill documents multiple generated output files but does not tell users where those files will be written, whether they persist after execution, or how long they are retained. Transcript and derivative content often contain sensitive information, so silent local storage can expose data to other users, backups, syncing services, or later unintended access.
Automatic web access is disclosed as part of the workflow but not framed with a user warning that content-derived terms may be sent to external sources. While the immediate effect is limited to enrichment, it still creates avoidable privacy and trust risks in a media-processing skill.