T09 · Insecure Skill Coding Practices
- Location
references/tencent-pg-mem0-deploy/references/api_reference.md:123- Finding
Persistent and Broadly Inherited Storage of Cloud Credentials
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is mostly coherent for Tencent Cloud PostgreSQL administration, but it asks users to expose powerful cloud credentials broadly and supports unscoped endpoint overrides for signed API calls.
Install only if you are comfortable giving the skill Tencent Cloud PostgreSQL authority. Use a least-privilege CAM sub-account, prefer short-lived/session credentials, avoid storing secrets in shell profiles, launchctl, or persistent Windows user variables, and do not use endpoint override variables with production credentials unless the destination is strictly controlled.
references/tencent-pg-mem0-deploy/references/api_reference.md:123Persistent and Broadly Inherited Storage of Cloud Credentials
references/tencent-pg-rest-deploy/references/api_reference.md:14Credentialed API Requests Can Be Redirected Through Unrestricted Endpoint Overrides
This markdown file contains user-facing templates and instructions exclusively in Chinese, including required reply wording, but it does not indicate that Chinese is optional or that the skill is limited to Chinese-speaking users. That can violate a language/locale policy when users have not opted into that language.
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.
11. Summarize as a final service-control result: target scope, requested action, resolved slots and their sources, preflight facts, executed actions, current mem0 status, usable endpoint on open success or closed-state confirmation on close success, and the next copyable step.
## Pitfalls
- Do not ask the user to paste `EmbeddingApiKey` or any other secret into the conversation.
- Do not tell the user only `自己去控制台找`; always provide the direct official console / product-site entry links plus the shortest click path documented in `@references/api_reference.md` when a required mem0 slot is missing, and add an agent-assisted lookup option whenever the missing slot is non-secret and the current toolchain can fetch it safely.
- Do not run `OpenMem0Service` or `CloseMem0Service` on an ambiguous target or when multiple candidate instances remain.
- Do not reopen an already running mem0 service, and do not close a service that is already confirmed closed.
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.
11. Summarize as a final service-control result: target scope, requested action, resolved slots and their sources, preflight facts, executed actions, current mem0 status, usable endpoint on open success or closed-state confirmation on close success, and the next copyable step.
## Pitfalls
- Do not ask the user to paste `EmbeddingApiKey` or any other secret into the conversation.
- Do not tell the user only `自己去控制台找`; always provide the direct official console / product-site entry links plus the shortest click path documented in `@references/api_reference.md` when a required mem0 slot is missing, and add an agent-assisted lookup option whenever the missing slot is non-secret and the current toolchain can fetch it safely.
- Do not run `OpenMem0Service` or `CloseMem0Service` on an ambiguous target or when multiple candidate instances remain.
- Do not reopen an already running mem0 service, and do not close a service that is already confirmed closed.
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.
- Auth: `TC3-HMAC-SHA256`
- Preferred call path: official Tencent Cloud SDK; fallback: locally generated TC3-signed HTTPS request
- Credentials: read from runtime environment only
- Never hardcode secrets, never write them into repository files, and never ask the user to paste them into chat when runtime environment is the intended source
## Aligned action set for this skill
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.
- Auth: `TC3-HMAC-SHA256`
- Preferred call path: official Tencent Cloud SDK; fallback: locally generated TC3-signed HTTPS request
- Credentials: read from runtime environment only
- Never hardcode secrets, never write them into repository files, and never ask the user to paste them into chat when runtime environment is the intended source
## Aligned action set for this skill
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
- Auth: `TC3-HMAC-SHA256`
- Preferred call path: official Tencent Cloud SDK; fallback: locally generated TC3-signed HTTPS request
- Credentials: read from runtime environment only
- Never hardcode secrets, never write them into repository files, and never ask the user to paste them into chat when runtime environment is the intended source
## Aligned action set for this skill
The file instructs the skill to use Chinese-only parameter acquisition text and a Chinese reply template, including exact required user follow-up phrases. This imposes a specific language/locale on users without any opt-in or alternative language path, which matches the policy-violation category for natural-language locale constraints.
The example clarification message is written only in Chinese, and later guidance requires specific Chinese waiting phrases, which steers the skill toward a fixed language regardless of user preference. This is a natural-language locale policy issue because the file does not offer a language choice or document a justified locale constraint.
The rule requires the reply to include phrases such as 等你确认 or 确认后我再继续, which effectively imposes Chinese wording for a standard interaction pattern. Because there is no opt-in or documented locale limitation, this conflicts with the policy against forcing a specific language.
The document defines two conflicting success conditions for opening the REST service: earlier it correctly allows success without a public address when EnableWanNet=false, but the later guardrail says to never claim open success without a usable public address. This inconsistency can cause the agent to mis-handle state, report false failure, or take incorrect follow-up actions in security-sensitive service enablement flows.
No suspicious patterns detected.