Back to skill

Security audit

移动会议API

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its meeting-API purpose, but it handles live credentials and meeting data while shipping insecure TLS examples and an under-disclosed remote script dependency.

Install only if you are comfortable reviewing and adapting the examples before use. Do not copy commands with curl -k, do not use the Java recording download TLS-bypass code, avoid entering real App Keys into the bundled HTML page unless the remote dependency is removed or pinned, and avoid running the helper scripts in logged or shared terminals because they expose tokens in plaintext.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (4)

T08 · Insecure Dependencies

Warning
Location
scripts/app_auth.html:7
Finding

Remote JavaScript dependency executes in a page that processes an App Key

Content
View full analysis
``` ```javascript const appId = document.getElementById('appId').value.trim(); const appKey = document.getElementById('appKey').value.trim(); const userId = document.getElementById('userId').value.trim(); const minutes = parseInt(document.getElementById('expireMinutes').value); let nonce = document.getElementById('nonce').value.trim(); // Build the signing string const signString = appId + ":" + userId + ":" + expireTime + ":" + nonce; // Calculate HMAC-SHA256 const hmac = CryptoJS.HmacSHA256(signString, appKey); // Hex encoding const signature = hmac.toString(CryptoJS.enc.Hex); // Base64-encode the App ID const access = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(appId)); // Build the Authorization header const authorization = `HMAC-SHA256 signature=${signature},access=${access}`; ``` ### Technical Analysis The page loads executable JavaScript from a mutable CDN URL without Subresource Integrity. It also lacks a restrictive Content Security Policy that would constrain the behavior of the imported script. The remotely supplied JavaScript executes in the same browser context as the signature generator. Consequently, it can access the DOM fields containing the App ID, App Key, user ID, generated signature, and authorization header. Although the reviewed CryptoJS code path is used legitimately for HMAC generation, the effective code executed by the page can change after the Skill package has been reviewed. This also conflicts with the documentation statement that the HTML tool requires no server or dependency: opening the page requires retrieving executable code from an external service. ### ...[truncated 1297 chars]
Remediation
View remediation
` dependency from the credential-processing page. 2. Prefer the browser's native Web Crypto API for HMAC-SHA256 generation. 3. Alternatively, bundle a reviewed and pinned copy of CryptoJS inside the Skill package. 4. If remote loading is unavoidable: - Use an immutable, version-pinned artifact. - Add a verified `integrity` hash and `crossorigin="anonymous"`. - Enforce a restrictive Content Security Policy. - Restrict outbound connections with `connect-src 'none'` if the page does not require networking. 5. Update `SKILL.md` so its dependency and network behavior are accurately documented. 6. Perform periodic integrity review of any bundled cryptographic library. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
references/ShowRecordingFileDownloadUrls.md:158
Finding

Recording download example disables certificate and hostname verification

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
references/CreateAppIdToken.md:190
Finding

Credential-bearing curl examples disable TLS verification

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
scripts/get_token.py:19
Finding

Authentication secrets are echoed at input and tokens are printed in plaintext

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (93)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

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

md
- 创建会议: ` 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`

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/CancelMeeting.md (reported line 10)May include surrounding context.

md
## URI<a name="section188661421151117"></a>

DELETE /v1/mmc/management/conferences

## 请求参数<a name="section1997124142020"></a>

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/CancelMeeting.md (reported line 49)May include surrounding context.

请求消息示例

text
DELETE /v1/mmc/management/conferences?conferenceID=914087436
Connection: keep-alive
X-Access-Token: stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC
user-agent: WeLink-desktop

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

The curl example uses '-k', which disables TLS certificate validation and trains integrators to ignore server identity checks. If copied into production scripts or troubleshooting workflows, this can enable man-in-the-middle interception of the X-Access-Token and unauthorized meeting-management actions.

Content

Scanner excerpt · references/CancelMeeting.md (reported line 77)May include surrounding context.

CURL命令示例

text
curl -k -i -X DELETE -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://apigw.125339.com.cn/v1/mmc/management/conferences?conferenceID=914087436'

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/CreateAppIdToken.md (reported line 5)May include surrounding context.

md
## 描述<a name="section698218449183"></a>

该接口使用App ID方式进行鉴权,鉴权通过后生成一个Access Token。App ID鉴权的原理介绍请参考https://www.125339.com.cn/developerCenter/ReBar/63/191

>![](public_sys-resources/icon-note.gif) **说明:** 
>-   当clientType取值为72时,同一个userId,同时最多能创建64个Token。比如已经创建了64个Token,并且Token都在有效期内,再用同一个userId创建一个Token,前64个Token中最早创建的Token将失效。

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/CreateAppIdToken.md (reported line 67)May include surrounding context.

md
## 描述<a name="section698218449183"></a>

该接口使用App ID方式进行鉴权,鉴权通过后生成一个Access Token。App ID鉴权的原理介绍请参考https://www.125339.com.cn/developerCenter/ReBar/63/191

>![](public_sys-resources/icon-note.gif) **说明:** 
>-   当clientType取值为72时,同一个userId,同时最多能创建64个Token。比如已经创建了64个Token,并且Token都在有效期内,再用同一个userId创建一个Token,前64个Token中最早创建的Token将失效。

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/CreateAppIdToken.md (reported line 72)May include surrounding context.

md
## 描述<a name="section698218449183"></a>

该接口使用App ID方式进行鉴权,鉴权通过后生成一个Access Token。App ID鉴权的原理介绍请参考https://www.125339.com.cn/developerCenter/ReBar/63/191

>![](public_sys-resources/icon-note.gif) **说明:** 
>-   当clientType取值为72时,同一个userId,同时最多能创建64个Token。比如已经创建了64个Token,并且Token都在有效期内,再用同一个userId创建一个Token,前64个Token中最早创建的Token将失效。

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/CreateAppIdToken.md (reported line 84)May include surrounding context.

md
## 描述<a name="section698218449183"></a>

该接口使用App ID方式进行鉴权,鉴权通过后生成一个Access Token。App ID鉴权的原理介绍请参考https://www.125339.com.cn/developerCenter/ReBar/63/191

>![](public_sys-resources/icon-note.gif) **说明:** 
>-   当clientType取值为72时,同一个userId,同时最多能创建64个Token。比如已经创建了64个Token,并且Token都在有效期内,再用同一个userId创建一个Token,前64个Token中最早创建的Token将失效。

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/CreateAppIdToken.md (reported line 69)May include surrounding context.

md
|---|---|---|
| accessToken | String | Access Token字符串。 |
| clientType | Integer | 登录账号类型。 72:API调用类型 登录客户端类型。 50:手机客户端 51:PAD客户端 52:PC客户端 53:电视客户端 54:大屏客户端 55:WEB客户端 72:API类型(Token不互踢) |
| createTime | Long | Access token的创建时间戳,单位:毫秒。 |
| daysPwdAvailable | Integer | 密码有效天数。 |
| delayDelete | Boolean | 是否延时删除状态。 |
| expireTime | Long | Access Token的失效时间戳,单位:秒。 |

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/CreateAppIdToken.md (reported line 82)May include surrounding context.

md
| refreshToken | String | Refresh Token字符串。 |
| refreshValidPeriod | Long | Refresh Token有效时长,单位:秒。 |
| tokenIp | String | 用户IP。 |
| tokenType | Integer | Token类型。 0:用户ACCESS TOKEN 1:会控TOKEN 2:一次性TOKEN |
| user | UserInfo object | 用户鉴权信息。 |
| validPeriod | Long | Access Token的有效时长,单位:秒。 |

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

The example uses 'curl -k', which disables TLS certificate verification. In authentication flows this is dangerous because it trains users to bypass transport security, enabling man-in-the-middle interception of Authorization headers, tokens, and user identifiers.

Content

Scanner excerpt · references/CreateAppIdToken.md (reported line 190)May include surrounding context.

CURL命令示例

text
curl -k -i -H 'content-type: application/json' -X POST  -H 'Content-Type: application/json,Accept-Language: zh-CN,X-Token-Type: LongTicket,Authorization: HMAC-SHA256 signature=3eca3f0f1e90ed55de38388066d02f1b7a86571a8ce30823af1df7c4edd7e086,access=ZmRiOGU0Njk5NTg2NDU4YmJkMTBjODM0ODcyZGNjNjI=' -d '{"appId": "fdb8e4699586458bbd10c834872dcc62","clientType": 72,"corpId": "807074304","expireTime": 1597824907000,"nonce": "EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ","userEmail": "******","userId": "alice@ent01","userName": "alice","userPhone": "173****9092"}' 'https://apigw.125339.com.cn/v2/usg/acs/auth/appauth'

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

The curl example uses -k, which disables TLS certificate validation and permits man-in-the-middle interception or spoofing of the API endpoint. Because the same request carries both X-Password and X-Access-Token, using -k materially increases the risk of credential theft and unauthorized access.

Content

Scanner excerpt · references/CreateAuthRandom.md (reported line 108)May include surrounding context.

CURL命令示例

text
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

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

The curl example uses '-k', which disables TLS certificate verification. Instructing users to bypass certificate validation materially weakens transport security and can enable man-in-the-middle interception of the access token and meeting data if copied into real use.

Content

Scanner excerpt · references/CreateMeeting.md (reported line 401)May include surrounding context.

CURL命令示例

text
curl -k -i -H 'content-type: application/json' -X POST -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' -d '{"conferenceType": "0","subject": "user01 conference","mediaTypes": "HDVideo","attendees": [{"name": "user01","role": 1,"phone": "+8657*******"}]}' 'https://apigw.125339.com.cn/v1/mmc/management/conferences'

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/DeleteRecordings.md (reported line 10)May include surrounding context.

md
## URI<a name="section1331211304272"></a>

DELETE /v1/mmc/management/record/files

## 请求参数<a name="section1997124142020"></a>

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/DeleteRecordings.md (reported line 49)May include surrounding context.

请求消息示例

text
DELETE /v1/mmc/management/record/files?confUUIDs=51adf610220411eaaae03f22d33cc26b
Connection: keep-alive
X-Access-Token: stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC
user-agent: WeLink-desktop

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

The curl example uses '-k', which disables TLS certificate verification and teaches consumers to bypass transport security checks. This exposes access tokens and destructive API requests to man-in-the-middle interception or redirection, especially dangerous for an endpoint that deletes recordings.

Content

Scanner excerpt · references/DeleteRecordings.md (reported line 77)May include surrounding context.

CURL命令示例

text
curl -k -i -X DELETE -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' https://apigw.125339.com.cn/v1/mmc/management/record/files?confUUIDs=51adf610220411eaaae03f22d33cc26b

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

The sample command uses curl -k, which disables TLS certificate verification and teaches consumers to accept insecure transport. If copied into real environments, this can enable man-in-the-middle interception of the conference control token and participant data, especially because the endpoint handles authorization credentials and phone information.

Content

Scanner excerpt · references/InviteParticipant.md (reported line 107)May include surrounding context.

CURL命令示例

text
curl -k -i -H 'content-type: application/json' -X POST -H 'X-Conference-Authorization:stb39b3f21898d4972fed86b3f22ac70914a77303def15e126a' -d '{"attendees":[{"name":"user01","role":0,"phone":"+8657*******"}]}' https://apigw.125339.com.cn/v1/mmc/control/conferences/participants?conferenceID=914083136

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

The example uses 'curl -k', which disables TLS certificate validation and trains users or tools to accept insecure HTTPS connections. If copied into real use, this enables man-in-the-middle attacks that can intercept the X-Access-Token and expose meeting attendee data and related API access.

Content

Scanner excerpt · references/ListOnlineConfAttendee.md (reported line 129)May include surrounding context.

CURL命令示例

text
curl -k -i -X GET  -H "X-Access-Token:******"  https://apigw.125339.com.cn/v1/mmc/management/conferences/online/conf-attendee?conf_id=964138987&search_key=wu

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

The curl example uses -k, which disables TLS certificate validation and trains users to bypass HTTPS security checks. If copied into real workflows, this enables man-in-the-middle interception of the access token and returned attendee data, which is especially dangerous here because the endpoint exposes meeting participation records and phone numbers.

Content

Scanner excerpt · references/SearchAttendanceRecordsOfHisMeeting.md (reported line 135)May include surrounding context.

CURL命令示例

text
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://apigw.125339.com.cn/v1/mmc/management/conferences/history/confAttendeeRecord?confUUID=9a0fa6d10a5b11eaae5e191763c22c0e'

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

The example uses curl -k, which disables TLS certificate verification and trains users to bypass transport security checks. In a meeting-management API context carrying access tokens and conference identifiers, this enables man-in-the-middle interception or tampering with authenticated requests, making the skill context more dangerous rather than less.

Content

Scanner excerpt · references/SearchCtlRecordsOfHisMeeting.md (reported line 272)May include surrounding context.

CURL命令示例

text
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://apigw.125339.com.cn/v1/mmc/management/conferences/history/confCtlRecord?confUUID=9a0fa6d10a5b11eaae5e191763c22c0e'

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

The curl example uses -k, which disables TLS certificate verification and trains users to bypass transport security for an authenticated API call carrying an access token. This creates a direct path for man-in-the-middle interception or endpoint spoofing, especially dangerous here because the endpoint returns sensitive meeting history and accepts bearer-style credentials.

Content

Scanner excerpt · references/SearchHisMeetings.md (reported line 275)May include surrounding context.

CURL命令示例

text
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://apigw.125339.com.cn/v1/mmc/management/conferences/history?startDate=1574092800000&endDate=1574179199999'

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

The cURL sample uses -k, which disables TLS certificate validation and permits connections to servers with invalid or attacker-controlled certificates. In an API handling bearer tokens and meeting metadata, this materially increases man-in-the-middle risk, allowing token theft or tampering with responses.

Content

Scanner excerpt · references/SearchMeetings.md (reported line 160)May include surrounding context.

CURL命令示例

text
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' https://apigw.125339.com.cn/v1/mmc/management/conferences

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

The curl example uses -k, which disables TLS certificate validation and teaches consumers to ignore HTTPS authenticity checks. If copied into real use, this can enable man-in-the-middle interception of the access token and recording metadata, especially on hostile or misconfigured networks.

Content

Scanner excerpt · references/SearchRecordings.md (reported line 140)May include surrounding context.

CURL命令示例

text
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://api.meeting.125339.com/v1/mmc/management/record/files?startDate=1574092800000&endDate=1576771199999'

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

The curl example uses '-k', which disables TLS certificate validation and trains integrators to accept man-in-the-middle risk when sending an X-Access-Token to the API. In an authentication-sensitive meeting API, this can expose bearer tokens and meeting query traffic to interception, enabling unauthorized access to historical meeting details and related sensitive data.

Content

Scanner excerpt · references/ShowHisMeetingDetail.md (reported line 172)May include surrounding context.

CURL命令示例

text
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://apigw.125339.com.cn/v1/mmc/management/conferences/history/confDetail?confUUID=9a0fa6d10a5b11eaae5e191763c22c0e'

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

The curl example uses '-k', which disables TLS certificate verification and trains consumers to bypass HTTPS trust checks. In a real integration, this can enable man-in-the-middle interception of sensitive data such as access tokens, join URLs, participant information, and meeting metadata.

Content

Scanner excerpt · references/ShowMeetingDetail.md (reported line 340)May include surrounding context.

CURL命令示例

text
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://apigw.125339.com.cn/v1/mmc/management/conferences/confDetail?conferenceID=914083136'