Back to skill

Security audit

移动会议API

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a legitimate meeting API helper, but it needs Review because its examples repeatedly show unsafe credential handling and disabled HTTPS checks around sensitive meeting actions.

Review before using this skill in production. Replace all sample tokens and meeting links with placeholders, do not copy curl -k or trust-all TLS code, avoid entering production App Keys into shared browsers, use test accounts first, and require explicit confirmation before creating, updating, canceling, deleting, inviting participants, or accessing recordings.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (25)

Intent-Code Divergence

High
Confidence
99% confidence
Finding
The Java sample explicitly disables both hostname verification and certificate trust validation, which defeats TLS protections and allows man-in-the-middle interception or tampering of recording downloads. In this context the example is especially dangerous because it handles sensitive meeting recordings and authentication tokens, so developers may copy insecure code directly into production integrations.

Vague Triggers

Medium
Confidence
93% confidence
Finding
The README states the skill auto-activates on generic phrases such as “移动会议”, “云视讯”, or “会议API”, which are common terms in ordinary enterprise or developer conversations. This can cause unintended skill invocation and trigger actions or guidance in the wrong context, especially because the skill covers login, meeting management, and in-meeting controls.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The README instructs users to obtain APP_ID, APP_KEY, and USER_ID and run executable scripts for token retrieval and meeting operations, but provides no warning about secure secret storage, least-privilege usage, test-vs-production separation, or the fact that these scripts may create or alter real meetings. In a skill that interfaces with live conferencing APIs, this omission increases the risk of credential leakage and unintended data-affecting operations.

Vague Triggers

Medium
Confidence
86% confidence
Finding
Overly broad auto-activation conditions can cause the skill to engage in unrelated conversations about meetings and then steer users toward sensitive API workflows, tokens, or deep links when not intended. In an agent ecosystem, misrouting to a network/API integration skill increases the chance of accidental credential handling, incorrect guidance, or unintended destructive API suggestions.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The response example exposes full accessToken and refreshToken values and other sensitive account metadata in clear text. Even if these are sample values, documentation that normalizes publishing bearer tokens increases the chance that real tokens will be copied into docs, logs, shell history, or support tickets, enabling account/session compromise if reused or mistakenly real.

Missing User Warnings

Low
Confidence
91% confidence
Finding
The request example exposes a realistic-looking access token in plaintext without clearly marking it as a placeholder or warning users not to reuse real credentials in docs, logs, or tickets. In skill context, users may copy examples directly into tools or prompts, increasing the chance of accidental credential reuse, token leakage, or operational misuse if the sample token is valid or derived from real data.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The documentation includes a realistic-looking bearer token directly in an HTTP request example, which can normalize unsafe credential handling and may expose a real or reusable secret if it was copied from a live environment. In a skill that may be consumed programmatically, users or downstream agents could replay the example verbatim or leak the token into logs, chats, or source control.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The cURL example embeds a credential-like access token without redaction or handling guidance, creating the same risk of secret disclosure and unsafe reuse. cURL commands are especially likely to be copied verbatim, which increases the chance that users expose tokens in shell history, process lists, CI logs, or support tickets.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The request examples embed a concrete-looking X-Access-Token value, which can encourage unsafe copy/paste practices and may expose a real or realistic credential in documentation. In an agent skill context, this is more dangerous because downstream tools or users may reuse example secrets, leak them into logs, or mistake them for valid tokens.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The documentation includes a concrete X-Access-Token value in request examples, which normalizes embedding bearer credentials in docs and can lead users to reuse or expose real tokens in logs, screenshots, or copied commands. Because bearer tokens grant API access directly, mishandling them can enable unauthorized access to meeting history and related metadata.

Missing User Warnings

Medium
Confidence
83% confidence
Finding
This endpoint returns historical meeting data that can include meeting subjects, attendee identifiers, join URIs, department names, and partial phone numbers, but the documentation does not warn that this is sensitive organizational data. In a skill focused on meeting-management APIs, omission of privacy and least-privilege guidance increases the chance of over-collection, broad admin queries, or unsafe downstream storage and sharing.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The document includes what appear to be real authenticated examples: a bearer-style X-Access-Token, concrete meeting join URLs, conference identifiers, user UUIDs, and participant metadata. Even if intended as sample data, publishing credentials and join links in documentation can enable unauthorized access to meetings or normalize unsafe handling of secrets, which is especially risky in an agent skill that may surface or reuse these values automatically.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The documentation includes a concrete bearer-style access token in example request headers and the curl sample, which can lead users to copy, reuse, or accidentally expose what appears to be a live credential. In an agent skill context, embedded tokens are especially risky because automated systems or downstream users may treat examples as operational values and attempt real requests against the meeting-recording API.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The documentation includes a concrete X-Access-Token value in request examples without any warning that tokens are secrets and must not be reused, logged, or committed. Even if the token is only illustrative, users and downstream agents may copy it verbatim or normalize unsafe handling of bearer tokens, increasing credential leakage risk.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The documentation includes a concrete X-Access-Token value in request examples, which conditions users to copy sensitive bearer tokens into code, terminals, screenshots, logs, and support channels. Even if the sample token is non-production, publishing credential-shaped values without an explicit placeholder or warning increases the risk of accidental secret reuse and poor token-handling practices.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The response examples expose sensitive meeting metadata including participant identifiers and chair/guest join URIs, which may function as direct access links or disclose internal meeting structure. In a meeting-management skill, this context is more dangerous because these examples normalize handling and potentially exposing meeting links, user UUIDs, phone data, and organizer details that could enable unauthorized joining, phishing, or privacy violations.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The request example includes a concrete X-Access-Token value rather than an obvious placeholder, which can train users to copy sensitive credentials into logs, tickets, or code and may expose a real token if it was ever valid. In API documentation for meeting systems, bearer-style access tokens are sensitive secrets and should never appear as realistic-looking sample values without explicit redaction guidance.

Missing User Warnings

Medium
Confidence
98% confidence
Finding
The response sample exposes a direct recording playback URL containing an embedded token, which is effectively a bearer link to potentially sensitive meeting content. Such URLs can be replayed by anyone who obtains them through documentation, screenshots, logs, browser history, or referrer leakage, making this especially risky in a conferencing/recording API context.

Missing User Warnings

Medium
Confidence
86% confidence
Finding
The documentation shows a bearer-style access token in headers but does not mark it as a placeholder, redact it, or warn users not to reuse real credentials in examples and logs. In an API integration skill, this is risky because developers often copy examples verbatim, which can normalize unsafe token handling and accidental credential exposure.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
This page asks users to paste an App Key into a normal text field and performs signature generation entirely in browser-side JavaScript, including a third-party CDN dependency. In the context of an API/authentication helper skill, this is risky because it normalizes handling long-lived secrets in an untrusted client environment where they can be exposed via shoulder surfing, browser extensions, compromised scripts, or accidental sharing/screenshotting.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
- 创建会议: ` POST /v1/mmc/management/conferences `
- 查询会议列表: `GET /v1/mmc/management/conferences`
- 取消预约会议: `DELETE /v1/mmc/management/conferences`
- 查询会议详情: `GET /v1/mmc/management/conferences/confDetail`  
- 查询录制文件下载链接: ` GET /v1/mmc/management/record/downloadurls`
Confidence
88% confidence
Finding
The skill prominently advertises destructive and state-changing endpoints such as conference deletion/cancellation without embedding strong safety guardrails, parameter validation expectations, or confirmation requirements. In a meeting-management context, an agent could be induced to construct or recommend cancellation/control requests against real conferences, causing unauthorized disruption or loss of availability if users or downstream tooling execute them.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
## CURL命令示例<a name="section2790610197"></a>

```
curl -k -i -X DELETE -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://apigw.125339.com.cn/v1/mmc/management/conferences?conferenceID=914087436'
```
Confidence
98% confidence
Finding
The curl example uses '-k', which disables TLS certificate verification and teaches consumers to bypass transport security checks. This makes token-bearing requests vulnerable to man-in-the-middle interception or redirection, especially dangerous here because the request carries an access token and performs destructive meeting cancellation.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
## CURL命令示例<a name="section3208810175415"></a>

```
curl -k -i -X GET -H "X-Password:******" -H "X-Access-Token:******"  https://apigw.125339.com.cn/v2/mms/ncms/conferences/auth/random?conf_id=914047175
```
Confidence
98% confidence
Finding
The curl example uses -k, which disables TLS certificate validation and trains users to ignore HTTPS trust checks. This enables man-in-the-middle interception or modification of the request, including sensitive headers such as X-Password and X-Access-Token, which is especially dangerous in an authentication-related API.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
## CURL命令示例<a name="section4952152111818"></a>

```
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://apigw.125339.com.cn/v1/mmc/management/conferences/history?startDate=1574092800000&endDate=1574179199999'
```
Confidence
99% confidence
Finding
The curl example uses -k, which disables TLS certificate validation and teaches consumers to bypass HTTPS authenticity checks. If copied into real use, this enables man-in-the-middle interception or modification of bearer tokens and meeting data, especially dangerous for an authenticated enterprise meeting API.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
## CURL命令示例<a name="section4952152111818"></a>

```
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://apigw.125339.com.cn/v1/mmc/management/conferences/history/confDetail?confUUID=9a0fa6d10a5b11eaae5e191763c22c0e'
```
Confidence
99% confidence
Finding
The curl example uses -k, which disables TLS certificate validation and teaches clients to accept potentially spoofed HTTPS endpoints. In an API skill focused on authentication and meeting data, this is especially dangerous because it can expose access tokens and sensitive meeting details to man-in-the-middle interception.

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/CancelMeeting.md:51

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/CreateMeeting.md:305

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/DeleteRecordings.md:51

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/InviteParticipant.md:69

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/SearchAttendanceRecordsOfHisMeeting.md:80

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/SearchCtlRecordsOfHisMeeting.md:79

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/SearchHisMeetings.md:73

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/SearchMeetings.md:69

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/SearchRecordings.md:87

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/ShowHisMeetingDetail.md:64

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/ShowMeetingDetail.md:106

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/ShowRecordingDetail.md:69

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/ShowRecordingFileDownloadUrls.md:83

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/StartMeeting.md:101

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
references/UpdateMeeting.md:81