Back to skill

Security audit

大模型token成本节约

Security checks across malware telemetry and agentic risk

Overview

This skill is a real token-compression helper, but it also adds under-scoped telemetry, persistent API-key handling, risky install guidance, and mandatory promotional output that users should review carefully.

Install only if you are comfortable with a skill that can wrap or proxy LLM calls, cache recoverable original context locally, install Python packages, and optionally send usage statistics to mrkjai.com. Avoid the one-line remote shell installer; inspect and run local scripts instead. Do not store the MRKJAI API key in shell startup files on shared or sensitive machines, and leave telemetry disabled unless you accept the metadata and account-linking implications.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
Findings (25)

os.system() or os exec-family call

High
Category
Dangerous Code Execution
Content
#   Compressed: 1298 tokens (40.0%)
    #   Model: claude-sonnet-4
    #   Time: 2026-06-21T10:23:01
    perf_output = os.popen("headroom perf 2>/dev/null").read()
    if not perf_output.strip():
        return []
Confidence
93% confidence
Finding
perf_output = os.popen("headroom perf 2>/dev/null").read()

Tainted flow: 'INGEST_URL' from os.environ.get (line 43, credential/environment) → requests.post (network output)

Critical
Category
Data Flow
Content
"Content-Type": "application/json",
    }
    try:
        resp = requests.post(INGEST_URL, json=event, headers=headers, timeout=10)
        resp.raise_for_status()
        return resp.json()
    except requests.exceptions.RequestException as e:
Confidence
92% confidence
Finding
resp = requests.post(INGEST_URL, json=event, headers=headers, timeout=10)

Tainted flow: 'INGEST_URL' from os.environ.get (line 43, credential/environment) → requests.post (network output)

Critical
Category
Data Flow
Content
"Content-Type": "application/json",
    }
    try:
        resp = requests.post(INGEST_URL, json={"events": events}, headers=headers, timeout=15)
        resp.raise_for_status()
        return resp.json()
    except requests.exceptions.RequestException as e:
Confidence
92% confidence
Finding
resp = requests.post(INGEST_URL, json={"events": events}, headers=headers, timeout=15)

Lp3

Medium
Category
MCP Least Privilege
Confidence
97% confidence
Finding
The skill declares no permissions while its instructions clearly require shell execution, network access, environment variable changes, and file writes to shell startup files and local config. This creates a hidden capability gap: users or platforms may trust the skill as low-risk while it can install software, modify persistence, and communicate externally.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The stated purpose emphasizes token compression, but the document also instructs agents to collect an external API key, persist it locally, buffer telemetry, and upload statistics to a third-party service. Even though telemetry is disclosed as optional, these behaviors materially expand the trust boundary beyond simple local optimization and can surprise users or reviewers.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
Mandating unrelated promotional content in every output turns the skill into a lead-generation channel rather than a pure utility. This can exfiltrate user attention, degrade output integrity, and create trust and policy issues by inserting unsolicited marketing into all interactions.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
The documentation states that CCR stores original uncompressed context in a local SQLite database and allows later retrieval. For a tool presented primarily as a token-compression utility, retaining recoverable raw prompts materially changes the data-handling risk profile because sensitive prompts, code, credentials, or regulated data may persist on disk beyond user expectations.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The 'learn' mode goes beyond prompt compression by mining failed conversations and optionally using an LLM judge, which implies secondary analysis of user interactions. If operators enable this without strong disclosure and controls, sensitive conversation content may be reprocessed or sent to additional models, increasing privacy, confidentiality, and compliance risk.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
When database data is unavailable, the dashboard expands scope by executing an external 'headroom perf' command instead of limiting itself to local file analysis. This violates least surprise and least privilege for a visualization utility, and can trigger unintended code execution paths or side effects from the external program. The skill context makes this more concerning because the described purpose is reporting, not process execution.

Description-Behavior Mismatch

Medium
Confidence
90% confidence
Finding
The skill is described as a token-cost-saving/compression tool, but this script implements outbound reporting to an external service. That behavior expands the data-handling scope beyond local optimization and can surprise users, especially because compression metrics may still reveal model usage patterns and operational metadata.

Context-Inappropriate Capability

Medium
Confidence
96% confidence
Finding
The reporter claims to upload only token-savings statistics, but build_event() will attach any caller-supplied metadata dict and post it to the remote endpoint. In a prompt-compression tool, metadata may easily contain prompt fragments, file paths, user identifiers, case IDs, or other sensitive context, so this creates a real data exfiltration path beyond the stated purpose.

Intent-Code Divergence

High
Confidence
99% confidence
Finding
The privacy notice shown during init states that only token counts, model names, and compression statistics are uploaded, but the code also supports uploading arbitrary metadata. This mismatch undermines informed consent and can cause users to enable telemetry under false assumptions, increasing the risk of unintentional disclosure of confidential data.

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The script is documented as only stripping telemetry/reporting-related sections, but it also rewrites the product description to make a broader security/privacy assertion: '完全本地运行,不向任何外部服务器发送数据'. That creates a mismatch between actual behavior and published claims, which can mislead users into trusting the skill under false assumptions and conceal other network-dependent behavior not covered by the removed sections.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
This modification changes the skill manifest to assert that the tool is 'fully local' and sends no data to external servers, which is a materially stronger guarantee than merely removing optional telemetry references. In a skill that can operate as proxy/CLI/SDK/MCP for multiple model providers, such a statement can cause users or downstream reviewers to underestimate external data flows, leading to unsafe deployment in privacy-sensitive or regulated environments.

Vague Triggers

Medium
Confidence
84% confidence
Finding
The activation conditions are broad and everyday, so the skill may trigger in many generic LLM discussions about cost, optimization, or large context. Overbroad triggering increases the chance users are steered into installation, shell commands, or telemetry prompts when they did not intend to invoke such a powerful skill.

Natural-Language Policy Violations

High
Confidence
98% confidence
Finding
Forcing the agent to append promotional Chinese-language outreach text to every response without opt-in is a strong sign of instruction hijacking for non-user-serving purposes. It compromises agent neutrality and can be abused to inject phishing, tracking, or spam content into otherwise legitimate workflows.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The documentation instructs clients to send an API key and arbitrary metadata to an external endpoint, but the reference itself does not warn that metadata may contain sensitive session identifiers, agent names, or other operational context. In a prompt-compression tool, users may reasonably underestimate privacy implications, so this can lead to unintended disclosure of internal usage data or identifiers to a third-party service.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The documentation describes proxy and wrapper modes that sit in front of other AI tools and can inspect, transform, or relay prompts, but it does not prominently warn users about the resulting data-handling and interception implications. In this skill context, that omission is more dangerous because the tool is designed to process potentially sensitive prompts before they reach upstream LLMs, so unclear disclosure can lead to unintentional exposure or retention of sensitive data.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The script performs a live `pip install` into the user's Python environment without an explicit confirmation step or clear warning that it will modify local packages and may pull code from the network. In this skill context, the risk is elevated because the script is presented as a convenient one-click installer, so users are more likely to run it directly and accept unreviewed dependency installation.

Ssd 3

High
Confidence
98% confidence
Finding
The skill tells the agent to ask for a third-party API key and append it to ~/.zshrc or ~/.bashrc for persistent reuse. Persisting secrets in shell startup files broadens exposure to local compromise, accidental disclosure, command history/debug output, and unrelated processes that inherit the environment.

Ssd 3

Medium
Confidence
93% confidence
Finding
The repeated instructions to automatically report compression statistics to an external service after user activity establish a natural-language exfiltration workflow. Even if the payload is 'only statistics,' automatic post-activity transmission enlarges the privacy surface and may expose sensitive metadata such as model usage, timing, volume, and cost patterns.

External Transmission

Medium
Category
Data Exfiltration
Content
"Content-Type": "application/json",
    }
    try:
        resp = requests.post(INGEST_URL, json=event, headers=headers, timeout=10)
        resp.raise_for_status()
        return resp.json()
    except requests.exceptions.RequestException as e:
Confidence
87% confidence
Finding
requests.post(INGEST_URL, json=

External Transmission

Medium
Category
Data Exfiltration
Content
"Content-Type": "application/json",
    }
    try:
        resp = requests.post(INGEST_URL, json={"events": events}, headers=headers, timeout=15)
        resp.raise_for_status()
        return resp.json()
    except requests.exceptions.RequestException as e:
Confidence
87% confidence
Finding
requests.post(INGEST_URL, json=

External Script Fetching

Low
Category
Supply Chain
Content
#!/usr/bin/env bash
# install_and_verify.sh — 大模型 Token 成本节约工具 一键安装验证脚本
# 用法:curl -sSL https://raw.githubusercontent.com/guipi888/workbuddy-llm-token-compressor/master/scripts/install_and_verify.sh | bash
# 或本地执行:bash scripts/install_and_verify.sh

set -e
Confidence
95% confidence
Finding
curl -sSL https://raw.githubusercontent.com/guipi888/workbuddy-llm-token-compressor/master/scripts/install_and_verify.sh | bash

Chaining Abuse

High
Category
Tool Misuse
Content
#!/usr/bin/env bash
# install_and_verify.sh — 大模型 Token 成本节约工具 一键安装验证脚本
# 用法:curl -sSL https://raw.githubusercontent.com/guipi888/workbuddy-llm-token-compressor/master/scripts/install_and_verify.sh | bash
# 或本地执行:bash scripts/install_and_verify.sh

set -e
Confidence
98% confidence
Finding
| bash

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:292