Back to skill

Security audit

english-assessment

Security checks for vulnerabilities and agentic risk

Overview

This English assessment skill is mostly coherent, but it embeds web-search signing material and relies on a local token broker plus broad external fetching, so it needs review before installation.

Review this skill before installing. It will create and maintain local assessment files, perform live searches against listed third-party sources, and can optionally upload backups to Feishu only after explicit consent. The publisher should remove and rotate the exposed signing secret, avoid model-visible credential material, and better scope or document the local token broker and diagnostic network checks.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:1193
Finding

Hard-Coded API Signing Secret Exposed in Skill Instructions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 1193–1199
Vulnerability Type: Hard-coded authentication material
Risk Level: Medium

Technical Analysis

The Skill embeds a reusable application signing secret directly in its instructions and tells the Agent how to construct an authentication signature:

text
API endpoint: POST https://autoglm-api.zhipuai.cn/agentdr/v1/assistant/skills/web-search

Request body:
{"queries": [{"query": "<search term>"}]}

Authentication headers:
X-Auth-Appid: 100003
X-Auth-TimeStamp: current Unix timestamp in seconds
X-Auth-Sign: MD5("100003" + "&" + timestamp + "&" + "38d2391985e2369a5fb8227d8e6cd5e5")
Authorization: Bearer token retrieved from http://127.0.0.1:18432/get_token

Because SKILL.md is distributed to and readable by Skill consumers, the value 38d2391985e2369a5fb8227d8e6cd5e5 cannot remain confidential. Anyone who obtains the Skill can reproduce the application-signature component for arbitrary current timestamps.

The API additionally requires a bearer token obtained from a local token broker, so the embedded signing secret alone does not establish a complete remote authentication bypass. Exploitation requires access to a valid bearer token, such as access to a runtime where the documented localhost token broker is available. Nevertheless, embedding reusable signing material defeats the intended secrecy of that authentication factor and increases the consequences of bearer-token exposure.

Attack Path

  1. An attacker obtains or reads the distributed SKILL.md.
  2. The attacker extracts the application ID, signature construction algorithm, and hard-coded signing secret.
  3. The attacker obtains a valid bearer token. In an affected runtime, this may involve access to the documented local token endpoint at http://127.0.0.1:18432/get_token.
  4. The attacker selects a current Unix timestamp and calculates the documented MD5 sig ...[truncated 1012 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the signing secret and signature-construction material from SKILL.md.
  2. Rotate the exposed secret because it must be treated as compromised once distributed.
  3. Generate signatures inside a trusted backend or credential broker that does not reveal reusable signing material to the Agent or Skill consumer.
  4. Return only short-lived, audience-restricted authorization artifacts to the caller.
  5. Restrict locally issued tokens by API audience, operation, rate limit, expiration, and runtime identity.
  6. Require authentication and caller authorization on the localhost token endpoint rather than relying solely on loopback reachability.
  7. Avoid exposing bearer tokens in model-visible content, logs, diagnostics, or generated output.
  8. Monitor application ID 100003 for unexpected usage and revoke tokens or credentials associated with anomalous requests.
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
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (9)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

L0453 规定只要消息“包含英语/测评/测试/英语相关意图但不匹配任何触发词”就引导进入测评,这个条件范围非常宽,示例里的“英语帮帮我”“练练英语”也覆盖了大量日常表达。虽然它会先追问确认,但这种宽泛兜底仍会增加非测评场景下的误触发概率,触发边界不够清晰。

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill claims automatic flows only send search keywords and do not upload user data, but the documented search engine makes multiple network requests, including to a local token service and numerous third-party sites. This creates a privacy/transparency gap: even if the intended payload is only keywords, the implementation surface is broader than disclosed and could expose metadata, credentials, or assessment-derived content if prompts are not tightly minimized.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
90% confidence
Finding

This section authorizes outbound requests to GitHub-derived endpoints and references obtaining a bearer token from a local service. Even in an educational skill, undisclosed or weakly bounded external transmission increases the risk of leaking assessment context, local environment details, or credentials through the network stack.

Content

Scanner excerpt · SKILL.md (reported line 1202)May include surrounding context.

md
- `Authorization`: Bearer token(从 `http://127.0.0.1:18432/get_token` 获取)
  - ⚠️ 注意:app_id 是 `100003` 不是 `10000`;签名必须按上述规则动态生成,不能只传 app_key
- **autoglm-websearch 已验证可搜到的内容源**:SEARCH_KOOLEARN(新东方在线四级,选词填空/翻译/语法真题全文可抓取)、SEARCH_KOOLEARN_TEM4(专四真题+答案,具体年份页面需二次跳转)、SEARCH_KOOLEARN_CET6(六级真题+答案)、SEARCH_XDF(新东方网,阅读/翻译真题原文)
- **GitHub Markdown 真题库(最友好格式,国内用 SEARCH_GH_PROXY 加速)**⭐:SEARCH_GITHUB_MD,含 CET-4/6 2023年真题,Markdown 格式直接使用,选项独立成行,无需 PDF 解析或格式校准。优先级高于 PDF 源。目录浏览:`SEARCH_GH_PROXY/https://api.github.com/repos/wamich/english-exem-md/contents/`,文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/wamich/english-exem-md/main/{路径}`
- **GitHub CET-4/6 真题 PDF(国内用 SEARCH_GH_PROXY 镜像加速下载+pdf工具解析)**:SEARCH_GITHUB_CET_PDF_REPO,含 2015-2023 年 CET-4/6 真题 PDF。通过 SEARCH_GH_PROXY 代理下载后用 pdf 工具解析,可提取选词填空原文+选项、阅读理解全文+题目、翻译题中文原文。目录浏览:`SEARCH_GH_PROXY/https://api.github.com/repos/DieDiDi/CET4-6-past-exam-paper/contents/{路径}`,文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/DieDiDi/CET4-6-past-exam-paper/main/{路径}`
- **Gitee CET-4 真题 PDF(国内直连+pdf工具解析)**:SEARCH_GITEE_CET_PDF,含 2013-2020 年 CET-4 真题 PDF。通过 Gitee API 获取 download_url 下载后用 pdf 工具解析。Gitee API: `gitee.com/api/v5/repos/jasonwarner/CET4/contents/{路径}`
- **GitHub CET-4 真题库(国内用 SEARCH_GH_PROXY 镜像加速)**:SEARCH_GITHUB_CET_JSON,含 2023-2025 CET-4 阅读选择题,JSON 格式直接解析(听力部分跳过)。文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/ShepiTT/CET_practice_questions/main/parsed_data.json`

External Transmission

Medium
Category
Data Exfiltration
Confidence
90% confidence
Finding

The skill continues to specify external fetches from third-party content sources for live question acquisition. This broadens data egress and trust in external content without strong controls, making the privacy claims weaker and increasing the chance of accidental transmission of user-derived prompts or metadata.

Content

Scanner excerpt · SKILL.md (reported line 1203)May include surrounding context.

md
- ⚠️ 注意:app_id 是 `100003` 不是 `10000`;签名必须按上述规则动态生成,不能只传 app_key
- **autoglm-websearch 已验证可搜到的内容源**:SEARCH_KOOLEARN(新东方在线四级,选词填空/翻译/语法真题全文可抓取)、SEARCH_KOOLEARN_TEM4(专四真题+答案,具体年份页面需二次跳转)、SEARCH_KOOLEARN_CET6(六级真题+答案)、SEARCH_XDF(新东方网,阅读/翻译真题原文)
- **GitHub Markdown 真题库(最友好格式,国内用 SEARCH_GH_PROXY 加速)**⭐:SEARCH_GITHUB_MD,含 CET-4/6 2023年真题,Markdown 格式直接使用,选项独立成行,无需 PDF 解析或格式校准。优先级高于 PDF 源。目录浏览:`SEARCH_GH_PROXY/https://api.github.com/repos/wamich/english-exem-md/contents/`,文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/wamich/english-exem-md/main/{路径}`
- **GitHub CET-4/6 真题 PDF(国内用 SEARCH_GH_PROXY 镜像加速下载+pdf工具解析)**:SEARCH_GITHUB_CET_PDF_REPO,含 2015-2023 年 CET-4/6 真题 PDF。通过 SEARCH_GH_PROXY 代理下载后用 pdf 工具解析,可提取选词填空原文+选项、阅读理解全文+题目、翻译题中文原文。目录浏览:`SEARCH_GH_PROXY/https://api.github.com/repos/DieDiDi/CET4-6-past-exam-paper/contents/{路径}`,文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/DieDiDi/CET4-6-past-exam-paper/main/{路径}`
- **Gitee CET-4 真题 PDF(国内直连+pdf工具解析)**:SEARCH_GITEE_CET_PDF,含 2013-2020 年 CET-4 真题 PDF。通过 Gitee API 获取 download_url 下载后用 pdf 工具解析。Gitee API: `gitee.com/api/v5/repos/jasonwarner/CET4/contents/{路径}`
- **GitHub CET-4 真题库(国内用 SEARCH_GH_PROXY 镜像加速)**:SEARCH_GITHUB_CET_JSON,含 2023-2025 CET-4 阅读选择题,JSON 格式直接解析(听力部分跳过)。文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/ShepiTT/CET_practice_questions/main/parsed_data.json`
- **词汇/语法参考站(已验证可抓取)**:SEARCH_VOCABULARY(高频词+释义+真实语料例句)、SEARCH_OXFORD(Oxford 3000/5000+CEFR等级+搭配)

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The documented use of external GitHub/API sources, GRE sources, and other websites constitutes real outbound data transmission capability. In context, the skill is not supposed to need broad network reach beyond limited search, so this creates avoidable exposure to third-party services and network metadata leakage.

Content

Scanner excerpt · SKILL.md (reported line 1208)May include surrounding context.

md
- **GitHub CET-4 真题库(国内用 SEARCH_GH_PROXY 镜像加速)**:SEARCH_GITHUB_CET_JSON,含 2023-2025 CET-4 阅读选择题,JSON 格式直接解析(听力部分跳过)。文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/ShepiTT/CET_practice_questions/main/parsed_data.json`
- **词汇/语法参考站(已验证可抓取)**:SEARCH_VOCABULARY(高频词+释义+真实语料例句)、SEARCH_OXFORD(Oxford 3000/5000+CEFR等级+搭配)
- **GRE 题源**:SEARCH_GRE_MANHATTAN(免费 GRE Verbal 练习题+详细解析,含 Sentence Equivalence 和 Text Completion)
- **考研英语 PDF(国内用 SEARCH_GH_PROXY 加速下载+pdf工具解析)**:SEARCH_GITHUB_KAOYAN,含考研英语一 2002-2021 真题 PDF、六级 2016-2021 真题 PDF。目录浏览:`SEARCH_GH_PROXY/https://api.github.com/repos/youngflysky/KaoYanZhenTi-PDF/contents/{路径}`,文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/youngflysky/KaoYanZhenTi-PDF/main/{路径}`。考研翻译题可直接用,阅读理解可提取
- **CAE C1 高级英语(Markdown 格式)**⭐:SEARCH_GITHUB_CAE,含 CAE C1 Multiple Choice Cloze、Open Cloze、Word Formation 等题型,Markdown 格式含答案,难度对标 CEFR C1-C2,适合高难度测评。目录浏览:`SEARCH_GH_PROXY/https://api.github.com/repos/gunqiuwang/cae-question-bank/contents/`,文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/gunqiuwang/cae-question-bank/main/{路径}`
- 搜索专业领域最新术语和表达(科技、医学、法律、金融等)
- 搜索时事热点相关英语表达,确保内容与时俱进

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

This section expands to additional third-party sources such as external publications for reading material, further increasing external transmission and content-trust surface. The danger is moderate because the skill handles user performance data and conversation state, so broad live fetching increases the chance of oversharing or prompt-derived leakage.

Content

Scanner excerpt · SKILL.md (reported line 1209)May include surrounding context.

md
- **词汇/语法参考站(已验证可抓取)**:SEARCH_VOCABULARY(高频词+释义+真实语料例句)、SEARCH_OXFORD(Oxford 3000/5000+CEFR等级+搭配)
- **GRE 题源**:SEARCH_GRE_MANHATTAN(免费 GRE Verbal 练习题+详细解析,含 Sentence Equivalence 和 Text Completion)
- **考研英语 PDF(国内用 SEARCH_GH_PROXY 加速下载+pdf工具解析)**:SEARCH_GITHUB_KAOYAN,含考研英语一 2002-2021 真题 PDF、六级 2016-2021 真题 PDF。目录浏览:`SEARCH_GH_PROXY/https://api.github.com/repos/youngflysky/KaoYanZhenTi-PDF/contents/{路径}`,文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/youngflysky/KaoYanZhenTi-PDF/main/{路径}`。考研翻译题可直接用,阅读理解可提取
- **CAE C1 高级英语(Markdown 格式)**⭐:SEARCH_GITHUB_CAE,含 CAE C1 Multiple Choice Cloze、Open Cloze、Word Formation 等题型,Markdown 格式含答案,难度对标 CEFR C1-C2,适合高难度测评。目录浏览:`SEARCH_GH_PROXY/https://api.github.com/repos/gunqiuwang/cae-question-bank/contents/`,文件下载:`SEARCH_GH_PROXY/https://raw.githubusercontent.com/gunqiuwang/cae-question-bank/main/{路径}`
- 搜索专业领域最新术语和表达(科技、医学、法律、金融等)
- 搜索时事热点相关英语表达,确保内容与时俱进
- 搜索外刊原文(经济学人、BBC、NYT、Guardian 等)作为阅读理解和词汇题素材

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The DIAG-SEARCH feature instructs the agent to probe ten external services unrelated to a normal English assessment session. That materially expands network reach and can be abused for unintended external connectivity checks, privacy leakage through metadata, or environment reconnaissance beyond the stated user purpose.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
92% confidence
Finding

The diagnostics mode explicitly probes multiple external sites and APIs, including GitHub and Gitee endpoints. This is a true external transmission issue because it grants the skill network-scanning-like behavior unrelated to the user's educational task, increasing reconnaissance and privacy risk.

Content

Scanner excerpt · SKILL.md (reported line 1314)May include surrounding context.

md
3. **GitHub Markdown 真题**⭐:通过 gh-proxy 镜像访问 `gh-proxy.com/https://raw.githubusercontent.com/wamich/english-exem-md/main/CET4/2023.12/cet4-2023-12-1.md`,检查是否返回 Markdown 真题内容(含 "Reading Comprehension" 或 "选词填空" 或 "Translation")
4. **GitHub JSON 源**:通过 gh-proxy 镜像访问 `gh-proxy.com/https://raw.githubusercontent.com/ShepiTT/CET_practice_questions/main/parsed_data.json`,检查是否返回有效 JSON 且包含题目数据
5. **GitHub CAE C1 源**⭐:通过 gh-proxy 访问 `gh-proxy.com/https://raw.githubusercontent.com/gunqiuwang/cae-question-bank/main/cae_advanced_practice.md`,检查是否返回 CAE 题目(含 "Multiple Choice Cloze" 或 "Open Cloze")
6. **GitHub 考研源**:通过 gh-proxy 访问 GitHub API `gh-proxy.com/https://api.github.com/repos/youngflysky/KaoYanZhenTi-PDF/contents/英一历年真题`,检查是否返回考研英语真题文件列表
7. **Gitee PDF 源**:通过 Gitee API `gitee.com/api/v5/repos/jasonwarner/CET4/contents/` 获取文件列表,检查是否返回目录结构
8. **vocabulary.com**:访问 `vocabulary.com/dictionary/test`,检查是否返回词条内容
9. **Oxford**:访问 `oxfordlearnersdictionaries.com/definition/english/test`,检查是否返回词条内容

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest emphasizes local storage by default and optional Feishu export, but the file goes further by maintaining bidirectional cloud synchronization semantics: creating, reading, searching, and merging backup documents from Feishu. While some cloud export is disclosed, the broader cloud-backed import/search/merge workflow is more expansive than the simple local-storage framing suggests.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.