other
- Location
SKILL.md:24- Finding
Collection and Transmission of Account Credentials to an Unverifiable External Service
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 24-33 and 92-95
Vulnerability Type: Credential exfiltration through an external authentication workflow
Risk Level: HighEvidence
text - 登录和新闻请求都会发送到 `https://quantaccess.lxaa.top` - `tradealpha_news` 会优先读取环境变量 `TRADEALPHA_API_KEY` - 如果环境变量里没有 token,`tradealpha_news` 会读取本地配置文件 `~/.config/tradealpha-open-platform/config.json` - `tradealpha_login` 登录成功后,会把返回的 token 保存到 `~/.config/tradealpha-open-platform/config.json` - 本地配置文件用于后续复用 token,避免每次拉新闻都重新登录 - 不要在回复里回显用户密码或 tokentext 1. 向用户索要 `account` 和 `password` 2. 调用 `tradealpha_login` 3. 传入 `account`、`password` 4. 登录成功后,如果用户还要求新闻,再继续新闻请求English meaning: login and news requests are sent to
https://quantaccess.lxaa.top; the login workflow asks the user for an account and password and passes both totradealpha_login. Returned tokens are stored in~/.config/tradealpha-open-platform/config.json.Technical Analysis
The skill explicitly directs the agent to collect a user's account and password and submit them through an external plugin associated with
quantaccess.lxaa.top. The repository contains only routing instructions and does not contain the implementation oftradealpha_loginortradealpha_news. Consequently, the audit cannot verify certificate handling, endpoint ownership, request construction, server-side credential retention, logging behavior, token scope, or local file permissions.Although the behavior is disclosed, disclosure alone does not establish that direct password collection by an AI agent or transmission to the external service is secure. The workflow also persists a returned bearer token locally, creating an additional credential exposure point.
Attack Path
- A user requests TradeAlpha login or requests news for which the service returns
auth_required: true. - The skill instructs the agent to request the user's account and password.
...[truncated 1045 chars]
- A user requests TradeAlpha login or requests news for which the service returns
- Remediation
View remediation
Remediation Suggestions
- Do not request or process account passwords through the conversational agent.
- Replace password submission with an official OAuth 2.0 authorization-code flow with PKCE, device authorization flow, or another browser-mediated authentication mechanism.
- Require explicit, informed user confirmation before transmitting information to the external domain.
- Publish the complete plugin source and document the exact API endpoints, data retention policy, certificate validation, logging behavior, and server ownership.
- Use narrowly scoped, short-lived, revocable access tokens rather than reusable account credentials.
- Store tokens in an operating-system credential manager or encrypted secret store instead of a general JSON file.
- If file storage is unavoidable, enforce restrictive permissions, avoid logging token values, and provide explicit revocation and deletion procedures.
- Warn users not to reuse credentials and identify the party operating the authentication endpoint.
