Back to skill

Security audit

专利转让查询

Security checks for vulnerabilities and agentic risk

Overview

The skill supports its stated patent-transfer research purpose, with disclosed online lookups, possible usage charges, and local credential caching.

PatentMax receives your patent identifiers and any search queries, and API calls may consume paid balance. Set a task budget, avoid sending unpublished technical secrets, and choose whether to save your own API key locally. Verify important ownership 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 (46)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The code's primary interface is a broad patent research and analytics toolkit rather than the declared assignment-history workflow. Its closest relevant behavior is an optional call to /api/legal, whose response is returned unchanged as legal_events. The supplied code does not identify ownership transfers, determine who transferred rights to whom, order assignment events, or produce the promised sourced timeline. Authentication, billing safeguards, caching, and result-file handling are supporting implementation details and are not independently treated as mismatches.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The command exposes part of an API key rather than retrieving patent assignment events or constructing a timeline. Although using an API credential could support patent lookups, printing its prefix is an undeclared credential-disclosure behavior, not a necessary implementation detail of the stated purpose.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The supplied command searches for '(固态电池 OR 全固态电池) AND 电解质' through a general search endpoint. It contains no supplied patent numbers, assignment-specific query, or ownership-history processing. Authentication and API access are ordinary implementation details; the mismatch is the materially different search objective.

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 discovery and similarity-search workflow. They do not request assignment events, identify transferors or transferees, retrieve ownership-change dates, or assemble source-backed transfer timelines. Although both workflows concern patents, the shown workflow has a materially different purpose from the declared assignment-history service.

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 candidate collection and screening workflows, including changing keep/exclude statuses and exporting a CSV. They contain no visible assignment-event lookup, ownership-change extraction, or sourced timeline generation. Although both involve patents, candidate screening is materially different from the declared assignment-history purpose and is not shown as a supporting step for that purpose.

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 a topical patent search, not a lookup of assignment events or ownership changes. It contains no supplied patent numbers, assignment-specific criteria, or timeline generation. Saving JSON is a supporting implementation detail, but the search objective materially differs from the declared purpose.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The visible workflow performs general patent research rather than the declared assignment-history lookup. Full-text retrieval could support assignment research, but citation retrieval and similarity search do not establish transfers, transfer dates, or previous and subsequent owners. No assignment-specific retrieval or timeline construction is shown.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The supplied command searches for patents on a predetermined technical topic. It neither uses supplied patent numbers nor requests assignment or ownership-change records. Although patent search could support an assignment-research workflow, this fixed topical query is not aligned with the declared assignment-history function. The authentication headers are ordinary implementation details and are not themselves evidence of a mismatch.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The demonstrated functionality is a general patent research toolkit rather than the declared assignment-history workflow. Bibliographic and full-text retrieval could support assignment research, but similarity searches, citation exploration, and report-figure downloads are separate capabilities not described in the declared purpose. This assessment is limited to the supplied command examples; the underlying client implementation is not shown.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The supplied code targets patent claims, which are materially different from patent assignment events. It shows no retrieval of transfer dates, previous and new owners, or assignment source records, and no timeline generation. Authentication and HTTP access are supporting implementation details, not independent mismatches.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The supplied command explicitly requests similar patents, not assignment events or changes in patent ownership. Nothing in the chunk connects this search to the declared assignment-history workflow. The client implementation is not supplied, so additional behavior cannot be verified.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The supplied command searches by technical subject matter. It does not specify patent numbers or request assignment records, ownership changes, or a sourced transfer timeline. Although patent searching could support the declared workflow, this standalone, hard-coded query has no demonstrated connection to that 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
95% confidence
Finding

The command searches for '(固态电池 OR 全固态电池) AND 电解质' and does not reference supplied patent numbers, assignment events, ownership changes, or timeline generation. As supplied, its primary operation is a subject-matter patent search, materially different from the declared assignment-history purpose. The client’s internal behavior is not shown, so no additional capabilities are inferred.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

Using an API key for patent-record authentication could be a supporting implementation detail, but this command instead exposes part of the credential. That disclosure is not described by the declared purpose. The supplied chunk performs no patent lookup or timeline generation, and it shows no external transmission.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
86% confidence
Finding

The visible command searches by applicant, not by supplied patent numbers or assignment events. It does not visibly retrieve transfer records, identify ownership changes, or construct a sourced timeline. General patent searching could support the declared workflow, but this fixed applicant search has no demonstrated connection to that workflow. The assessment is limited to the supplied code chunk; the client's internal behavior is not shown.

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

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 9)May include surrounding context.

md
## 第一步:拿密钥

到 [api.ip930.com/features/api-platform](https://api.ip930.com/features/api-platform) 注册,创建一个 API 密钥。

注册即送 ¥10,第一次调用成功后再送 ¥40,合计 ¥50——按检索 ¥0.10/次算够跑 500 次。不用绑卡。