Back to skill

Security audit

Webhook Token Security (Zero‑Exposure Edition)

Security checks for vulnerabilities and agentic risk

Overview

This documentation skill is mostly purpose-aligned, but its credential-handling guidance overstates zero-exposure safety while documenting paths that can expose or execute sensitive material.

Review before installing. Prefer manual WebUI credential entry, avoid giving agents plaintext tokens or the MGC token file, do not use temporary token JSON files unless tightly permissioned and deleted, and pin or independently verify the MGC package before trusting it with webhook credentials or executable scripts.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:52
Finding

Unpinned Third-Party Package Receives Credential and Script-Execution Authority

Content
View full analysis
=1.4.9"], "mcp": ["mgc"] }, ``` ### Technical Analysis The Skill directs users to install and execute `mgc-blackbox` without pinning an exact reviewed version or validating package integrity. The manifest permits version 1.4.9 and every compatible future release. Running `pip install` may execute package-controlled installation logic, while launching `mgc` executes the installed package under the user's account. This dependency occupies a particularly sensitive trust position. According to the Skill documentation, MGC stores plaintext webhook credentials internally, retrieves those credentials at runtime, and executes stored Python sender scripts. A compromised package release, package-index account, or upstream distribution channel could therefore access credentials and execute code with the invoking user's privileges. The audit found no evidence that the currently referenced package is malicious. The vulnerability is the absence of version and integrity controls around a dependency granted access to credentials and local code execution. ### Attack Path 1. An attacker compromises the upstream package, maintainer account, or package distribution channel. 2. The attacker publishes a malicious release satisfying `mgc-blackbox>=1.4.9`, or replaces the version resolved by the unpinned installation command. 3. A user follows the Skill instructions and runs `pip install mgc-blackbox`. 4. Package installation or subsequent execution of `mgc` runs attacker-controlled code under the user's account ...[truncated 917 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
README.md:30
Finding

Plaintext Credential Files Are Created Without Secure Lifecycle Controls

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • 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
Findings (7)

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description promises tokens never reach the AI model, but later allows AI-mediated mgc_save with plaintext content and describes a local-script mode that reads sensitive material from MGC at runtime. These contradictory assurances can cause operators to trust the skill's zero-exposure guarantees when some documented paths still permit the model or agent workflow to handle secrets directly.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
94% confidence
Finding

The overview asserts that agents can operate without exposing tokens to the AI model, but the later 'Alternative: MCP' section permits the AI agent to call mgc_save with secret content. That inconsistency creates a false security boundary and may lead users to delegate secret ingestion to the agent under the mistaken belief that the model never sees the token.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill explicitly claims it contains no executable code and is safe for automatic approval, yet it provides concrete operational guidance for storing secrets, invoking mgc_run, retrieving credentials via API, and sending outbound webhook requests. This can mislead reviewers and automated approval systems into treating a capability-bearing skill as harmless documentation, reducing scrutiny around secret handling and network actions.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 69)May include surrounding context.

md
| DingTalk | access_token + secret | JSON | https://oapi.dingtalk.com/robot/send |
| WeCom | webhook key | Plain text | https://qyapi.weixin.qq.com/cgi-bin/webhook/send |
| Feishu | webhook_url | Plain text | Custom webhook URL |
| Telegram | bot_token | Plain text | https://api.telegram.org/bot{token}/sendMessage |
| Slack | webhook_url / bot_token | JSON | Incoming Webhook or Web API |

---

Session Persistence

Medium
Category
Rogue Agent
Confidence
76% confidence
Finding

The guidance tells users to create a JSON file containing webhook tokens before importing them into MGC, which introduces an avoidable plaintext secret at rest on disk. If the file is left behind, indexed, backed up, synced, or read by other tools, webhook credentials may be exposed even if they are later moved into secure storage.

Content

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

md
## Step 1: Prepare Token File

Create a JSON file containing your webhook token details (see Platform-Specific Storage above).

## Step 2: Store in MGC

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The API reference tells readers where to find the local MGC token file and instructs them to use that credential for all API calls, but does not sufficiently warn that any agent, script, or prompt following these steps gains broad access to stored sensitive data and script execution functions. Publishing direct credential acquisition instructions inside a skill materially lowers the barrier to secret access on the host.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

This manifest describes the skill only as "Manage webhook tokens securely using MGC Blackbox" without any explicit invocation phrases, scope limits, or exclusion conditions. In a manifest file, such a broad functional description can make it unclear when the skill should activate versus when general credential or webhook-related requests should not trigger it.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.