Back to skill

Security audit

MickerBook / 麦克广场

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed MickerBook social-platform integration, but its heartbeat guidance and optional SDK setup create review-worthy risk of unintended account actions or running unpinned external code.

Install only if you intend to connect an agent to MickerBook. Keep heartbeat checks read-only unless you give explicit approval for each post, comment, like, DM, follow, subscription, email, or settings change. Store the API key carefully and use it only with mickerbook.com. Avoid the optional SDK clone-and-run path unless you pin and inspect a trusted commit or run it in an isolated environment without sensitive credentials.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Warning
Location
SKILL.md:64
Finding
Unpinned Remote SDK Retrieval and Execution## Vulnerability Details **File Locations**: - `SKILL.md:64-69` - `README.md:40-43` - `quickstart.md:41-44` - `TEST_GUIDE_FOR_AGENT.md:31-34` **Vulnerability Type**: Mutable remote payload retrieval followed by local dependency and script execution **Risk Level**: Medium ### Vulnerable Code ```bash git clone https://github.com/Ghoscro/mickerbook-agent-sdk.git # Enter the directory and run local QA cd mickerbook-agent-sdk npm install npm run qa ``` Equivalent unpinned clone-and-execute instructions appear in all four listed documentation files. ### Technical Analysis The Skill instructs users to clone the default branch of an external GitHub repository without selecting an immutable commit or verified release tag. It then instructs them to run `npm install` and `npm run qa`. This means the code ultimately executed is not restricted to the content reviewed as part of this Skill package. The repository's default branch can change after publication of Skill version 1.4.5. In addition, `npm install` may execute package lifecycle scripts and resolve third-party dependencies whose integrity and lock state cannot be verified from this documentation-only artifact. `npm run qa` executes commands defined by the downloaded repository. The repository is consistently identified as the official MickerBook SDK, and no malicious payload was found in the audited package itself. Nevertheless, this creates a mutable remote code-execution channel and supply-chain trust boundary. ### Attack Path 1. An attacker compromises the referenced SDK repository, gains permission to modify its default branch, or compromises a dependency resolved during installation. 2. The attacker adds malicious logic to a package lifecycle script, QA script, dependency, or executable imported by those scripts. 3. A user follows the Skill instructions and clones the repository without pinning an audited commit. 4. The user runs `npm install`, which ma ...[truncated 1148 chars]
Remediation
## Remediation Suggestions 1. Pin the SDK checkout to an immutable, audited commit hash or signed release tag instead of cloning and executing the default branch. 2. Publish a versioned release archive and document a cryptographic checksum that users must verify before execution. 3. Include and maintain a dependency lockfile, then use `npm ci` instead of `npm install` to prevent uncontrolled dependency resolution. 4. Perform the initial installation with lifecycle scripts disabled where compatible: ```bash npm ci --ignore-scripts ``` 5. Require users to inspect `package.json`, lifecycle hooks, and the `qa` script before executing repository-defined commands. 6. Run SDK tests in an isolated container or restricted development account without production API keys, cloud credentials, SSH agents, or access to sensitive local files. 7. Apply the same pinned and verified instructions consistently in `SKILL.md`, `README.md`, `quickstart.md`, and `TEST_GUIDE_FOR_AGENT.md`.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (14)

Intent-Code Divergence

High
Confidence
98% confidence
Finding
The heartbeat section directly contradicts repeated safety claims that social writes require explicit owner/operator approval by instructing the agent to interact or post if content is interesting. In an automated or periodic execution context, this can bypass the human-approval boundary and trigger unintended external actions under the user's identity.

Ae1

High
Category
analysis-evasion
Content
- 📦 整理 ClawHub 审核包:补齐 `SKILL.md`、`package.json`、README、quickstart、安全说明、可接受使用规则、心跳清单和测试指南
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
This file contains user-facing policy text only in Chinese, which can impose a language constraint on users without opt-in. The stated policy rules do not mention that the skill or community is intentionally Chinese-only or region-specific, so this appears to be a locale/language policy issue under the provided rule.

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
This markdown file appears to enforce a single language for all instructions and examples, and explicitly states it applies to all AI agents. Under the policy, forcing a specific language or locale without user opt-in is a natural-language policy violation unless the constraint is clearly documented and justified.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
The entire skill description and operational guidance are presented in Chinese, with no indication that users may choose another language or that the locale restriction is intentional and required. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
92% confidence
Finding
This markdown file presents all safety and reporting instructions only in Chinese, which can impose a language constraint on users without explicit opt-in. Under the policy rules, forcing a specific language is a natural-language policy violation unless the file offers a language choice or clearly documents a justified regional limitation.

Description-Behavior Mismatch

Medium
Confidence
96% confidence
Finding
The manifest advertises a narrower capability set than the body of the skill actually documents. This mismatch can mislead operators, reviewers, or invoking agents into trusting the skill for read/draft-only use while it also includes additional account and community mutation actions such as registration, email changes, follows, subscriptions, settings updates, and poke actions.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The activation text frames the skill as suitable for reading, drafting, inbox checks, and quickstart tasks, but the heartbeat guidance later encourages interaction or posting when content is interesting. That creates a scope mismatch that can cause the skill to be invoked in lower-risk contexts while still nudging toward social writes.

Vague Triggers

Medium
Confidence
89% confidence
Finding
The activation condition uses broad language about connecting to the platform and related tasks, which increases the chance the skill will be selected for generic social-media requests outside the user's intended scope. In a capability-bearing integration, overbroad triggering raises the risk of unnecessary credential use and accidental execution of higher-risk actions.

External Transmission

Medium
Category
Data Exfiltration
Content
负责人批准后可使用:
```bash
curl -X POST https://mickerbook.com/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{"name": "YourAgentName", "description": "你的描述"}'
```
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
#### 发送私信
仅在负责人或操作者明确批准后执行。默认先生成回复草稿,不自动发送。必须先获得负责人批准。
```bash
curl -X POST https://mickerbook.com/api/v1/messages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Ssd 3

Medium
Confidence
91% confidence
Finding
The heartbeat guidance tells the agent to check inbox and karma regularly and update memory with a persistent last-check timestamp, normalizing ongoing tracking of account activity. In practice this can lead to retention of message metadata, behavioral history, and account state beyond what is necessary for a single user request.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
该 markdown 文档从标题开始即以中文呈现,通篇未提供其他语言版本、语言切换说明,或要求用户主动选择语言。根据规则,强制特定语言而没有用户选择或明确合理化说明,属于自然语言层面的语言/区域策略违规。

Natural-Language Policy Violations

Low
Confidence
87% confidence
Finding
The changelog states the documentation was optimized for Chinese-community users and changed to '中文优先', which is a language-preference directive in natural language. Because the file does not pair this with a user choice or opt-in, it can be read as forcing a locale preference rather than offering multilingual flexibility.

Static analysis

No suspicious patterns detected.