T06 · System Persistence
- Location
references/step-12-iterate.md:30- Finding
Persistent Cross-Session Agent Execution Through Scheduled System Events
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears to be a legitimate retail-agent onboarding workflow, but it sets up persistent memory, live integrations, recurring jobs, and knowledge-base edits without enough guardrails for credentials, privacy, and authorization.
Review this skill carefully before installing in a live retail environment. Use sandbox or read-only API credentials, do not paste raw secrets into chat, avoid importing customer PII, require authenticated staff-only channels for knowledge edits, and create recurring jobs only with clear recipients, expiry, audit, and deletion controls.
references/step-12-iterate.md:30Persistent Cross-Session Agent Execution Through Scheduled System Events
references/step-12-iterate.md:131Persistent Knowledge-Base Poisoning Through Unauthenticated Conversational Corrections
references/step-03-data-import.md:23API Secrets May Be Collected Through Chat and Persisted in Agent State
scripts/parse_policy.py:58Unbounded Parsing of Untrusted Documents Enables Resource Exhaustion
scripts/requirements.txt:1Open-Ended Dependency Versions Make Installations Non-Reproducible
The declared description says this skill is an onboarding wizard used to set up and configure a retail AI employee. The supplied code does not implement onboarding, setup steps, configuration collection, or customization logic. Instead, it builds and outputs test cases for validating an already configured retail agent before launch, with scoring guidance and pass thresholds. That is a materially different primary purpose, so this is a clear description-behavior mismatch.
The declared description says this skill is an onboarding/setup wizard for a retail AI employee agent, specifically a 12-step configuration flow for businesses. The supplied code does not implement onboarding, configuration, conversational setup, retail agent customization, or any wizard behavior. Instead, it is a standalone document parsing script for policy documents. It accesses input files, extracts text, identifies policy categories, parses sections/conditions/process steps or Q&A pairs, and emits structured JSON. This is a materially different primary purpose and includes undeclared document-processing capabilities unrelated to the declared retail onboarding use case.
The declared description says this skill is an onboarding wizard for configuring a retail digital employee agent through a 12-step setup flow. However, the supplied code contains no onboarding flow, no agent configuration logic, no wizard behavior, no triggers related to setup, and no customization of an AI assistant. Instead, it is a standalone product-catalog ingestion tool that reads CSV/XLS/XLSX files, normalizes columns, infers categories, parses product attributes, and outputs JSON plus quality scores. This is a materially different primary purpose, so the description does not accurately represent the code.
The code does not perform a multi-step onboarding flow, agent setup, or configuration/customization of a retail AI employee. Instead, it is a standalone Python CLI utility that loads a JSON knowledge base, computes section scores, identifies gaps, and emits a report/recommendation. While this could support an onboarding pipeline, its actual primary purpose is auditing/scoring knowledge base completeness, which is materially different from the declared description.
This pattern attempts to override system instructions or ignore safety constraints. Without LLM analysis, manual review is recommended.
Setup steps:
1. Log into mp.weixin.qq.com → Basic Configuration
2. Enable Developer Mode
3. Note: `AppID`, `AppSecret`
4. Set server URL to OpenClaw gateway endpoint
5. Set Token (any string, must match OpenClaw config)
The skill references scripts, file ingestion, memory writes, and channel/API setup, which implies file read/write and possible network-capable behavior without any declared tool scope or permissions boundary. That creates an authorization gap: users and the platform cannot tell what capabilities are intended, and a downstream runtime may grant broader access than necessary.
The trigger phrases are broad enough to activate on ordinary 'setup' requests, which can cause unintended invocation of a high-impact workflow that collects business data, writes persistent state, and may later activate channels. In skill-routing systems, overbroad triggers increase the chance of surprise execution and accidental data disclosure.
The skill states that each step persists artifacts in agent memory and that the setup is resumable, but it does not clearly warn users that business configuration details and imported knowledge will be stored across sessions. Hidden persistence increases the risk of accidental retention of sensitive operational data and later reuse in unrelated contexts.
Step 03 explicitly asks users to send uploaded business data, potentially including customer, staff, inventory, and policy documents, but provides no privacy, minimization, or retention warning. In the retail context this can expose sensitive commercial information and personal data, especially when files are auto-parsed and transformed into persistent knowledge base artifacts.
Channel integration and launch steps include activation on external messaging platforms, sending welcome messages, and scheduling reminders, yet there is no prominent warning or hard confirmation gate before these externally visible actions occur. That can lead to unintended outbound communication, unauthorized account linkage, and automated follow-up actions with real business consequences.
The decision hard-codes China-specific communication channels and market assumptions as the primary default without any explicit user opt-in or locale detection. In an onboarding skill, opinionated defaults can silently steer deployments toward region-specific platforms that may be inappropriate for the business, creating compliance, privacy, operational, and accessibility risks for non-China retailers.
The skill explicitly directs the agent to save a detailed system inventory in agent memory, which can reveal a store's internal technology stack, integration posture, and weaker/manual processes. Even if it does not collect credentials, this operational metadata is sensitive and could enable targeted attacks or unwanted retention if stored without clear notice, consent, retention limits, or access controls.
The skill instructs operators to collect API credentials and perform a live test fetch, but it does not include safeguards around secure secret handling, least-privilege scopes, masking, storage, consent, or the risk of pulling real production data. In a retail onboarding context, this can expose customer, inventory, pricing, or operational data and may trigger unintended actions or load against live systems during setup.
This markdown file contains natural-language guidance that fixes the agent's tone and forms of address to Chinese (e.g. using "您" or "亲") and all sample interactions are in Chinese. Under the policy, forcing a specific language or locale without user opt-in is a violation unless a justified region-specific constraint is documented, which is not stated here.
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
{ "sentiment_analysis": true, "auto_escalate_keywords": ["投诉", "曝光", "律师", "消协", "骗子"], "refund_auto_approve_limit": 0, "response_style": "empathetic" }
The report-generator configuration sends sales and returns data to an external channel (wecom) and recipient identifiers without warning about data sharing scope, recipient validation, or least-privilege distribution. That can lead to operational or commercially sensitive data being sent to the wrong users or channels, especially in an automated reporting workflow.
The setup flow explicitly asks for sensitive values such as API keys and manager contact details but provides no guidance on secure collection, storage, masking, access control, or retention. In an onboarding skill that saves configuration into agent memory, this omission creates a realistic risk of credential exposure or unnecessary collection of personal data.
The fallback response is hardcoded in Chinese without any documented locale selection or user preference handling. This can mislead or exclude non-Chinese-speaking users during failure cases, increasing the chance of misunderstandings around support escalation, returns, or safety-relevant product questions.
The configuration explicitly enables logging of unknown user queries and repeated-query alerting, but the step provides no user-facing notice, retention limits, or guidance on handling potentially sensitive customer inputs. In a retail assistant context, users may submit personal data, purchase issues, allergy information, or other sensitive free-text content, so silent retention creates a privacy and compliance risk.
The persona guidance is framed around Chinese names, 2–3 character naming rules, and later Mandarin-specific tone settings, which effectively constrains the skill to a specific language/locale. Because the document does not state that language should be selected based on user preference or regional context, it risks violating language/locale policy requirements.
The sample kiosk configuration hard-codes Chinese-language welcome text, which can impose a specific language on end users. The document does not state that this step is only for Chinese-speaking deployments or provide an opt-in or alternative locale guidance.
The escalation template explicitly includes a customer issue summary and a conversation link, but the document provides no minimization, access-control, or redaction guidance for sensitive data. In a retail support context, escalation messages can easily contain personal data, order details, contact information, or complaint history, so sending full context to WeCom/SMS recipients without privacy constraints can cause unauthorized disclosure.
The escalation template and auto-escalation keywords are written in Chinese and appear to define the required operating language for important workflow behavior. There is no indication that language is configurable or limited to a justified region-specific deployment, so this is a natural-language locale policy concern.
The activation section provides only Chinese welcome messages for staff and customer-facing channels, with no indication that language should match user preference or locale choice. This creates a natural-language policy concern because the skill appears to mandate a specific language by default rather than offering an opt-in or configurable locale.
The real-time alert template explicitly forwards raw customer question text to a manager via WeCom, which can expose personal, sensitive, or regulated information if customers include it in their queries. In this retail onboarding context, the feature is designed for operational feedback, but the lack of minimization, redaction, consent, or privacy guidance makes unintended data disclosure to internal recipients a realistic risk.