T08 · Insecure Dependencies
- Location
README.md:19- Finding
Unpinned Third-Party Package Execution During Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is coherent for 2Ryun, but it gives an agent broad authority to modify, delete, upload, and publish user content without enough user-control guidance.
Review before installing. Use a least-privilege, preferably read-only API key for search tasks; do not paste bearer keys into chat; require explicit confirmation before any delete, update, upload, share, extraction, or publish action; and avoid uploading sensitive files because generated pages and uploaded assets may be accessible by URL.
README.md:19Unpinned Third-Party Package Execution During Installation
SKILL.md:289Bearer API Key Requested Through the Conversational Channel
2ryun-api-spec.md:21Default API-Key Guidance Violates Least Privilege
SKILL.md:47Conflicting Automatic-Extraction Field Names May Defeat Privacy Controls
A raw delete-by-ID endpoint is dangerous in an agent context because a model can be induced to target the wrong document ID or act on ambiguous instructions, causing irreversible data loss. The skill's document-import and knowledge-base role makes such destructive capability higher risk unless tightly constrained.
DELETE /restapi/documents/delete/:id
返回
Unsharing by arbitrary document ID and user ID can be abused if an agent is tricked into revoking access for the wrong collaborator. While less severe than deleting content, it can disrupt workflows and remove legitimate access without clear user intent.
DELETE /restapi/documents/share/:id/:userId
取消对特定用户的文档分享。
Deleting knowledge-base entries by ID enables irreversible removal of structured knowledge that may have been derived from many documents. In an agent-driven workflow, prompt injection or entity-resolution mistakes can easily turn this into unintended destructive action.
DELETE /restapi/wiki/entries/:id
Deleting generated pages by ID can remove published or draft content if an agent supplies the wrong identifier. This is especially risky because generated pages may be externally shared, making accidental deletion user-visible immediately.
DELETE /restapi/gen-html/generations/:id
A delete-note endpoint allows permanent removal of user-authored notes based solely on an ID parameter. In agent systems, free-form intent interpretation makes parameter mistakes and prompt-induced destructive actions plausible.
DELETE /restapi/note/:id
返回
Attachment deletion removes physical files and thumbnails, but the documentation provides no explicit user warning or confirmation requirement. Because attachments may be referenced by generated pages or documents and are publicly addressable by URL, deletion can cause both data loss and broken published content.
Attachment deletion is high risk because it destroys stored files and thumbnails and may break documents or published pages that reference those assets. An attacker or misled agent only needs a file ID to trigger impactful loss if safeguards are weak.
DELETE /restapi/attachments/:id
删除附件(同时删除物理文件与缩略图),并释放存储配额。
The skill exposes destructive document-deletion operations without any guardrails such as confirmation, identifier validation, or ownership checks in the skill guidance. In an agent setting, ambiguous references, prompt injection, or mistaken entity resolution could cause unintended deletion of user documents.
### 场景 1.3:更新 / 删除
- `PUT /restapi/documents/update/:id -d '{"title":"...","content":"..."}'`
- `DELETE /restapi/documents/delete/:id`
---
The note deletion endpoint is another destructive action presented without confirmation or anti-misuse safeguards. Because notes are often informal and numerous, an agent could easily delete the wrong item if prompted ambiguously or manipulated into selecting an unintended ID.
- `GET /restapi/note?page=1&pageSize=20` — 笔记列表
- `GET /restapi/note/:id` — 获取单篇
- `PUT /restapi/note/update/:id -d '{"title":"...","content":"..."}'` — 更新
- `DELETE /restapi/note/delete/:id` — 删除
**笔记 vs 文档**:笔记**不进入知识库**,没有 `wikiAutoExtract` 设置。适合临时内容、随手记、灵感备忘。需要长期保存并进入知识库的内容用文档。
The skill states that uploaded attachments return a directly accessible URL and explicitly says no API key is required, but it does not require a user-facing warning or confirmation before upload. This creates a real risk of unintentionally exposing sensitive files publicly if the agent uploads private images, videos, or documents on the user's behalf.
Attachment deletion is a destructive capability affecting user files, yet the skill provides no instruction to confirm intent or verify the file identity before deletion. In combination with the public-upload feature, mistakes here could either remove needed assets from published pages or be abused to disrupt user content.
- `GET /restapi/attachments?type=image` — 列表(`type`: image/video/audio/document,支持分页、关键词、文件夹)
- `GET /restapi/attachments/file/:id` — 下载文件
- `DELETE /restapi/attachments/:id` — 删除
支持格式:图片(png/jpg/jpeg/gif/svg/webp)、视频(mp4/webm)、音频、文档等,单文件上限 20MB。
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求示例
curl -X POST https://www.2ryun.com/restapi/documents/create \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求示例
curl -X PUT https://www.2ryun.com/restapi/documents/update/6a69810fef276a17f2fb089f \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "更新后的标题", "content": "更新后的内容", "tags": ["新标签"]}'
The spec exposes document deletion as a simple endpoint without emphasizing that the action is irreversible or requiring explicit confirmation. In an agent setting, ambiguous user instructions or prompt injection could lead to accidental permanent deletion of user content.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求示例
curl -X POST https://www.2ryun.com/restapi/documents/batch \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"ids": ["6a69810fef276a17f2fb089f", "6a69810fef276a17f2fb08a0"]}'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求示例
curl -X POST https://www.2ryun.com/restapi/wiki/extract \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求示例
curl -X POST https://www.2ryun.com/restapi/wiki/extract-batch \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求示例
curl -X POST https://www.2ryun.com/restapi/gen-html/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求示例
curl -X POST https://www.2ryun.com/restapi/gen-html/generations/xxx/chat \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"feedback": "请把页面标题颜色改为深蓝色,字号增大到 32px"}'
The publishing flow makes content publicly accessible without highlighting the privacy consequences of exposing document-derived content to anyone with the URL. In this skill context, users may upload internal documents for knowledge extraction, making silent publication especially risky.
The documented API surface extends beyond the skill's stated purpose of document import, knowledge-base construction, search, page generation, and publishing. Exposing note-taking and attachment-management capabilities gives an agent unnecessary access to unrelated user data and destructive operations, increasing the blast radius if the skill is misused or prompted into acting outside scope.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求示例
curl -X POST https://www.2ryun.com/restapi/note/create \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "灵感备忘", "content": "想到一个好点子..."}'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求示例
curl -X PUT https://www.2ryun.com/restapi/note/6a69810fef276a17f2fb0900 \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "更新后的备忘", "content": "补充了更多细节"}'
The note deletion endpoint is documented without an explicit warning that user-authored content will be removed. In an agent workflow, that omission raises the risk of accidental data loss from mistaken intent interpretation or malicious prompt steering.
The README advertises create, update, delete, import, and publish-capable operations without prominently warning that these actions can alter or remove user data. In the context of a knowledge/content platform with automatic knowledge extraction and website publication, lack of explicit warnings and confirmation expectations makes accidental destructive or privacy-impacting actions more likely.