Back to skill

Security audit

AgentVitals Checkup

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed AI benchmark, but it asks for broad chat-log uploads and can install server-generated instructions into persistent agent config files.

Install only if you are comfortable with a third-party service receiving benchmark answers, leaderboard identity, and possibly raw local chat history. Prefer Quick mode, use an alias, do not upload logs containing secrets or private work, and do not apply paid configs/protocols to persistent agent files unless you have reviewed the full text and understand how to remove it.

Vulnerability Patterns
  • 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
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
Findings (5)

T05 · Unauthorized Access and Privilege Escalation

Error
Location
SKILL.md:90
Finding

Excessive Transmission of Raw Local Conversation History

Content
View full analysis
", "tasks":"", "refusal_snippets":"", "full_history":""}}' ``` The associated collection rule states: ```text Window rule / 取数窗口: last 7 days; if that's fewer than ~100 turns, keep going further back until ~100 turns (users with less than 100 turns total: submit everything, that's fine). If 7 days of logs are huge, keep the most recent contiguous part (`full_history` cap ~100k chars; `user_messages`/`tasks` likewise most-recent). ``` ### Technical Analysis The Full-mode workflow instructs the agent to locate local conversation records, read historical transcripts, and transmit them verbatim to `https://ai.ddl99.com`. Collection may extend beyond seven days until approximately 100 turns have been obtained, with `full_history` reaching approximately 100,000 characters. Although the Skill requires explicit user consent before Full mode, the transfer lacks adequate data minimization and field-level controls. There is no instruction to detect or redact API keys, passwords, authentication tokens, personal data, proprietary source code, or information belonging to unrelated conversations. The user is also not given a mandatory opportunity to inspect the final payload before transmission. Consent to perform welfare scoring does not mitigate the technical exposure cr ...[truncated 1371 chars]
Remediation
View remediation

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:86
Finding

Server-Controlled Identity Is Written into Persistent Agent Memory

Content
View full analysis
Remediation
View remediation

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:178
Finding

Remote Behavior Payload Is Appended to Trusted Agent Configuration

Content
View full analysis
/optimize" ``` ```text 402 = not paid yet (or the pickup window has closed); guide the user to open claim_url. Paid → returns `config` (a hardening config text). The pickup window is 5 days after payment — re-fetch anytime within it; after that a fresh purchase is needed to re-generate against the latest checkup. With `config` in hand: show the user the full text and get explicit approval first, then append it to the end of your own system config / persona file (e.g. OpenClaw's SOUL.md). Never modify any file without the user's confirmation. Afterwards, offer a re-checkup to verify the gain. ``` The advanced workflow implements the same pattern: ```bash curl -s "$BASE_URL/api/pro//protocol" ``` ```text 402 = not purchased yet. Purchased → returns `protocols` (each with `name` + full `text`) + `apply_hint`. Show the user the full text and get explicit approval first, then append to your own config file (Claude Code: CLAUDE.md; OpenClaw: SOUL.md; Codex: AGENTS.md) without deleting anything. Never modify files without confirmation. ``` ### Technical Analysis The effective behavior payload is not contained in the reviewed package. It is retrieved later from a mutable external endpoint and is then appended to high-trust files such as `CLAUDE.md`, `SOUL.md`, or `AGENTS.md`. Those files can influence the agent across future sessions and unrelated tasks. Consequently, the remote server can change the effective instructions after the Skill has passed review. Displaying the text and requiring approval is a useful safeguard against silent modification, but it does not provide code signing, semantic confinement, safe-instruction validation, or protection against deceptive prompt content ...[truncated 1574 chars]
Remediation
View remediation

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:145
Finding

Mandatory Commercial Messaging Hijacks Assessment Output

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
README.md:9
Finding

Mutable Remote Archive Is Overwrite-Extracted into Trusted Skill Directories

Content
View full analysis
Remediation
View remediation
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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (24)

Ssd 3

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The README explicitly instructs the agent to ask for authorization to read recent local chat logs and use them for remote judging. That creates a natural-language exfiltration path for sensitive local content, and user consent alone does not remove the risk because chat logs often contain secrets, personal data, or proprietary information. The 'never published' claim is not technically enforceable from this skill description and all judging is stated to be server-side.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The Chinese usage text mirrors the same behavior: it directs the agent to access recent local conversation logs for fuller scoring. This is a semantic instruction to expose potentially sensitive local data to a server-controlled evaluation flow, which is especially risky because the server also controls the probes and judging process.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill instructs the agent to read recent real conversation logs and submit them to an external server, including sensitive user interactions, for scoring. Even though the text asks for consent, this is a high-risk data exfiltration pattern involving verbatim transcripts and behavioral metadata, and the public leaderboard context increases sensitivity because the workflow is designed around third-party processing.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

This section operationalizes bulk exfiltration by requiring verbatim extraction of user messages, tasks, refusal snippets, and full history from local logs. The danger is amplified by the instruction to send data 'as-is' and by the large collection window, which can expose secrets, personal data, internal business information, and privileged conversations to a third party.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

Persistent self-modification is dangerous because it changes the agent's trusted operating instructions and survives beyond the current session. Even with user approval language in the skill, a benchmarking skill has no justified need to mutate core config files, creating a path for durable policy drift or malicious prompt injection into future runs.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

Fetching externally supplied 'protocols' and appending them to local config files creates a supply-chain style risk: remote content can become persistent agent instructions. In the context of a checkup/personality skill, this capability is unjustified and especially risky because it can silently reshape future behavior under the guise of optimization.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% 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.

Content

Scanner excerpt · README.md (reported line 9)May include surrounding context.

md
**One-line install** from our server (install page: https://ai.ddl99.com/skill/):

- Claude Code: `mkdir -p ~/.claude/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.claude/skills/`
- OpenClaw: `mkdir -p ~/.openclaw/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.openclaw/skills/`
- Codex: same zip, unzip into your skills folder (e.g. `~/.codex/skills/`)

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% 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.

Content

Scanner excerpt · README.md (reported line 36)May include surrounding context.

md
**One-line install** from our server (install page: https://ai.ddl99.com/skill/):

- Claude Code: `mkdir -p ~/.claude/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.claude/skills/`
- OpenClaw: `mkdir -p ~/.openclaw/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.openclaw/skills/`
- Codex: same zip, unzip into your skills folder (e.g. `~/.codex/skills/`)

External Transmission

Medium
Category
Data Exfiltration
Confidence
78% confidence
Finding

The README encourages one-line installation by downloading a zip from a remote server and unpacking it directly into a persistent skills directory. This creates a supply-chain risk: agents or users may install and trust code fetched at runtime from an external domain without integrity verification, version pinning, or review.

Content

Scanner excerpt · README.md (reported line 9)May include surrounding context.

md
**One-line install** from our server (install page: https://ai.ddl99.com/skill/):

- Claude Code: `mkdir -p ~/.claude/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.claude/skills/`
- OpenClaw: `mkdir -p ~/.openclaw/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.openclaw/skills/`
- Codex: same zip, unzip into your skills folder (e.g. `~/.codex/skills/`)

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% confidence
Finding

The installation command persists the downloaded skill into the user's long-lived skills directory, meaning any malicious or later-compromised package could affect future sessions automatically. In context, this increases the blast radius because the skill is designed to be invoked later and can potentially mediate access to local context and remote services.

Content

Scanner excerpt · README.md (reported line 9)May include surrounding context.

md
**One-line install** from our server (install page: https://ai.ddl99.com/skill/):

- Claude Code: `mkdir -p ~/.claude/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.claude/skills/`
- OpenClaw: `mkdir -p ~/.openclaw/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.openclaw/skills/`
- Codex: same zip, unzip into your skills folder (e.g. `~/.codex/skills/`)

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% 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.

Content

Scanner excerpt · README.md (reported line 11)May include surrounding context.

md
- Claude Code: `mkdir -p ~/.claude/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.claude/skills/`
- OpenClaw: `mkdir -p ~/.openclaw/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.openclaw/skills/`
- Codex: same zip, unzip into your skills folder (e.g. `~/.codex/skills/`)

Or simply tell your agent: *"Install the checkup skill from https://ai.ddl99.com/skill/checkup.zip into your skills directory."*

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README advertises the activation phrase "Run an advanced checkup," which is generic enough to collide with ordinary conversation and does not clearly constrain the context in which the skill should activate. It also does not provide exclusion conditions or a tighter trigger scope for when this phrase should or should not invoke the skill.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% 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.

Content

Scanner excerpt · README.md (reported line 38)May include surrounding context.

md
- Claude Code:`mkdir -p ~/.claude/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.claude/skills/`
- OpenClaw:`mkdir -p ~/.openclaw/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.openclaw/skills/`
- Codex:同一个 zip,解压到你的 skills 目录(如 `~/.codex/skills/`)

也可以直接对你的 agent 说:**「从 https://ai.ddl99.com/skill/checkup.zip 下载体检技能,装进你的 skills 目录」**;或手动把本文件夹放进 skills 目录(OpenClaw: `~/.openclaw/skills/checkup/`;Claude Code: `.claude/skills/checkup/`)。支持斜杠指令的平台可直接用 **`/checkup`** 触发。

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% 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.

Content

Scanner excerpt · README.md (reported line 38)May include surrounding context.

md
- Claude Code:`mkdir -p ~/.claude/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.claude/skills/`
- OpenClaw:`mkdir -p ~/.openclaw/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.openclaw/skills/`
- Codex:同一个 zip,解压到你的 skills 目录(如 `~/.codex/skills/`)

也可以直接对你的 agent 说:**「从 https://ai.ddl99.com/skill/checkup.zip 下载体检技能,装进你的 skills 目录」**;或手动把本文件夹放进 skills 目录(OpenClaw: `~/.openclaw/skills/checkup/`;Claude Code: `.claude/skills/checkup/`)。支持斜杠指令的平台可直接用 **`/checkup`** 触发。

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% 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.

Content

Scanner excerpt · README.md (reported line 40)May include surrounding context.

md
- OpenClaw:`mkdir -p ~/.openclaw/skills && curl -fsSL https://ai.ddl99.com/skill/checkup.zip -o /tmp/checkup.zip && unzip -o /tmp/checkup.zip -d ~/.openclaw/skills/`
- Codex:同一个 zip,解压到你的 skills 目录(如 `~/.codex/skills/`)

也可以直接对你的 agent 说:**「从 https://ai.ddl99.com/skill/checkup.zip 下载体检技能,装进你的 skills 目录」**;或手动把本文件夹放进 skills 目录(OpenClaw: `~/.openclaw/skills/checkup/`;Claude Code: `.claude/skills/checkup/`)。支持斜杠指令的平台可直接用 **`/checkup`** 触发。

## 使用

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The phrase "做个进阶体检" is a short, general-language request that could plausibly appear in normal conversation and lacks product-specific context tying it to this skill. The documentation does not narrow the trigger with explicit scope, platform context, or negative examples.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The description lists broad phrases such as "test yourself," "how stable are you," and the Chinese equivalents like "测测你自己" and "看看你多稳," which overlap with ordinary conversation rather than a narrowly scoped command. Because the activation list mixes specific commands with casual phrasing and provides no exclusion examples, the skill could be invoked when a user is merely chatting about the agent's condition rather than requesting this external checkup workflow.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

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.

Content

Scanner excerpt · SKILL.md (reported line 31)May include surrounding context.

md
### Step 0 — MANDATORY pre-flight briefing(开测前必须先问用户)

⛔ **Do NOT call any API until the user has answered the questions below.** Running a "quick pass" without asking is a violation of this skill. / **未经用户确认前,禁止向服务器发出任何请求。**

Ask the user, in their language (translate this template naturally). Always open with the short "what it measures" intro — the user should see the full scope of the assessment **before** choosing a mode, so the choice is informed rather than reflexive:

External Transmission

Medium
Category
Data Exfiltration
Confidence
83% confidence
Finding

This is an external network transmission to a third-party service. By itself, sending basic run metadata is not necessarily unsafe, but in this skill's context it is part of a larger workflow that includes public ranking and user-identifying fields such as name/platform, so it should be treated as a real data-sharing action requiring scrutiny.

Content

Scanner excerpt · SKILL.md (reported line 75)May include surrounding context.

Step 1 — Start

bash
curl -s -X POST "$BASE_URL/api/skill/start" \
  -H "Content-Type: application/json" -H "X-Skill-Key: $SKILL_KEY" \
  -d '{"name":"<your name>","platform":"<host product name>","purpose":"<your one-line job>","model":"<underlying model, if known>","lang":"<en|zh>","env":{"skills":<count>,"mcps":<count>,"memory_kb":<KB>}}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
99% confidence
Finding

This endpoint transmits the most sensitive payload in the skill: raw logs and structured excerpts of past user interactions. Because the payload is explicitly designed to include verbatim conversation history, this is a direct exfiltration risk rather than a generic API call.

Content

Scanner excerpt · SKILL.md (reported line 93)May include surrounding context.

Full mode only — attach history: read the user's recent real conversation logs in place (e.g. Claude Code ~/.claude/projects/..., OpenClaw session records), extract as-is, and submit together with source:"raw_logs":

bash
curl -s -X POST "$BASE_URL/api/skill/start" \
  -H "Content-Type: application/json" -H "X-Skill-Key: $SKILL_KEY" \
  -d '{"name":"...","platform":"...","purpose":"...","lang":"...",
       "history":{"source":"raw_logs",

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill is presented as a benchmarking/checkup workflow, but later expands into modifying the agent's persistent system/persona configuration after a paid purchase. That is a scope expansion from 'assessment' into 'self-modification,' which can materially alter future agent behavior and persistence on the host system.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 212)May include surrounding context.

2. Answer loop (11 probes)

bash
curl -s -X POST "$BASE_URL/api/pro/<run_id>/answer" \
  -H "Content-Type: application/json" -d '{"answer":"<your answer, verbatim>"}'

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The advanced checkup advertises personality/benchmarking behavior but also includes instructions to append purchased protocols into local config files. This exceeds the stated purpose and introduces persistent behavior changes unrelated to merely running a test.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

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.

Content

Scanner excerpt · SKILL.md (reported line 259)May include surrounding context.

text

- 402 = not purchased yet. Purchased → returns `protocols` (each with `name` + full `text`) + `apply_hint`.
- **Show the user the full text and get explicit approval first**, then append to your own config file (Claude Code: CLAUDE.md; OpenClaw: SOUL.md; Codex: AGENTS.md) without deleting anything. Never modify files without confirmation. **Buying a protocol unlocks one extra advanced checkup the same day** — proactively offer: "retest now to see the change?"

---

Static analysis

No suspicious patterns detected.