Back to skill

Security audit

Hang Seng Indexes Monitor

Security checks across malware telemetry and agentic risk

Overview

This skill is a disclosed public-website monitor that stores local state and can optionally create a scheduled digest job after user confirmation.

Before installing, confirm you are comfortable with a skill that fetches public Hang Seng Indexes content, keeps deduplication state under ~/.config/hsil-monitor by default, and may create a daily OpenClaw cron job if you approve scheduling. Consider replacing the setup script's shell=True command check with shutil.which in a future update.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (4)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
def check_command(cmd):
    try:
        subprocess.run(["command", "-v", cmd], check=True, capture_output=True, shell=True)
        return True
    except subprocess.CalledProcessError:
        return False
Confidence
96% confidence
Finding
subprocess.run(["command", "-v", cmd], check=True, capture_output=True, shell=True)

Context-Inappropriate Capability

Medium
Confidence
83% confidence
Finding
The scheduling section instructs the agent to invoke `openclaw cron add` and also documents listing and removal commands, which extends the skill from content monitoring into job management. In environments where tool use is broadly authorized, this can create or modify persistent scheduled actions and increases operational blast radius beyond what is necessary to fetch and summarize website updates.

Unvalidated Output Injection

High
Category
Output Handling
Content
def check_command(cmd):
    try:
        subprocess.run(["command", "-v", cmd], check=True, capture_output=True, shell=True)
        return True
    except subprocess.CalledProcessError:
        return False
Confidence
94% confidence
Finding
subprocess.run(["command", "-v", cmd], check=True, capture_output

Tool Parameter Abuse

High
Category
Tool Misuse
Content
def check_command(cmd):
    try:
        subprocess.run(["command", "-v", cmd], check=True, capture_output=True, shell=True)
        return True
    except subprocess.CalledProcessError:
        return False
Confidence
93% confidence
Finding
subprocess.run(["command", "-v", cmd], check=True, capture_output=True, shell=True

VirusTotal

63/63 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.generated_source_template_injection

User-controlled placeholder is embedded directly into generated source code.

Critical
Code
suspicious.generated_source_template_injection
Location
SKILL.md:138