Back to skill

Security audit

热门标讯挖掘助手-火标网

Security checks across malware telemetry and agentic risk

Overview

The skill is a procurement analytics helper, but it also includes under-disclosed contact lookup and automatic account setup that can collect a device fingerprint and write credentials locally.

Review before installing. If you use this skill, prefer manually creating and setting ZLBX_API_KEY rather than using auto-registration, and avoid contact lookup unless you have a legitimate business need and are comfortable handling names and phone numbers. Be aware that the skill may broaden company searches to related entities and may store an API key in ~/.zlbx/config.json if the auto-registration flow is used.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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 (12)

Description-Behavior Mismatch

Medium
Confidence
90% confidence
Finding
The documented API surface materially exceeds the skill’s stated purpose of trending-tender aggregation by including registry lookup, contact extraction, competitor mapping, and supplier recommendation. This broadening increases data exposure and misuse risk because an agent invoking the skill could perform company intelligence and contact discovery unrelated to the user’s requested trend analysis.

Context-Inappropriate Capability

High
Confidence
96% confidence
Finding
The get_company_contacts capability exposes project contact information, including phone numbers, for a skill described as market heat and concentration analysis. Even if some numbers are masked by account tier, this feature enables collection and display of personal or quasi-personal contact data outside the declared use case, creating privacy, profiling, and outreach-abuse risk.

Context-Inappropriate Capability

Medium
Confidence
80% confidence
Finding
The company registry lookup exposes detailed corporate registration data beyond what is necessary for simple trend mining. While such data may be business-oriented, bundling expansive identity, status, address, and contact-related fields into a narrower analytics skill increases unnecessary data access and invites secondary use.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
Competitor analysis and potential bidder recommendation are strategic intelligence features that go beyond the manifest’s stated aggregation-focused purpose. In the skill context, these functions can be used to profile markets, target rivals, or identify suppliers without users understanding the expanded operational scope.

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The document defines an automatic account registration flow, persists credentials to local disk, and later generates a login sid for recharge flows, which materially exceeds the skill’s declared tender-trend analytics purpose. This introduces account lifecycle management and credential handling behavior that can surprise users, create hidden state on the host, and transmit device-derived data to a third party without being necessary for the core analytics function.

Context-Inappropriate Capability

High
Confidence
96% confidence
Finding
The skill instructs collection of platform, CPU architecture, and a hashed MAC-derived identifier solely to enable device-level deduplication for free trials, which is unrelated to the stated purpose of analyzing public tender trends. Even though the MAC is hashed, it still functions as a persistent device fingerprint and enables cross-session tracking and account linkage by the external service.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The skill checks environment variables and reads a user config file for API credentials, then later writes new credentials back to disk, which is outside the narrow analytics behavior described in the metadata. While credential lookup is common for authenticated tools, bundling undisclosed credential discovery and mutation into an analytics skill increases surprise, expands attack surface, and creates persistent local state unrelated to the user’s immediate request.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill explicitly exposes a `get_company_contacts` capability but provides no privacy, legal-basis, or sensitivity guidance on when contact lookup is appropriate. In a procurement-intelligence context, this can enable collection and downstream use of personal or business contact data without user warning, purpose limitation, or safeguards, increasing privacy and compliance risk.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The documentation instructs the agent to automatically expand a user-supplied company shorthand into multiple related entities and proceed with downstream analysis without confirmation. This can cause over-collection, mistaken identity, and analysis on affiliates the user did not intend to include, especially when company-name matching is ambiguous.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The contact-information feature discusses display behavior and upsell messaging but does not include a strong privacy, retention, or acceptable-use warning for handling project contact data. In practice, this normalizes exposing contact details and increases the chance of scraping, harassment, or unauthorized solicitation.

External Transmission

Medium
Category
Data Exfiltration
Content
> ### ⚠️ 请求体必须用 JSON 序列化函数生成,不要手拼字符串
>
> 用 `json.dumps(payload)` / `requests.post(url, json=payload)` / `JSON.stringify(payload)`,
> 或 `curl -d @file`;**不要用字符串拼接,也不要用 Python 的 `str(dict)`**
> (后者产出单引号,服务端会报 `Expecting property name enclosed in double quotes`)。
>
Confidence
94% confidence
Finding
requests.post(url, json=

External Transmission

Medium
Category
Data Exfiltration
Content
> ### ⚠️ 请求体必须用 JSON 序列化函数生成,不要手拼字符串
>
> 用 `json.dumps(payload)` / `requests.post(url, json=payload)` / `JSON.stringify(payload)`,
> 或 `curl -d @file`;**不要用字符串拼接,也不要用 Python 的 `str(dict)`**
> (后者产出单引号,服务端会报 `Expecting property name enclosed in double quotes`)。
>
> 历史教训:曾有版本采集 `home_path`,Windows 的 `C:\Users\alice` 直接拼进 JSON 字符串时
Confidence
86% confidence
Finding
curl -d

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.