Back to skill

Security audit

Ai Challenge Assistant

Security checks for vulnerabilities and agentic risk

Overview

This skill is a Chinese-language hackathon deliverable assistant that mainly guides file creation and prototype generation, with some usability and dependency cautions but no hidden execution, persistence, or data theft behavior found.

Install only if you want a Chinese-language assistant for AI challenge or hackathon deliverables. Treat generated business metrics, system names, and compliance references as examples unless you supplied them, and avoid entering sensitive or production data into generated HTML prototypes that load Tailwind from a CDN.

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
references/page-challenge.md:24
Finding

Generated Prototypes Are Required to Load an Unpinned Runtime CDN Dependency

Content
View full analysis

Vulnerability Details

File Location: references/page-challenge.md:24-30
Additional Location: SKILL.md:145
Vulnerability Type: Unpinned third-party runtime dependency
Risk Level: Medium

Vulnerable Code

markdown
## 技术栈红线

- 单文件 HTML + Tailwind CDN + 原生 JS
- 无外部 JS 库(除 Tailwind CDN)
- 无 emoji、无渐变、单强调色(推荐 `#F97316`)
- 图标一律内联 SVG(Heroicons 24 outline 风格)
- 中文字体栈,slate 中性色

The main workflow reinforces this requirement at SKILL.md:145:

markdown
**页面题**:读 `references/page-challenge.md`,按"页面 v1 分三次生成"和"技术栈红线"执行,产出 `index.html`。

Technical Analysis

The Skill requires generated HTML prototypes to load Tailwind through a CDN at runtime. It does not prescribe an official host, an immutable version, a cryptographic integrity hash, or an allowlist of acceptable dependency locations.

A Tailwind browser CDN integration commonly involves loading executable JavaScript rather than only static CSS. Such a script runs in the generated page's browser context and can access the DOM, user-entered prototype data, and browser networking APIs. Because the effective dependency content is retrieved after this Skill has been reviewed, its behavior can change independently of the audited files.

The requirement also permits the generating Agent to select an unspecified CDN URL. This increases the risk of using an unofficial mirror, mutable latest-version endpoint, mistyped domain, or otherwise unsafe source. The issue is classified as an insecure dependency rather than confirmed malicious remote-payload execution because the audited project does not itself identify a malicious URL or directly fetch and execute a payload.

Attack Path

  1. A user invokes the Skill for a page or prototype challenge.
  2. Following the mandatory technology rules, the Agent creates an index.html file containing a Tailwind CDN script reference.
  3. The user opens the generated file in a browser, causing the b ...[truncated 1313 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the mandatory runtime CDN requirement. Generate or compile Tailwind CSS in advance and embed the resulting CSS in the single-file HTML artifact.
  2. If an external dependency is unavoidable, require an official HTTPS source pinned to an exact immutable version. Do not permit floating tags such as latest.
  3. Require Subresource Integrity and anonymous CORS where the selected artifact supports them:
    html
    <link
      rel="stylesheet"
      href="https://approved.example/tailwind-exact-version.min.css"
      integrity="sha384-EXPECTED_HASH"
      crossorigin="anonymous"
    >
    
  4. Define an explicit allowlist of approved dependency domains and prohibit arbitrary mirrors, URL shorteners, user-provided package sources, and dynamically constructed dependency URLs.
  5. Prefer static CSS over a browser-side Tailwind compiler because static CSS does not introduce executable third-party JavaScript into the page.
  6. Add a validation step that rejects generated HTML containing unapproved remote scripts, unpinned dependency URLs, or external resources without required integrity metadata.
  7. Document any unavoidable network dependency and warn users not to enter sensitive or production data into prototypes that execute third-party code.
  8. Align the implementation with the stated offline, directly-openable single-file objective by embedding all required styles and assets locally.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (9)

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger conditions are extremely broad and include common workplace scenarios like data analysis, project management, and operational efficiency, plus fuzzy phrases such as requesting a scorecard or presentation script. This can cause the skill to activate for routine requests unrelated to hackathons, overriding more appropriate skills and steering users into unnecessary file generation and workflow steps.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill is written entirely in Chinese and prescribes behavior without offering language negotiation, so it may respond in Chinese even when the user’s request is in another language. This can degrade usability, cause misunderstandings in time-sensitive workflows, and make outputs unusable for judges or teammates expecting another language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

Line L31 explicitly requires a Chinese font stack, and the document overall is written as prescriptive guidance for page generation without offering any language or locale opt-in. Under the policy, forcing a specific language/locale without user choice is a natural-language policy violation unless clearly justified as region-specific.

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 document is written as prescriptive guidance in Chinese and includes example output/content strings exclusively in Chinese, with no indication that users may choose another language or locale. Under the policy rule for natural-language constraints, this can be read as forcing a specific language without user opt-in or documented locale justification.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The emergency prompt explicitly instructs the AI to add concrete numbers, system names, and compliance clauses to make output seem like a real business scenario, even when such details may not be grounded in provided evidence. In the context of a hackathon/deliverable assistant, this can induce fabricated facts, deceptive representations, and potentially unsafe or fraudulent submissions that conflict with the document’s own requirement to disclose assumptions and missing information.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The entire skill content is presented only in Chinese, with no indication that users may choose another language or that the skill is intended exclusively for a Chinese-language audience. Under the policy rule for natural-language violations, forcing a specific language without user opt-in is reportable.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The title and all guidance in this markdown file are written exclusively in Chinese, which effectively forces a specific language/locale for users. The file does not provide any opt-in, alternative language option, or explanation that this is intended for a China-specific or Chinese-language audience.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

Earlier sections state a hard visual constraint of '无渐变' in both the tech-stack and quality redlines, but the v3 optimization list explicitly says to add a '深色渐变背景'. This is an active contradiction in the file's own instructions rather than a mere omission.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file contains user-facing skill instructions exclusively in Chinese, and nowhere indicates that users may choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific audience. Under the language/locale policy, forcing a single language without opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.