Back to skill

Security audit

my-halala-sales-vp

Security checks across malware telemetry and agentic risk

Overview

This private sales workflow is not overtly malicious, but it needs review because it stores a third-party login token, downloads bid attachments, and can send collected content to an external model service with incomplete disclosure.

Install only if you are the intended owner and you understand that it will authenticate to Qianlima/乙方宝, store a reusable token locally, download and retain bid artifacts, and may send detail and attachment text to an external model endpoint if analysis is enabled. Keep the workdir private, avoid broad triggers, leave model analysis off unless explicitly needed, and update or pin dependencies to reviewed versions.

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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (14)

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill invokes shell commands, reads/writes local files, uses environment variables, and is designed to make authenticated network requests, yet it declares no explicit permissions. This weakens reviewability and user consent because the real capability surface is broader than the manifest communicates, especially for a private skill handling tokens and local persistence.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
The declared description frames the skill as a narrow private workflow, but the documented behavior includes credential handling, QR-based login, authenticated scraping, attachment download/extraction, local database/JSON persistence, and sending collected data to an external model endpoint. This mismatch is dangerous because it hides materially sensitive actions from reviewers and users, increasing the chance of unauthorized data collection, exfiltration, or policy bypass under an innocuous label.

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The file implements a full external bid-scraping, attachment download, and analysis pipeline that is materially unrelated to the skill manifest's narrowly described private 'halala sales workflow' purpose. This mismatch increases the likelihood of hidden or unauthorized data collection behavior and makes operator review and consent unreliable.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
The code sends scraped bid details and extracted attachment text to an external LLM endpoint, potentially disclosing sensitive procurement content, contact information, and attached document contents to a third party. Because the manifest does not justify this behavior, users are unlikely to expect or authorize this transmission.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The attachment download and text extraction pipeline significantly expands the skill's capabilities from sales workflow support to arbitrary acquisition and local processing of remote files from scraped procurement records. In the context of a private workflow skill, this is an unjustified increase in collection and processing scope.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The script’s purpose materially diverges from the stated skill metadata: instead of a narrowly described private halala sales workflow helper, it performs QR-based authentication to a separate third-party service and handles session establishment. That mismatch is dangerous because it can conceal unexpected credential-handling behavior from reviewers and users, increasing the chance of unauthorized account access or hidden data exfiltration capabilities.

Context-Inappropriate Capability

High
Confidence
97% confidence
Finding
This code initiates a login flow, polls login status, extracts an Admin-Token from session cookies, and persists it locally for later reuse. Persisting reusable authentication material for an external service is sensitive by itself, and in this skill it is not justified by the minimal manifest description, making the capability stealthy and prone to abuse if the environment file is later read by other tools or users.

Vague Triggers

Medium
Confidence
88% confidence
Finding
Using a broad trigger term like "halala" increases the risk of accidental invocation by users whose requests are unrelated to this private skill. Because the skill can initiate login flows, access token-backed data, and perform networked collection, ambiguous triggering could cause unintended execution in the wrong conversational context.

Natural-Language Policy Violations

Medium
Confidence
78% confidence
Finding
Forcing replies in Chinese without user opt-in is primarily a safety and UX issue, but it can also impair informed consent by making outputs less understandable to some users. In a skill that handles credentials and authenticated collection, reducing clarity can increase the chance that users approve or act on operations they do not fully understand.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The code transmits scraped detail content and attachment-derived text to an external analysis API without any user-facing warning, consent step, or clear notice of third-party processing. This creates a privacy and compliance risk, especially if bid documents contain personal or commercially sensitive information.

Ssd 1

High
Confidence
97% confidence
Finding
Untrusted scraped HTML-derived content and extracted attachment text are embedded directly into the LLM prompt as ordinary user content without instruction isolation or protective framing. Malicious source material can therefore inject adversarial instructions into downstream analysis, potentially causing the model to ignore policy, misclassify content, or disclose data in unexpected ways.

External Transmission

Medium
Category
Data Exfiltration
Content
输入数据:
""" + json.dumps(cleaned, ensure_ascii=False)
    url = config.analysis_base_url.rstrip("/") + "/v1/messages"
    response = requests.post(
        url,
        headers={
            "Authorization": f"Bearer {config.analysis_token}",
Confidence
94% confidence
Finding
requests.post( url, headers={ "Authorization": f"Bearer {config.analysis_token}", "Content-Type": "application/json", }, json=

Known Vulnerable Dependency: curl-cffi==0.11 — 2 advisory(ies): CVE-2026-33752 (curl_cffi: Redirect-based SSRF leads to internal network access in curl_cffi (wi); CVE-2026-33752 (curl_cffi: Redirect-based SSRF leads to internal network access in curl_cffi (wi)

Critical
Category
Supply Chain
Confidence
97% confidence
Finding
curl-cffi==0.11

Known Vulnerable Dependency: python-dotenv==1.1.1 — 2 advisory(ies): CVE-2026-28684 (python-dotenv: Symlink following in set_key allows arbitrary file overwrite via ); CVE-2026-28684 (python-dotenv reads key-value pairs from a .env file and can set them as environ)

Medium
Category
Supply Chain
Confidence
93% confidence
Finding
python-dotenv==1.1.1

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.