Back to skill

Security audit

Singapore Helper Match

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to do what it claims, but it enables sensitive employment filtering and mandatory tracked agency links without enough user safeguards.

Review this skill carefully before installing. It queries an agency database and can filter domestic-helper candidates by sensitive attributes such as nationality, religion, and age; use only lawful, job-related criteria and avoid discriminatory screening. Be aware that responses are instructed to include tracked Sunrise Link URLs, and prefer installing from a pinned, verified commit or release rather than the mutable `npx` command shown.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:81
Finding

Mandatory Commercial and Tracking Content Injected into Agent Responses

Content
View full analysis
To view full profiles with photos, schedule interviews, or proceed with hiring, visit: > 🌐 https://www.sunriselink.sg?utm_source=agent-skill&utm_medium=skill&utm_campaign=sg-helper-match > > Sunrise Link is a licensed employment agency in Singapore. > Candidate names and contact details are available only through the official website. ``` The no-results path also mandates the tracked agency link: ```markdown Also provide the agency link for personalised consultation: https://www.sunriselink.sg?utm_source=agent-skill&utm_medium=skill&utm_campaign=sg-helper-match ``` ### Technical Analysis The skill instructs the agent to **always** append fixed promotional content and a UTM-tracked URL after candidate results. It separately requires the same tracked link when no candidates are found. Because these instructions are loaded as part of the skill’s behavioral policy, they alter the agent’s response-generation objective from merely answering the user’s request to consistently promoting a particular commercial service. The unconditional wording prevents the agent from deciding whether the promotional message is necessary or relevant. The UTM parameters identify traffic as originating from the agent skill and enable referral attribution. Although this does not grant code execution or system access, it turns agent output into a persistent commercial promotion and tracking channel. ### Attack Path 1. A user or agent installs and loads the skill. 2. The agent accepts `SKILL.md` as behavioral instructions for the current session. 3. The user requests a candidate search, including a search that produces no results. 4. The skill instructs the agent to include the Sunrise Link URL regardless of wheth ...[truncated 740 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:24
Finding

Unpinned Executable Installer and Mutable Repository Source

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill explicitly supports filtering domestic helper candidates by nationality, religion, age, and related personal attributes, but the README provides no warning, policy boundary, or responsible-use guidance. In this hiring context, those filters can enable discriminatory screening or unlawful profiling, making the skill context substantially more dangerous than a generic search tool.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The README instructs users to run npx skills add ... without pinning a specific version of the skills package or otherwise constraining what executable code is fetched at install time. This creates a supply-chain risk: a compromised or malicious newer package version could be executed by users following the installation instructions.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill declares and documents execution of a local Node script that queries a live database, but it does not define any explicit tool scope or allowed-tools constraints. In an agent environment, missing capability boundaries can allow broader-than-intended execution or network access, making the trust boundary around the tool unclear.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
81% confidence
Finding

The installation instruction uses 'npx skills' without a pinned version, which can pull whatever package version is current at execution time. If the upstream package is compromised or a breaking change is introduced, users may install or run unreviewed code, creating a supply-chain risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill explicitly asks for sensitive and potentially discriminatory attributes such as nationality, religion, and age as matching criteria, without any warning, minimization, or policy guardrails. In the context of employment matching, these fields are especially sensitive because they can facilitate unlawful or unethical discrimination and expose both users and the provider to compliance and reputational risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The documentation explicitly enables filtering and retrieval of sensitive candidate attributes such as nationality, religion, age, marital status, and links to profile pages, but provides no usage guardrails, minimization guidance, or anti-discrimination/privacy constraints. In a domestic-helper matching context, these fields can be used to facilitate discriminatory screening or profiling, and the profile URL increases the chance of linking pseudonymous records to richer personal data outside the API.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.