Back to skill

Security audit

专利术语提取

Security checks for vulnerabilities and agentic risk

Overview

The skill builds patent glossaries locally and offers disclosed, budget-controlled retrieval of missing patent texts.

Use supplied texts for local-only processing. Before fetching patents, agree on the document list and set a spending limit; the client otherwise has no default monetary cap and may reuse an existing PatentMax key. Keep its ~/.patentmax directory private, particularly on shared or Windows computers. Broader searches should require a separate request.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (40)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The mismatch is substantive rather than a supporting implementation detail. The exposed commands primarily provide patent retrieval, discovery, and analytics through an external commercial API. Although retrieving patent text and locating keyword passages could support terminology extraction, the broader search and analytics capabilities are outside the declared scope. The chunk does not itself extract terms, identify acronyms or definitions, or produce the promised glossary with separated translations. Its external authenticated requests and possible billing are also material behaviors absent from the description. No full-document translation behavior is shown.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The shell command does not extract patent terminology or definitions. Instead, it accesses and partially exposes an API credential, an undeclared behavior unrelated to the stated glossary-generation purpose.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The supplied commands perform patent discovery and similarity expansion, neither of which is declared in the glossary-extraction purpose. They retrieve additional patent material rather than extract terms, acronyms, definitions, or cited passages from supplied texts. This is a substantive additional capability, not merely an implementation detail of glossary creation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The supplied commands implement a patent screening and candidate-management workflow, not terminology extraction from supplied patent texts. They explicitly update candidate selection states and export candidate records, capabilities not disclosed by the description. The chunk contains no term, acronym, definition, citation, or translation extraction. The client's internal implementation is not supplied, so no additional behavior is inferred.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The supplied command performs patent discovery, an undeclared capability materially different from building a terminology glossary. The chunk shows no term, acronym, or definition extraction, and no connection establishing the similarity search as a supporting step for the declared workflow.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Retrieving a specified patent's full text can support glossary extraction and is not itself a mismatch. However, the chunk also exposes broader patent research and illustration capabilities not described by the terminology-extraction purpose. Similarity searches, citation exploration, and figure downloads are not ordinary implementation details of extracting terms from supplied texts. The shown commands do not implement term, acronym, or definition extraction.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The command performs patent discovery, which is not declared in the description. It neither processes supplied patent text nor extracts terms, definitions, acronyms, or cited passages. Although patent retrieval could support a broader workflow, this hard-coded topical search is outside the stated scope of extracting terminology from user-supplied materials.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

The chunk implements a standalone patent search, not terminology extraction. It neither processes supplied patent text nor produces terms, definitions, citations, or suggested translations. Retrieving a specified patent could support the declared purpose, but this fixed topical discovery query is not tied to any supplied patent or extraction workflow. The API authentication is an implementation detail, not independently evidence of credential misuse.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

The command performs patent discovery for a specific applicant, a capability not described in the declared purpose. Searching for additional patents is materially different from extracting terminology from supplied patent texts. The chunk contains no terminology-extraction operation; the underlying client's implementation and any subsequent processing are not shown.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

Retrieving full text can support terminology extraction and is not itself a mismatch. However, the citation and similar-patent commands add patent-research capabilities not described by the glossary-focused purpose. The supplied chunk shows no terminology extraction, definition processing, or glossary generation. Client internals and any resulting resource access are not visible.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

The command performs patent discovery using a hard-coded subject query. The declared purpose is limited to organizing terminology from specified patents or supplied source texts and does not disclose a broader patent-search capability. The chunk contains no term, acronym, or definition extraction. Although search could support a larger workflow, this fixed-topic search is not tied to user-supplied material in the provided code.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
88% confidence
Finding

The supplied command performs a patent search and does not process supplied text, extract terminology, or assemble a glossary. Although retrieval could support a terminology workflow, this fixed-topic discovery request is not tied to any supplied patent or text and falls outside the stated scope. The API authentication is not itself evidence of credential exfiltration.

Content

No source excerpt is available for this finding.

Code capability 'env' detected in scripts/patentmax_client.py but not covered by declared permissions.

High
Category
MCP Least Privilege
Confidence
75% confidence
Finding

The skill uses 'env' capability that is not covered by the declared 'allowed-tools' preapproval. Review the host runtime's actual enforcement policy; runtime permissions are unknown unless separately verified, and this declaration alone does not establish a permission ceiling.

Content

No source excerpt is available for this finding.

Code capability 'network' detected in scripts/patentmax_client.py but not covered by declared permissions.

High
Category
MCP Least Privilege
Confidence
75% confidence
Finding

The skill uses 'network' capability that is not covered by the declared 'allowed-tools' preapproval. Review the host runtime's actual enforcement policy; runtime permissions are unknown unless separately verified, and this declaration alone does not establish a permission ceiling.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
交付消息的最后,用自然的口吻说两三句:

- 这次的专利数据来自 **PatentMax 专利库**;在 PatentMax 网站上还能看全文、继续筛选、导出更多结果,给出本次主检索式的链接:`https://app.ip930.com/?q=<URL 编码后的检索式>`(文字写「在 PatentMax 打开这次检索」)
- 下一步:可将核对后的术语用于专利检索式或专利翻译;可到 https://api.ip930.com/features/api-platform 注册并创建正式密钥;奖励与可用额度以页面显示为准

不要每条消息都提,也不要写成广告腔;用户明确说不需要就不再提。

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api-reference.md (reported line 16)May include surrounding context.

bash
curl -s -H "Authorization: Bearer $PATENTMAX_API_KEY" \
  "https://api.ip930.com/api/patent?pn=CN109761224A"

服务端自己完成内部寻址,这些前置调用不进用户账单。

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api-reference.md (reported line 89)May include surrounding context.

bash
curl -s -H "Authorization: Bearer $PATENTMAX_API_KEY" \
  "https://api.ip930.com/api/patent?pn=CN109761224A"

某一块上游取不到时,该字段为 null 并在 unavailable 里列出,其余照常返回;

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api-reference.md (reported line 114)May include surrounding context.

bash
curl -s -H "Authorization: Bearer $PATENTMAX_API_KEY" \
  "https://api.ip930.com/api/claims?pn=CN109761224A"

只要同时需要两块以上,就用 /api/patent——它一口价,拆开单买反而贵。

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api-reference.md (reported line 48)May include surrounding context.

服务端直接返回上次的结果、不再扣费;同一个键换了参数会被拒(400);上一次还在处理中返回 409。

bash
curl -s -H "Authorization: Bearer $PATENTMAX_API_KEY" -H "Idempotency-Key: task42-search-1"   "https://api.ip930.com/api/search?q=%E6%B5%B8%E6%B2%A1%E5%BC%8F%E6%B6%B2%E5%86%B7&ds=cn&size=20"

网络超时、不确定上一次有没有成功时,用同一个键重发,不要换键。

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/api-reference.md (reported line 73)May include surrounding context.

curl -s -H "Authorization: Bearer $PATENTMAX_API_KEY"
--data-urlencode 'q=(固态电池 OR 全固态电池) AND 电解质'
--data-urlencode 'ds=all' --data-urlencode 'size=20'
-G "https://api.ip930.com/api/search"

text

> 检索式里有中文和括号,一定用 `--data-urlencode -G`,别手工拼 URL。

The reference exposes paid patent-discovery and business-analysis capabilities unrelated to extracting terms from supplied patents.

Medium
Category
Excessive Agency
Confidence
90% confidence
Finding

The manifest limits the skill to extracting terminology, acronyms, and definitions from specified patents or supplied source texts. This reference additionally provides executable instructions for global patent searches (L060–L078) and advertises legal-event, similarity-search, statistical-analysis, and corporate-profile endpoints (L104–L110), which go beyond obtaining the specified source text and can incur unrelated charges.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/faq.md (reported line 35)May include surrounding context.

md
- **密钥复制不全。** 前后有没有多余空格、有没有漏掉尾部字符
- **少了 `Bearer ` 前缀。** 用 curl 时 header 必须是 `Authorization: Bearer pm_live_xxx`,只写密钥不行
- **密钥被撤销了。** 到 [控制台](https://api.ip930.com/features/api-platform)看状态

> 还有个容易踩的:如果请求里带了 `Authorization` 头,URL 上的 `?apikey=` 就不会被读取。两种方式选一种,别混用——带了一个格式错误的 header,正确的 URL 参数也会被忽略。

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/key-setup.md (reported line 4)May include surrounding context.

md
# 正式密钥切换
仅处理已有材料不需要密钥,不触发自动试用或接口调用。

需要补取数据且试用不足时,保留脚本message中的网址,引导用户到https://api.ip930.com/features/api-platform 注册并创建正式密钥。价格、奖励和额度以当前页面与脚本返回为准,不承诺固定赠送金额。

默认仅在当前命令的进程环境使用PATENTMAX_API_KEY;不回显密钥,不写入报告或修改全局配置。先让用户选择临时使用或持久保存。只有明确选择保存时,才遵循脚本ai_hint写当前用户私有目录api_key.txt;POSIX权限0600,Windows仅当前用户可读,不能确认私有权限时不落盘。已有正式密钥优先级和试用结束处理以脚本为准,不删除用户旧配置。

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/tools.md (reported line 668)May include surrounding context.

试用用完、过期,或想用其他功能(查新、交底书等)时,命令会返回带 "free_trial": true 的错误,message 里写着下一步怎么办(注册 PatentMax 再送 ¥50 体验额度),原样转告用户,不要自己换写法重试。

用户有自己的密钥时用环境变量传,避免写进命令历史;设了就一律用它,不会领试用。密钥在 api.ip930.com 控制台创建:

bash
export PATENTMAX_API_KEY="pm_live_你的密钥"

The reference directs patent-discovery searches beyond the manifest's supplied-text terminology extraction scope.

Medium
Category
Excessive Agency
Confidence
96% confidence
Finding

This reference prescribes mandatory sampling, repeat searches, and database changes rather than merely explaining query syntax. If applied during supplied-text terminology extraction, those instructions expand the task into unrequested discovery, potentially transmitting technical concepts and consuming API quota or funds; this source provides no explicit scope or authorization gate.

Content

No source excerpt is available for this finding.