Back to skill

Security audit

research-analysis

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent business research helper, but it uses outside data services and unpinned web chart code without declaring those permissions or giving enough data-safety boundaries.

Review this before installing if your analyses include confidential company data, proprietary exports, or sensitive market research. Use only approved external connectors and web searches, redact uploaded files, and prefer pinned or local visualization libraries for reports containing sensitive data.

Vulnerability Patterns
  • 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:134
Finding

Unpinned Remote JavaScript Dependencies Permit Mutable Code Execution

Content
View full analysis
``` `references/tool-usage.md:112`: ```html ``` ### Technical Analysis The Skill instructs the agent to generate standalone HTML documents that load executable JavaScript directly from `unpkg.com`. These URLs do not specify immutable package versions and do not provide Subresource Integrity hashes. Because package resolution is mutable, HTML generated from the same reviewed Skill can execute different JavaScript in the future. The browser trusts and executes the CDN response within the generated document's JavaScript context. The effective executable payload is therefore outside the reviewed project and may change after the audit. Exploitation depends on an upstream supply-chain event, such as: - Compromise of the referenced npm package or publisher account. - Publication of a malicious package version selected by the unpinned URL. - Compromise of the CDN or its dependency-resolution infrastructure. - Unexpected changes in package contents or dependency resolution. This issue does not demonstrate that the current VisActor packages are malicious. The risk arises from mutable remote code execution without integrity verification. ### Attack Path 1. A user requests a chart or business-analysis visualization ...[truncated 1437 chars]
Remediation
View remediation
``` 3. Generate the integrity hash from the exact reviewed artifact and verify it whenever the dependency is intentionally upgraded. 4. Prefer bundling a reviewed local copy of the visualization library when charts may contain confidential business information. 5. Apply a restrictive Content Security Policy that permits scripts only from explicitly approved sources and restricts outbound connections, for example through `script-src` and `connect-src`. 6. Establish a dependency-update process that includes version review, checksum verification, vulnerability scanning, and documented approval. 7. Avoid embedding credentials, personal data, unpublished financial information, or other sensitive material in pages that execute remotely hosted scripts. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (14)

Scope Creep

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest declares no permissions, but the skill explicitly instructs use of external connectors, web search/fetch, and CDN-hosted assets. This creates a capability/expectation mismatch that can lead to undeclared network access, confusing review boundaries, and accidental data exfiltration if the runtime or host agent permits those tools.

Content

No source excerpt is available for this finding.

Scope Creep

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill directs the agent to use the Tianyancha MCP connector for enterprise-data queries despite an empty permissions declaration. In context, this is more dangerous because the skill is designed for research workflows that may process sensitive business targets, increasing the chance of unreviewed external data access and transmission.

Content

No source excerpt is available for this finding.

Scope Creep

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill instructs WebSearch and WebFetch against Qimai public pages while the manifest declares no permissions. This undeclared web access broadens the skill's effective data boundary and can expose user queries, targets, or attached business context to third-party services without transparent permissioning.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest description says the skill triggers on examples like 'analyze this market' and extends that to 'any business research task requiring structured frameworks and data-driven conclusions.' That final clause is very broad and lacks explicit boundaries or negative examples, making activation scope ambiguous for many ordinary analysis requests.

Content

No source excerpt is available for this finding.

Scope Creep

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill requires loading VisActor libraries from unpkg CDN even though no permissions are declared. While less severe than live data queries, remote CDN dependencies introduce undeclared network access and supply-chain risk, especially if generated HTML is opened in a browser and fetches third-party code.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The entire skill file is written as a prescriptive methodology and output template in Chinese, including the final report format, with no indication that users may choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This section explicitly encourages users to provide exported Excel/CSV files, screenshots, or API JSON data from a third-party analytics platform without any warning about embedded personal data, account identifiers, proprietary metrics, or contractual restrictions. In a business research skill, such uploads are plausible and could lead to inadvertent exposure, over-collection, or mishandling of sensitive or licensed data.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The chart rule mandates 'Chinese stock convention: red = up, green = down' as a default presentation rule. This enforces a locale-specific convention without offering user choice or documenting that the skill is limited to a China-specific context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file is entirely Chinese-language instructional content, and there is no indication that users can choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific context. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

SQP-3 applies to all file types and covers natural-language language/locale policy violations. This markdown skill content forces a specific language throughout the file, and there is no indication that users can opt into Chinese or that the content is intentionally restricted to a China-specific audience.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown file describes fetching public pages from 天眼查 as a fallback, but it does not disclose any caution about transmitting user queries or accessed URLs to external services, nor any note about respecting source terms or sensitive data handling. Because SQP-2 applies to markdown files, omission of user-facing warnings around external data retrieval is in scope.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The guide recommends WebSearch and WebFetch against 七麦数据 and App Store pages, but does not disclose that using these tools may involve network requests to external services and associated privacy or compliance considerations. For markdown guidance that affects data access and external systems, a basic warning is expected under SQP-2.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

SQP-3 applies to all file types and covers language or locale policy violations in natural-language content. This markdown file presents all instructions and templates solely in Chinese, with no user opt-in, alternative language option, or justification that it is intended only for a Chinese-speaking or region-specific audience.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.