Security checks for vulnerabilities and agentic risk
Overview
The skill is coherent for collecting HouseSigma property data, but it directs automated database writes and git pushes with limited safety guidance.
Review this skill before installing if the Hauscout database contains private, licensed, proprietary, or personal data. Use a pinned local tsx dependency or npm script, confirm the target database path, keep backups, validate collected fields before writes, and do not enable cron or git push unless you are comfortable publishing the database to the configured remote repository.
Insecure DependenciesIntroduces malicious components through unsafe dependency sources
Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
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 (1)
T08 · Insecure Dependencies
Warning
Location
SKILL.md:14
Finding
Unpinned npx Package Execution May Introduce Supply-Chain Code Execution
Content
View full analysis
Vulnerability Details
File Location: SKILL.md, lines 14-29 Vulnerability Type: Unpinned third-party package execution through npx Risk Level: Medium
Vulnerable Code
bash
cd /Users/kendrick/projects/hauscout && npx tsx scripts/collect.ts
bash
cd /Users/kendrick/projects/hauscout && npx tsx scripts/collect.ts --url "<housesigma_url>"
bash
cd /Users/kendrick/projects/hauscout && npx tsx scripts/collect.ts --profile <id>
bash
cd /Users/kendrick/projects/hauscout && npx tsx scripts/collect.ts --headed
Technical Analysis
The documented commands execute tsx through npx without specifying a package version or using --no-install. If a trusted, locally installed tsx binary is unavailable, npx may resolve, download, and execute package content from the configured package registry.
The referenced Hauscout project and its dependency metadata are outside the audited artifact, which contains only SKILL.md. Consequently, the audit could not verify that tsx is pinned by a lockfile, installed from a trusted registry, or protected by integrity controls. Package initialization or runtime code executes with the privileges of the user running the Skill.
This is a supply-chain weakness rather than evidence that the current tsx package is malicious. Exploitation requires the resolved dependency or configured registry to be compromised, substituted, or otherwise attacker-controlled.
Attack Path
An agent or user follows one of the documented collection commands.
npx searches for a locally installed tsx executable.
If the executable is unavailable, npx resolves the unpinned package through the configured registry.
An attacker who has compromised the package, registry, dependency-resolution path, or local package configuration supplies malicious package content.
npx downloads and executes
...[truncated 984 chars]
Remediation
View remediation
Remediation Suggestions
Add tsx as an explicit development dependency in the Hauscout project and pin it through a committed lockfile.
Install dependencies using a lockfile-enforcing command such as:
bash
npm ci
Prevent npx from downloading missing packages at execution time:
bash
npx --no-install tsx scripts/collect.ts
Prefer a lockfile-backed package script, for example:
json
The skill instructs use of npx tsx without pinning an exact package version, which can cause execution of whatever version resolves at runtime. In a security-sensitive automation context, this creates supply-chain risk because a compromised or incompatible upstream package could be fetched and executed unexpectedly.
Content
No source excerpt is available for this finding.
Rp1
Medium
Category
MCP Rug Pull
Confidence
84% confidence
Finding
This invocation again relies on unpinned npx tsx, which may download and execute a non-deterministic package version at runtime. If the package registry or dependency chain is compromised, the collector workflow could execute attacker-controlled code on the local machine.
Content
No source excerpt is available for this finding.
Rp1
Medium
Category
MCP Rug Pull
Confidence
84% confidence
Finding
Using npx tsx without version pinning introduces a repeatable supply-chain exposure wherever users follow the command. Because this skill is intended to access local project data and databases, arbitrary code execution through a poisoned package would have meaningful local impact.
Content
No source excerpt is available for this finding.
Rp1
Medium
Category
MCP Rug Pull
Confidence
84% confidence
Finding
The same unpinned npx tsx pattern appears in the headed debugging command, preserving the same risk of executing an unexpected package version. Since this is presented as normal usage, users may run it directly without realizing they are trusting live package resolution.
Content
No source excerpt is available for this finding.
Missing User Warnings
Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding
The skill explicitly instructs direct SQLite insertion and automated database updates without warning the operator that local persistent data will be modified. In agent or semi-automated use, this can lead to unintended corruption, overwrites, or insertion of malformed/sensitive data into the local project database.
Content
No source excerpt is available for this finding.
Missing User Warnings
Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding
The skill directs users to git add, commit, and push the database file, which can upload collected data to a remote repository without any warning about data sensitivity or repository visibility. If the database contains proprietary, licensed, personal, or otherwise sensitive scraped data, this could cause unintended disclosure and downstream compliance issues.
Content
No source excerpt is available for this finding.
Natural-Language Policy Violations
Low
Category
Not specified by scanner
Confidence
82% confidence
Finding
The operational instructions are entirely presented in Korean, which can function as an implicit language requirement for users of the skill. Under the policy, language constraints should either provide user choice or be explicitly justified as region- or audience-specific.