T01 · Skill Instruction Hijacking
- Location
SKILL.md:11- Finding
Forced Agent Execution and Output Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This TKSeller skill matches its commerce-automation purpose, but it handles passwords, device identifiers, Discord configuration, and background polling in ways that need careful review before installation.
Install only after treating this as a high-risk integration: use dedicated TKSeller and Discord/OpenClaw credentials, avoid reusing passwords, prefer an HTTPS/OAuth-based login flow, isolate the bot to intended guilds, and require clear controls for stopping polling and limiting gateway/session access.
SKILL.md:11Forced Agent Execution and Output Hijacking
config.json:3Credentials and Hardware Fingerprint Transmitted over Plaintext HTTP
lib-js/api.mjs:58Bearer Token Stored in Plaintext without Restrictive Permissions
lib-js/card-tools.mjs:752Backend-Controlled Content Injected into OpenClaw Agent Sessions
lib-js/card-tools.mjs:27Excessive Access to Global OpenClaw Configuration and Gateway Tools
lib-js/poll-loop.mjs:109Detached Polling Process Ignores the Configured Maximum Duration
lib-js/card-tools.mjs:548Backend-Controlled Media URLs Permit SSRF and Unbounded Downloads
lib-js/card-tools.mjs:433Writable PID State Can Cause Termination of Unrelated Processes
lib-js/register-discord.mjs:72Silent Discord Command Registration Modifies Every Joined Guild
The skill instructs users to submit credentials in plain chat using a message like '登录 用户名 密码', which is especially dangerous because Discord and similar chat channels may retain logs, expose messages to bot infrastructure, admins, integrations, or other unintended recipients. In this skill context, the danger is increased because the workflow normalizes sharing secrets directly with an automation agent and indicates those credentials are saved for future use.
The README explicitly instructs users to send their username and password to the agent and says the login will be automatically saved, but it provides no warning about how credentials are handled, stored, transmitted, or protected. This creates a high risk of credential theft, accidental disclosure in chat logs, insecure storage, or reuse compromise if the same password is used elsewhere.
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
??skill ????Discord ����㷢�??tkseller"??����"(����Ҫб??,LLM ��ʶ�����?skill ����??`trigger.mjs`��`trigger.mjs` �״�����ʱ���Զ����� `register-discord.mjs` ??`/tkselle
Referenced artifact was not completely inspected
Skill Ŀ¼·����ͨ�� `SKILL.md` ����λ��ȷ??��ͬϵͳ��ͬ:
Referenced artifact was not completely inspected
��??`/api/v1/*` �ӿڹ���ͬһ���ͻ���(`lib-js/api.mjs`),�Զ�??`Authorization: Bearer <token>` header??
Referenced artifact was not completely inspected
| `review_1` | һ���??| video_id, video_url, author, view_count, score, summary, product_name, product_url, product_image_url | ��һ��??`send-review-1.mjs`) |
Referenced artifact was not completely inspected
| `review_1` | һ���??| video_id, video_url, author, view_count, score, summary, product_name, product_url, product_image_url | ��һ��??`send-review-1.mjs`) |
Referenced artifact was not completely inspected
- `lib-js/send-review-1-5.mjs` - ���־���??
Referenced artifact was not completely inspected
- `lib-js/send-review-2.mjs` - ����Ƶ��??
Referenced artifact was not completely inspected
- `lib-js/card-tools.mjs` - ��Ƭ����(��Ƭ����)
The code builds a persistent hardware-bound identifier from BIOS UUID, machine ID, MAC address, and shell-derived system information, creating a durable fingerprint tied to the host. This is dangerous because it enables long-term device tracking and account binding beyond what the skill description suggests, and the shell calls increase sensitivity by directly interrogating host hardware identifiers.
The module can kill local processes, delete PID/lock files, and remove cron jobs based on local state, which is a powerful host-control capability beyond simple card rendering. If this skill is triggered unexpectedly or its state files are tampered with, it could terminate unrelated processes or disrupt other scheduled automation on the host.
The module downloads arbitrary remote media and then executes a Python interpreter to transform it, creating a risky boundary between untrusted network content and local code execution tooling. Even without obvious command injection, this expands attack surface to SSRF-style fetches, resource exhaustion, malicious file handling, and abuse of external dependencies like Pillow/python on the host.
This is a direct request for the user to send account credentials in chat. In a bot skill context, chat messages may be logged by the platform, the bot framework, or operators, making plain-text password solicitation a high-risk credential exposure pattern.
The code repeats direct conversational credential solicitation on token failure. The repetition makes the behavior standard and trustworthy-looking to users, increasing both accidental leakage and successful phishing opportunities.
During a confirmation workflow, the user is told to send 'account and password' separated by a space. This creates a straightforward path for secret disclosure and possible account takeover if any party with access to messages or logs can read the content.
Detected: suspicious.dangerous_exec, suspicious.install_untrusted_source, suspicious.potential_exfiltration