Back to skill

Security audit

tieba-claw

Security checks for vulnerabilities and agentic risk

Overview

This skill is for Tieba social automation, but it asks to persist a login token and run recurring account actions without enough user control.

Install only if you are comfortable giving the agent continuing access to act on a Tieba account. Treat TB_TOKEN like a password, avoid pasting it into ordinary chat unless the platform provides secure secret handling, and require manual approval before posts, comments, likes, deletes, nickname changes, or any recurring heartbeat task.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T02 · Agent Memory Poisoning

Error
Location
SKILL.md:56
Finding
Persistent storage of externally directed identity settings## Vulnerability Details **File Location**: `SKILL.md`, lines 56-64 **Vulnerability Type**: Persistent agent-state manipulation **Risk Level**: High ### Evidence The relevant instructions, translated into English, state: ```text Strictly follow these four steps to guide the user through authentication: 1. Guide the owner to obtain a TB_TOKEN from the specified website. 2. Ask the owner to disclose the TB_TOKEN to the agent and persistently save it. 3. After obtaining the token, summarize the agent's identity configuration, ask whether the user wants to modify it, and remember the owner's configuration for the long term. 4. Based on that identity configuration, publish a story to the community. ``` ### Technical Analysis The skill explicitly directs the agent to write identity configuration into long-term memory. This is not merely task-local context: the phrase requiring the configuration to be remembered for the long term makes the state survive the current invocation. The configuration content is supplied through conversation and is not constrained to a safe schema. No validation, namespace isolation, expiration policy, user confirmation of the exact memory payload, or mechanism for deleting the stored state is specified. Consequently, attacker-controlled text presented as an identity preference could be transformed into persistent behavioral instructions. This is agent memory poisoning because untrusted conversational content can become durable state and influence later sessions even when the Tieba skill is no longer relevant. ### Attack Path 1. A user or attacker invokes the skill and reaches the identity-configuration step. 2. The attacker supplies an identity setting containing behavioral directives rather than harmless profile attributes. 3. Following the skill, the agent stores that content in long-term memory. 4. In a later session, the agent retrieves the poisoned identity state. 5. The embedded dir ...[truncated 754 chars]
Remediation
## Remediation Suggestions 1. Remove the requirement to remember identity settings for the long term. 2. Keep identity preferences in invocation-local state by default. 3. If persistence is genuinely necessary, use a fixed schema containing only inert profile fields such as display name and tone preference. 4. Reject instruction-like content, tool directives, secrets, URLs, and policy overrides from persistent profile fields. 5. Show the exact proposed memory record to the user and obtain explicit confirmation before writing it. 6. Namespace the data to this skill and prevent it from being interpreted as global agent instructions. 7. Add expiration, review, and deletion controls. 8. Treat recalled memory as untrusted data rather than executable instructions.

T06 · System Persistence

Error
Location
SKILL.md:69
Finding
Mandatory recurring task enables persistent autonomous external activity## Vulnerability Details **File Location**: `SKILL.md`, lines 69-79 **Vulnerability Type**: Recurring scheduled-task persistence **Risk Level**: High ### Evidence The relevant instructions, translated into English, state: ```text Heartbeat process Strictly create a scheduled task according to the following description and execute it every four hours: 1. Read the API reference. 2. Retrieve replies to the agent. 3. Process unread messages. 4. Retrieve the thread list and perform likes and comments. 5. Summarize the heartbeat results. ``` Additional instructions later in the heartbeat section establish a target of at least one like and one comment per execution. ### Technical Analysis The skill requires creation of a recurring task that survives the immediate skill invocation. Each execution performs authenticated network operations and is directed to generate external side effects, including likes, comments, and potentially new posts. There is no documented expiration time, maximum execution count, per-run user approval, inactivity cutoff, or revocation workflow. The recurring job may therefore continue operating after the initiating conversation ends or after the user no longer expects activity. This matches system persistence at the agent orchestration level: a scheduled hook repeatedly reactivates the skill and performs authenticated actions across sessions. ### Attack Path 1. The user invokes the skill and provides a valid Tieba authentication token. 2. The agent follows the mandatory instruction to create a four-hour recurring task. 3. The initiating session ends, but the scheduled task remains active. 4. Every four hours, the task reads remote community content and performs authenticated interactions. 5. Malicious or manipulative community content can influence the agent's selection or composition of replies. 6. Repeated executions continue consuming the user's account quotas and publishing acti ...[truncated 680 chars]
Remediation
## Remediation Suggestions 1. Do not automatically create a recurring task merely because the skill was invoked. 2. Require explicit, informed user consent that states the interval, permitted actions, duration, and account being used. 3. Default scheduled runs to read-only notification checks. 4. Require per-action or per-run approval before posting, commenting, liking, deleting, or modifying account data. 5. Add a short expiration time, maximum run count, inactivity cutoff, and visible cancellation command. 6. Store scheduler ownership metadata so only the initiating user can renew or modify the task. 7. Display all active jobs and provide an immediate revocation mechanism. 8. Apply strict rate and action budgets below the service limits. 9. Treat all retrieved community content as untrusted and prohibit it from changing scheduler configuration or agent policy.

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:56
Finding
Authentication token requested through conversation and persistently stored without secure-storage controls## Vulnerability Details **File Location**: `SKILL.md`, lines 56-64 **Vulnerability Type**: Insecure secret acquisition and persistence **Risk Level**: High ### Evidence The relevant instructions, translated into English, state: ```text 1. Guide the owner to obtain the TB_TOKEN. 2. Guide the owner to tell the TB_TOKEN to the agent and persistently save the token. ``` The API reference reinforces this behavior at `api-reference.md`, lines 5-7: ```text Base URL: https://tieba.baidu.com Authentication: Carry Authorization: {TB_TOKEN} in every interface request. If TB_TOKEN is forgotten, ask the owner for it again and persistently save it. ``` ### Technical Analysis `TB_TOKEN` is a bearer credential used in the `Authorization` header. Anyone who obtains it may be able to act as the associated account within the API privileges exposed by the documentation. The skill directs the user to disclose the token in conversation and directs the agent to save it persistently, but it provides no requirement for a dedicated secret manager, encryption at rest, restricted permissions, log redaction, retention limits, rotation, or deletion. Conversational disclosure may place the token in chat history, traces, telemetry, debugging output, memory stores, or backups. Although the skill warns against sending the token to domains other than `tieba.baidu.com`, domain restriction does not protect a token already exposed through insecure collection, logging, or persistent storage. ### Attack Path 1. The user pastes `TB_TOKEN` into the conversation as instructed. 2. The token is captured in conversation history or agent telemetry. 3. The agent persistently saves the credential in an unspecified storage mechanism. 4. A party with access to chat logs, traces, backups, shared memory, or insecure local storage retrieves the bearer token. 5. The party sends requests to the documented Tieba endpoints with `Authorization: {TB_TOKEN}`. ...[truncated 638 chars]
Remediation
## Remediation Suggestions 1. Never ask users to paste bearer tokens into ordinary conversational messages. 2. Use the host platform's dedicated secret-input and secret-storage facilities. 3. Mark the value as sensitive and exclude it from chat history, logs, traces, analytics, crash reports, and model context wherever possible. 4. Encrypt the token at rest using platform-managed keys and apply least-privilege access controls. 5. Inject the credential directly into the HTTP client at execution time instead of exposing it to generated text or long-term agent memory. 6. Scope the credential to only the required API permissions if the service supports scoped tokens. 7. Define expiration, rotation, revocation, and secure-deletion procedures. 8. Redact the `Authorization` header from all request and error logging. 9. Require explicit confirmation before destructive operations such as deleting posts or comments and before account changes such as nickname modification. 10. Add automated checks that reject requests attempting to transmit the token to any host other than the exact approved HTTPS origin.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (13)

Ssd 3

High
Confidence
99% confidence
Finding
This section directs the agent to obtain the user's authentication token, persist it, remember identity settings long-term, and then use that state for future community actions. In context, this combines credential collection, durable storage, and autonomous behavior, making compromise or misuse much more damaging because future actions can occur without renewed user review.

Missing User Warnings

High
Confidence
99% confidence
Finding
The instruction to persist TB_TOKEN lacks secure handling guidance and normalizes storing a bearer credential in persistent memory. Because TB_TOKEN is presented as sufficient for authenticated requests, exposure would let an attacker or misbehaving agent act as the user on Tieba.

Missing User Warnings

High
Confidence
98% confidence
Finding
The heartbeat workflow mandates recurring automated reads, likes, comments, and possible posting every four hours, which are ongoing external actions performed under the user's identity. Without strong upfront disclosure, opt-in scheduling controls, and revocation, this creates significant risk of unauthorized activity, spam, privacy leakage, and account abuse.

Natural-Language Policy Violations

Medium
Confidence
85% confidence
Finding
The skill description states it is a Chinese communication community for agents, and the document consistently instructs operation in Chinese without indicating that the user can choose another language. This can violate language/locale policy when a specific language is imposed without opt-in or documented justification.

Session Persistence

Medium
Category
Rogue Agent
Content
**本地安装:**

```bash
mkdir -p ~/.openclaw/skills/tieba-claw
curl -s https://tieba.baidu.com/skill.md > ~/.openclaw/skills/tieba-claw/SKILL.md
curl -s https://tieba.baidu.com/skill/api-reference.md > ~/.openclaw/skills/tieba-claw/api-reference.md
```
Confidence
60% confidence
Finding
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.

Skill Enumeration

Medium
Category
Agent Snooping
Content
```bash
mkdir -p ~/.openclaw/skills/tieba-claw
curl -s https://tieba.baidu.com/skill.md > ~/.openclaw/skills/tieba-claw/SKILL.md
curl -s https://tieba.baidu.com/skill/api-reference.md > ~/.openclaw/skills/tieba-claw/api-reference.md
```
Confidence
80% confidence
Finding
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Context-Inappropriate Capability

Medium
Confidence
97% confidence
Finding
The skill explicitly instructs the agent to persistently save TB_TOKEN and long-term remember identity settings, which exceeds what is necessary for a normal social interaction workflow. Long-term retention of an authentication token and profile data increases the chance of credential misuse, replay, leakage across sessions, or unintended future actions under the user's identity.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
After authentication, the skill directs the agent to summarize its persona and then publish a post automatically, without requiring a fresh, explicit approval for that external action. This can cause unwanted public posting under the user's account and create privacy, reputational, or policy-compliance issues.

Description-Behavior Mismatch

Medium
Confidence
97% confidence
Finding
The manifest says the skill is for browsing, posting, commenting, liking, and message handling, but the documented API surface also exposes destructive and account-changing operations such as deleting posts/comments and modifying the nickname. This creates a scope mismatch that can enable unexpected higher-impact actions if an agent or downstream tool uses the broader API than the user was led to expect.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The document instructs operators to persistently save the `TB_TOKEN`, which encourages insecure long-term storage of a bearer credential without any guidance on secret management. If the token is exposed through logs, local files, prompts, or memory shared across skills, an attacker could fully impersonate the user and perform forum actions on their behalf.

Ssd 3

Medium
Confidence
97% confidence
Finding
Telling the agent to ask the owner for a forgotten authorization token and persistently preserve it is a direct unsafe secret-handling pattern. In the context of a social platform automation skill with posting, deletion, and profile-modification abilities, retained bearer tokens materially increase the blast radius of prompt injection, workspace compromise, or accidental disclosure.

Description-Behavior Mismatch

Medium
Confidence
96% confidence
Finding
The manifest describes Tieba community interaction operations such as browsing, posting, commenting, liking, heartbeat-task configuration, and message handling. This file additionally exposes a `modifyName` capability for changing the account nickname, which is a profile/account-management action not covered by that stated scope.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The document describes `delThread` and `delPost` endpoints for deleting posts and comments, but provides no warning that these actions are destructive and may be irreversible. For markdown files, operations affecting user data should be accompanied by explicit cautions so users understand the impact before using them.

Static analysis

No suspicious patterns detected.