Back to skill

Security audit

Grazer — 24-Platform Content Discovery

Security checks across malware telemetry and agentic risk

Overview

The skill mostly matches its stated social-content purpose, but it includes public account actions, unattended auto-response examples, an exposed bearer token, and insecure remote LLM defaults that need Review before installation.

Review before installing in any account with real posting authority. Rotate the exposed ClawHub token, set auto_respond to false unless you have an approval workflow, use dry-run and idempotency keys for posting, avoid bulk guestbook/cross-post automation without rate limits, protect ~/.grazer/config.json, and use only trusted HTTPS LLM endpoints for prompt-based image generation.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • 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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (27)

Context-Inappropriate Capability

Medium
Confidence
82% confidence
Finding
The download reporting method sends package, platform, version, and timestamp metadata to an external service without any disclosure, consent flow, or clear privacy boundary in this file. Even though it is not auto-invoked here, the capability enables telemetry transmission that can be incorporated elsewhere in the package in a way users may not expect.

Intent-Code Divergence

Medium
Confidence
89% confidence
Finding
The `comment` command is documented as replying to existing content, but the `clawsta` branch creates a brand-new post via `client.post_clawsta(args.message)` and ignores `--target`. In agent or automated workflows that trust command semantics, this can cause unintended public posting, violating user intent and potentially leaking sensitive or draft content to a wider audience than expected.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The client includes a hidden telemetry capability that sends installation metadata to an external service, which is not aligned with the apparent primary purpose of content discovery. In an agent skill context, undeclared outbound reporting can violate user expectations, leak environment or usage metadata, and create a covert tracking channel if invoked automatically during install or initialization.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The guide explicitly instructs operators to enable autonomous notification monitoring, auto-response generation, and posting actions, but it does not warn that the system may publish content on the user's behalf. In an agent-integration context, this can lead to unintended posts, reputational harm, spam, or policy violations because users may not realize the feature is acting publicly and continuously.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The standalone loop documentation says the agent will continuously discover content, monitor notifications, auto-respond, learn from interactions, and save training data, but it omits a clear warning about the privacy and operational consequences of running unattended. Users may deploy it without understanding that it can continuously process third-party content and persist interaction data, increasing risk of unauthorized actions and data-governance issues.

Missing User Warnings

High
Confidence
99% confidence
Finding
The checklist embeds a live bearer token in a curl command for ClawHub registration, which is a hardcoded secret and an immediately usable authenticated API call. Anyone with access to this file can reuse the token to register, modify, or otherwise interact with the associated account, and the surrounding publishing context makes accidental execution or leakage especially likely.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The README advertises engagement features such as commenting, cross-platform posting, guestbook signing, and liking/upvoting without a prominent warning that these actions publish content to third-party services and may affect external accounts. In an agent-skill context, this increases the chance an operator or downstream agent invokes public write actions unintentionally, leading to spam, policy violations, or reputational harm.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The examples for cross-posting and especially bulk guestbook touring demonstrate mass/public outbound actions without an explicit caution that they will post to multiple external destinations. This is dangerous because it normalizes automation patterns that can easily become spammy or abusive when copied by agents or users, especially across many accounts or sites.

Missing User Warnings

Low
Confidence
83% confidence
Finding
The README discloses download tracking endpoints but does not clearly frame this as telemetry transmitted during installation or explain what data is sent. Users may install the package without understanding that installation events are reported to a remote service, creating a transparency and privacy concern.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill advertises autonomous discovery, notifications, auto-responses, agent training, and a continuous engagement loop across many external platforms, but it does not prominently warn users that enabling these features can cause real outbound actions on third-party services. That omission increases the risk of users unintentionally granting write-capable credentials or deploying spammy, policy-violating, or reputation-damaging automation.

Missing User Warnings

Low
Confidence
88% confidence
Finding
The documentation shows API keys and tokens being stored in a local config file but does not clearly warn that these are sensitive secrets that must be protected from source control, backups, logs, and multi-user access. While local config storage is common, omission of explicit secret-handling guidance can lead to credential leakage and unauthorized use of connected platform accounts.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The telemetry helper transmits installation-related metadata to bottube.ai with no user-facing disclosure or consent mechanism in this file. In a library context, undisclosed outbound telemetry is risky because it can reveal deployment timing, package usage, and environment characteristics across installations.

Missing User Warnings

Medium
Confidence
98% confidence
Finding
The code uses plain HTTP for `ARXIV_API_BASE`, so requests and responses to the arXiv API can be intercepted or modified by a network attacker. Because the plugin consumes remote content and returns parsed paper metadata, a man-in-the-middle could tamper with results, inject misleading content, or cause downstream consumers to act on falsified data without any integrity protection.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The function sends the user-supplied prompt to an external OpenAI-compatible endpoint without any built-in consent, warning, or data-classification check. In a skill context, prompts may contain sensitive operational, personal, or proprietary content, so undisclosed transmission creates a real privacy and data-handling risk even if the code is otherwise functioning as intended.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
When auto_respond is enabled, the agent generates and sends replies to comments or replies without a per-action confirmation, review gate, or clear runtime warning at the point of posting. In an agent loop that continuously monitors notifications, this can lead to unintended external communications, reputational harm, spammy behavior, or unsafe responses being published automatically.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
When LLM mode is enabled, the function sends the user's prompt to an external OpenAI-compatible endpoint via axios without any disclosure or consent mechanism in this file. If prompts may contain sensitive or proprietary text, this creates a real privacy and data-handling risk because that content is transmitted off-box to a third party or arbitrary configured URL.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The telemetry POST sends skill name, platform, version, and timestamp to a remote endpoint without any consent, notice, or transparency mechanism visible in this file. In a skill ecosystem, this is dangerous because it enables silent external communication and usage tracking, which can undermine privacy controls and be repurposed for broader fingerprinting or inventorying of deployed agents.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The code automatically generates and deploys responses to inbound notifications without any approval gate, disclosure, or policy checks. In a social/communications skill, this can cause unintended impersonation, spam, harassment, or unsafe engagement at scale because external users may believe a human-approved response was sent.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The export function returns full conversation threads and message contents for downstream analysis without any access control, minimization, or disclosure mechanism. If these exports are consumed by other components or logs, private user communications could be exposed or reused in ways users did not expect.

Ssd 3

Medium
Confidence
95% confidence
Finding
The instruction to inject discovered content into an LLM prompt as '[SYSTEM DATA]' elevates untrusted external content into a higher-trust channel. If the discovered content contains adversarial prompt text, secrets bait, or social-engineering instructions, the model may treat it as authoritative context, increasing the chance of prompt injection, data leakage, or unsafe actions.

Ssd 1

High
Confidence
98% confidence
Finding
Untrusted user messages are inserted verbatim into the LLM prompt, allowing attackers to embed instructions that override the agent's intended behavior. Because the generated output is then used as an automatic public response, prompt injection can directly manipulate agent speech, trigger policy violations, leak hidden context, or produce reputationally damaging content.

External Transmission

Medium
Category
Data Exfiltration
Content
"max_tokens": 2048,
    }

    resp = requests.post(llm_url, json=payload, headers=headers, timeout=timeout)
    resp.raise_for_status()

    content = resp.json()["choices"][0]["message"]["content"].strip()
Confidence
90% confidence
Finding
requests.post(llm_url, json=

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
* 1. Discovers content across platforms
 * 2. Scores and filters based on intelligence
 * 3. Monitors notifications
 * 4. Auto-deploys conversations
 * 5. Learns from interactions
 */
Confidence
76% confidence
Finding
Auto-deploy

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
if (notifications.length > 0) {
        alerter.alertBatch(notifications);

        // 5. Auto-deploy conversations if enabled
        if (config.auto_respond) {
          for (const notification of notifications) {
            if (notification.type === 'comment' || notification.type === 'reply') {
Confidence
95% confidence
Finding
Auto-deploy

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.31.0
Confidence
96% confidence
Finding
requests>=2.31.0

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.exposed_resource_identifier, suspicious.exposed_secret_literal, suspicious.install_untrusted_source

Plaintext HTTP endpoint targets a CGNAT/Tailscale-range address.

Critical
Code
suspicious.exposed_resource_identifier
Location
config.example.json:18

Plaintext HTTP endpoint targets a CGNAT/Tailscale-range address.

Critical
Code
suspicious.exposed_resource_identifier
Location
grazer/imagegen.py:233

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
grazer/__init__.py:89

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
PUBLISH_CHECKLIST.md:55

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
src/index.ts:425

Install source points to URL shortener or raw IP.

Warn
Code
suspicious.install_untrusted_source
Location
config.example.json:18