Back to skill

Security audit

专利许可查询

Security checks for vulnerabilities and agentic risk

Overview

The skill coherently retrieves public patent licensing records, with disclosed service charges and local credential caching.

Expect patent identifiers and any search terms to reach PatentMax, and confirm current charges before batch queries. A trial key is cached automatically; keep its directory private and save paid keys only if you choose to. Verify important licensing conclusions against official records.

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
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (49)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied commands request general patent information, citations, and similar patents, but contain no license-recordation query or license-record summary operation. Although these operations concern patents, the visible workflow serves a materially different purpose from the declared licensing-record lookup. Nothing in the supplied chunk establishes that these requests are supporting steps for a license-record search.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied code does not query or summarize patent license records. Although using an API credential for authentication could support the declared purpose, printing part of that credential is an undeclared disclosure unrelated to the requested public-record output. The snippet shows no network transmission or disclosure of the full key.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared purpose is narrowly focused on public patent license recordations, whereas the implemented commands primarily support broad patent research and analysis. The only potentially relevant operation is brief --legal, which fetches /api/legal and returns its payload without identifying license events or extracting their dates, parties, and terms. That possible overlap does not account for the materially broader capabilities or establish the promised license-record reporting behavior. Authentication, caching, and billing are supporting implementation details rather than the basis for this mismatch.

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 research candidate-management workflow, including relevance judgments about cooling-fluid formulations and data-center structures. They do not request or summarize patent license recordation data. Although both concern patents, the demonstrated workflow is materially different from the declared license-record lookup purpose.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

所示命令执行 search 和 similar,目标是查找技术相关专利,而非查询许可备案事件。代码未展示许可记录检索,也未整理许可日期、当事方或条款,因此其可见主要用途与声明的许可备案查询存在实质差异。

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The supplied commands demonstrate a general patent research toolkit rather than a license-recordation lookup workflow. None explicitly retrieves license recordation events, licensees, or license terms. Although some patent retrieval could support a licensing inquiry, the independent similarity, citation, and drawing-download operations extend beyond the declared scope. The client implementation is not supplied, so this assessment is limited to the demonstrated commands.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The supplied command explicitly performs a similar-patent search. It does not request license recordation events or recorded licensing parties, dates, or terms. Nothing in the supplied chunk establishes similarity searching as a supporting step for the declared licensing workflow.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The supplied request searches for '(固态电池 OR 全固态电池) AND 电解质' using ds=all. It contains no license-recordation filter or parameter identifying the patent whose licensing history is requested. Although general patent search could support a licensing workflow, this chunk only demonstrates an unrelated technical-topic search, not retrieval of the declared public licensing records. API authentication itself is a supporting implementation detail, not a mismatch.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The supplied request targets /api/claims, which is materially different from the declared licensing-record lookup. The chunk contains no license-record query or processing of licensing dates, parties, or terms. Authentication is a supporting implementation detail and is not itself a mismatch.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

The supplied command performs a topical patent search with no visible license-recordation filter, specific patent identifier, or license-record retrieval operation. Its visible purpose therefore differs materially from the declared license-record lookup purpose. The client 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
90% confidence
Finding

The supplied commands focus on general patent search and full-text inspection. None requests license recordation data or extracts licensing parties, dates, or terms. Although reading local files could support the declared workflow, the explicitly demonstrated content is patent-document material, not public license records. This assessment is limited to the supplied chunk.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
88% confidence
Finding

Using an API key could support the declared lookup functionality, but printing part of that credential is a distinct disclosure behavior not described by the stated purpose. This chunk performs no patent-record lookup. It does not show external transmission or disclosure of the complete key.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
88% confidence
Finding

The supplied command searches for battery and electrolyte terminology, with no license-recordation criteria or visible retrieval of licensing dates, parties, or terms. Its visible purpose is topical patent discovery rather than the declared licensing-record lookup. The client 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
87% confidence
Finding

The supplied request searches patents by a technology keyword. It does not identify a patent for license-record lookup, request licensing events, or extract recorded license parties, dates, or terms. Patent search could support a broader licensing workflow, but no such connection is shown in this chunk. Authentication and request headers are ordinary implementation details and are not themselves mismatches.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
86% confidence
Finding

The supplied command searches a technology topic without any visible license-recordation filter or operation. It does not visibly retrieve license events, licensees, dates, or terms. Although the file location suggests a setup example, the supplied code does not establish that this search supports the declared licensing workflow. The client's internal behavior is not provided, so no additional capabilities or data access are inferred.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
84% confidence
Finding

The supplied command searches by patent applicant, not by license recordation or licensing parties. It contains no visible retrieval or filtering of license records and does not produce the declared license-record summary. Although applicant searching could support a larger licensing workflow, that connection is not established by the supplied code chunk.

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 72)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/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_你的密钥"

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 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。

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——它一口价,拆开单买反而贵。