Back to skill

Security audit

HALO · A股可信分析框架

Security checks across malware telemetry and agentic risk

Overview

The skill appears intended for stock analysis, but it needs review because it gives investment-style recommendations while overstating data reliability and includes an unsafe remote shell installer pattern.

Install only after reviewing the installer and preferably using the manual git clone flow from a pinned commit instead of curl | bash. Treat outputs as informational research, not financial advice; verify prices, filings, qualitative claims, target prices, and AI-written conclusions independently before acting.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (16)

Lp3

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding
The skill directs the agent to activate a virtual environment, execute Python scripts, perform network fetches, and write output files, yet no permissions are declared. This creates a capability transparency and policy-enforcement gap: an operator may believe the skill is low-risk text guidance when it actually invokes shell, network, and filesystem actions.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding
The skill claims that data is '100% from API' and 'never fabricated,' but the workflow includes scraped qualitative sources, AI-filled analytical sections, optional external skill integration, and broader install/update behavior not disclosed in the description. This mismatch can mislead users and higher-level agents into overtrusting the provenance and reliability of outputs, increasing the chance of unsafe automation or materially misleading financial reports.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The script claims it outputs a HALO-compatible stock data JSON, but it actually writes only routing/configuration metadata. This kind of capability misrepresentation can cause downstream agents or users to trust the file as validated market data, leading to incorrect analysis or automated decisions based on non-data.

Description-Behavior Mismatch

Medium
Confidence
89% confidence
Finding
The skill metadata presents HALO as a data-backed stock analysis framework, but this file only constructs endpoint-routing metadata and never fetches or analyzes any stock information. In an agent setting, this mismatch can mislead orchestration logic into believing a data acquisition step has completed when it has not.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The skill metadata and comments claim the Python layer uses only trusted API data and does not fabricate, but this code also scrapes HTML from Sina and explicitly defers ESG, management, and sentiment collection to later AI search. That creates a trust-boundary mismatch: downstream users may rely on stronger provenance guarantees than the implementation actually provides, which can lead to unverified or manipulable content influencing financial analysis.

Intent-Code Divergence

Medium
Confidence
89% confidence
Finding
The code comments say Baidu-style search was replaced by Sina Finance and CNINFO, but later logic states AI will still use search tools to populate ESG, management, and sentiment risk. This inconsistency can mislead operators and users about what data collection paths are active, weakening reviewability and making it easier for untrusted search results or hallucinated synthesis to enter a stock analysis workflow.

Intent-Code Divergence

Medium
Confidence
88% confidence
Finding
The file header claims the data is complete and that AI placeholders are left blank, but the generator also reads locally supplied qualitative JSON and injects items like news/report counts and titles into the final report. In a financial-analysis skill, overstating provenance and certainty can mislead downstream users or agents into trusting unverified local content as API-derived fact, which increases the risk of manipulated analysis inputs and unsafe investment recommendations.

Intent-Code Divergence

Medium
Confidence
91% confidence
Finding
The generated report states that all financial, market, and HALO calculation results are '100% accurate', yet several values are locally computed, transformed, threshold-scored, or estimated inside the script, including ratings and annualized/estimated figures. In this skill context, that overclaim is dangerous because it can cause users or other agents to treat derived heuristics and estimates as authoritative facts, enabling data-integrity abuse and false confidence in investment outputs.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The trigger examples include broad natural-language phrases like general stock-analysis requests, which can cause the skill to activate unintentionally during ordinary conversation. In an agent environment, unexpected invocation can lead to unplanned external API access, file creation under data/ and reports/, and analysis being performed when the user did not explicitly intend to run this skill.

Vague Triggers

Medium
Confidence
78% confidence
Finding
The trigger condition is broad enough to overlap with ordinary conversation about A-share stocks, which can cause the skill to auto-run shell scripts, network fetches, and file generation when the user may only want a casual discussion. In this context, broad triggering increases the chance of unnecessary external actions and unintended data processing.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The skill produces investment ratings, target prices, valuation views, position guidance, and investor-specific recommendations, but the specification lacks prominent risk disclosures and a clear non-advisory warning. In a financial-analysis context, this omission can cause users to place undue reliance on generated recommendations, especially because the skill also emphasizes authority and data integrity.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The script explicitly recommends execution via `curl ... | bash`, which downloads and immediately runs remote content without any integrity verification, pinning, or user warning. This is dangerous because the fetched script can change at any time or be tampered with, leading to arbitrary code execution on the user's machine during installation.

Vague Triggers

Medium
Confidence
93% confidence
Finding
The natural-language trigger example "帮我分析一下贵州茅台的基本面" is broad enough that ordinary conversation about a stock could unintentionally activate the HALO skill. In an agent environment, overly permissive triggering can cause the skill to run when the user did not explicitly intend it, leading to unexpected tool execution, data fetching, report generation, or context hijacking by unrelated messages.

Skill Enumeration

Medium
Category
Agent Snooping
Content
def check_a_stock_data_available():
    """检查 a-stock-data skill 是否已安装"""
    skill_path = os.path.expanduser("~/.claude/skills/a-stock-data/SKILL.md")
    return os.path.exists(skill_path)
Confidence
73% confidence
Finding
skills/a-stock-data/SKILL.md

External Script Fetching

High
Category
Supply Chain
Content
#!/bin/bash
# HALO Skill 一键安装脚本
# 用法: curl -sL <url>/install.sh | bash

set -e
Confidence
97% confidence
Finding
curl -sL <url>/install.sh | bash

Chaining Abuse

High
Category
Tool Misuse
Content
#!/bin/bash
# HALO Skill 一键安装脚本
# 用法: curl -sL <url>/install.sh | bash

set -e
Confidence
96% confidence
Finding
| bash

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.