Back to skill

Security audit

专利摘要汇编

Security checks for vulnerabilities and agentic risk

Overview

The patent-digest workflow is appropriately scoped, with disclosed online lookups, possible usage charges, and local credential storage.

Expect patent identifiers and search terms to reach PatentMax. Avoid confidential invention details unless you approve sharing them, set a spending cap for batch work, and keep the local credential cache private. Save a personal API key only if you want persistent access.

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
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • 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 (38)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied shell command exposes part of an API key rather than compiling patent abstracts or producing a reading index. Even if API authentication could support patent retrieval, printing credential characters is not a necessary or declared part of that workflow.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Using an API credential could support patent retrieval, but printing part of that credential is not necessary for the declared digest-generation behavior. The supplied code exposes credential material rather than compiling or organizing patent information, and no credential-disclosure capability is declared.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Patent-number normalization, abstract retrieval, local reading, and source-linked records could reasonably support the declared purpose. However, the supplied code exposes a substantially broader patent research and analytics client, including company profiles and statistical endpoints unrelated to assembling an abstract digest. It sends requests and credentials to https://api.ip930.com, automatically provisions a trial key when needed, and can consume account funds without a configured monetary cap. These behaviors materially exceed the description rather than merely implementing its stated workflow. The chunk outputs API data, candidate CSV files, and reading excerpts, but does not itself group abstracts or generate the promised digest and reading document. This finding is limited to the supplied code; other skill components could implement those deliverables.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The declared workflow organizes and summarizes an existing patent collection. The supplied chunk instead describes a patent-discovery workflow: feature-based searching followed by similarity retrieval. These operations expand the collection rather than merely fetch abstracts for supplied patent numbers, and the chunk does not show digest or reading-index generation. This is a materially different capability, not simply a supporting formatting or retrieval detail.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
87% confidence
Finding

The supplied command performs patent discovery, which is distinct from retrieving abstracts for supplied patents and organizing them into a digest. The description does not declare similarity searching or expanding the input patent set. The chunk shows no digest or reading-index generation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
87% confidence
Finding

The command initiates a new patent search for a predetermined applicant. The declared purpose covers compiling user-supplied patents or existing search results, not independently selecting an applicant and discovering patents. Searching to retrieve abstracts for supplied patent numbers could be a supporting implementation detail, but this fixed applicant-wide query is not tied to such input. The supplied chunk does not establish any additional behavior of the client.

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 · 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/key-setup.md (reported line 81)May include surrounding context.

bash
curl -s -H "Authorization: Bearer $PATENTMAX_API_KEY" \
  --data-urlencode 'q=固态电池' --data-urlencode 'size=5' \
  -G "https://api.ip930.com/api/search"

检索式里有中文和括号时,务必用 --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/key-setup.md (reported line 101)May include surrounding context.

其他 Agent 平台 — 只要能执行 shell 或发 HTTP 请求即可。

也可以走 MCP — 同一套数据提供 MCP 接入,端点 https://api.ip930.com/api/mcp(Streamable HTTP),支持 OAuth 2.1 一键授权:

json
{

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

md
{
  "mcpServers": {
    "patentmax": {
      "url": "https://api.ip930.com/api/mcp",
      "headers": { "Authorization": "Bearer pm_live_你的密钥" }
    }
  }

The workflow expands a supplied-list abstract digest into paid patent discovery and competitive research.

Medium
Category
Excessive Agency
Confidence
94% confidence
Finding

The declared skill organizes supplied patents, but this reference supplies executable workflows for discovering similar patents and investigating companies without explicitly requiring a separate user request. If applied to a digest task, these workflows can expand the authorized scope and incur unnecessary API charges; later iteration and cost checks do not establish initial authorization for that expansion.

Content

No source excerpt is available for this finding.

The search workflow lacks a privacy warning before submitting user-derived technical details to the patent search service.

Medium
Category
Output Handling
Confidence
91% confidence
Finding

The workflow turns technical objects, mechanisms, and distinguishing features into service-backed searches without a confidentiality check or disclosure-consent step in this source. When those features come from an unpublished invention or proprietary formulation, even extracted keywords can disclose commercially sensitive information outside the supplied-list digest task.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 73)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
60% 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 124)May include surrounding context.

健康检查

bash
curl -s "https://api.ip930.com/api/v1/health"

不需要密钥,用来确认网络通不通。

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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
60% 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 41)May include surrounding context.

md
## 402 余额不足

到[控制台](https://api.ip930.com/features/api-platform)充值。

新账户的体验额度分两笔:注册送 ¥10,第一次调用成功后再送 ¥40。如果第二笔一直没到,确认第一次调用确实返回了 200——失败的调用不算。

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 119)May include surrounding context.

md
## 花了多少钱

脚本每次返回都带 `_spent`(本次实扣)和 `_balance`(余额),**这两个数来自服务端,是真值**。
准确的流水到[控制台](https://api.ip930.com/features/api-platform)查。

| 调用 | 单价 |
| --- | --- |

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 次。不用绑卡。

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 73)May include surrounding context.

先测连通性(这个接口不需要密钥):

bash
curl -s "https://api.ip930.com/api/v1/health"

再测鉴权: