Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

腾讯云COS存储

腾讯云对象存储(COS)和数据万象(CI)集成技能。当用户需要上传、下载、管理云存储文件, 或需要进行图片处理(质量评估、超分辨率、抠图、二维码识别、水印)、智能图片搜索、 文档转PDF、视频智能封面生成等操作时使用此技能。

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 1.4k · 0 current installs · 0 all-time installs
byShawnmZhang@ShawnMinh
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The skill's name/description (Tencent COS + CI integration) matches the code and packages (cos-mcp, cos-nodejs-sdk-v5). However the registry metadata claims no required environment variables or primary credential, while the SKILL.md and scripts clearly require Tencent Cloud credentials (SecretId/SecretKey/Region/Bucket). This omission is an incoherence between declared requirements and actual needs.
!
Instruction Scope
Runtime instructions and setup.sh ask the user for SecretId/SecretKey and then write them into shell rc files (~/.bashrc or ~/.zshrc), create/modify ~/.mcporter/mcporter.json, install packages, and configure coscmd. These actions go beyond purely ephemeral runtime use (they persist secrets and modify user configuration). The instructions also perform automatic installs/edits rather than only guiding a manual, inspectable setup.
Install Mechanism
Install uses npm packages (cos-mcp, cos-nodejs-sdk-v5, mcporter) and optionally pip install coscmd. No downloads from arbitrary URLs or extract-from-URL steps are present. Using npm/pip is a moderate-risk but expected mechanism for a Node/Python-based COS client.
!
Credentials
The skill legitimately needs Tencent Cloud credentials for COS operations, but the registry metadata does not declare required env vars or a primary credential. The setup script writes those credentials into shell rc files in plaintext and exports them, increasing risk of accidental exfiltration or long-lived credential exposure. Requesting dataset/domain/service-domain options is reasonable for optional features.
!
Persistence & Privilege
The installer modifies persistent user files (~/.bashrc or ~/.zshrc), creates/updates ~/.mcporter/mcporter.json and may create/modify ~/.cos.conf; it can perform global npm installs. While these changes are explainable for this skill, they are elevated privileges for a skill and persist secrets in user config. always:false and agent-autonomy flags are normal and not themselves flagged.
What to consider before installing
This skill appears to implement Tencent COS functionality, but be aware of the following before installing: - It requires your Tencent Cloud API keys (SecretId and SecretKey) plus Region and Bucket; the registry metadata did not declare these — the skill will prompt for them at setup. - The provided setup script will persist your credentials in plaintext into your shell RC (~/.bashrc or ~/.zshrc) and export them into the session. If you run the script, those secrets will remain on disk and in future shells. - The script will install/modify tools globally (npm -g mcporter) and write ~/.mcporter/mcporter.json and may create ~/.cos.conf via coscmd. These are user-level persistent changes. - Recommended precautions: - Do NOT paste credentials into chat. Prefer running setup locally in a shell you control and inspect the script first. - Create least-privilege or temporary API keys limited to the specific bucket/actions needed rather than full account keys. - Backup your shell RC before running setup.sh so you can remove the exported variables later, or manually set environment variables for the session instead of persisting to rc files. - Inspect package provenance (mcporter, cos-mcp) on npm/GitHub and consider installing packages yourself rather than letting the script do global installs. - If you need stronger isolation, run the setup and usage inside an isolated environment (container or VM) and avoid persisting keys to your primary user profile. Given the metadata omission and the persistence of plaintext credentials, proceed only after you review the scripts and adopt the precautions above.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.6
Download zip
latestvk97d23trpt71ac94qsyb4p45bn82ctq7

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

☁️ Clawdis

Install

Install mcporter (MCP CLI)
Bins: mcporter
npm i -g mcporter
Install cos-mcp (COS MCP Server)
Bins: cos-mcp
npm i -g cos-mcp
Install COS Node.js SDKnpm i -g cos-nodejs-sdk-v5

SKILL.md

腾讯云 COS 技能

通过 cos-mcp MCP 工具 + Node.js SDK 脚本 + COSCMD 管理腾讯云对象存储和数据万象。

首次使用 — 自动设置

当用户首次要求操作 COS 时,按以下流程操作:

步骤 1:检查当前状态

{baseDir}/scripts/setup.sh --check-only

如果输出显示一切 OK(cos-mcp 已安装、凭证已配置),跳到「执行策略」。

步骤 2:如果未配置,引导用户提供凭证

告诉用户:

我需要你的腾讯云凭证来连接 COS 存储服务。请提供:

  1. SecretId — 腾讯云 API 密钥 ID
  2. SecretKey — 腾讯云 API 密钥 Key
  3. Region — 存储桶区域(如 ap-guangzhou)
  4. Bucket — 存储桶名称(格式 name-appid,如 mybucket-1250000000)
  5. DatasetName(可选) — 数据万象数据集名称(仅智能搜索需要)
  6. Domain(可选) — 自定义域名,用于替换默认的 COS 访问域名(如 cdn.example.com)
  7. ServiceDomain(可选) — 自定义服务域名,用于自定义 COS API 请求域名
  8. Protocol(可选) — 协议,如 https 或 http

你可以在 腾讯云控制台 > 访问管理 > API密钥管理 获取密钥, 在 COS 控制台 查看存储桶信息。

步骤 3:用户提供凭证后,运行自动设置

{baseDir}/scripts/setup.sh --secret-id "<SecretId>" --secret-key "<SecretKey>" --region "<Region>" --bucket "<Bucket>"

如有 DatasetName:

{baseDir}/scripts/setup.sh --secret-id "<SecretId>" --secret-key "<SecretKey>" --region "<Region>" --bucket "<Bucket>" --dataset "<DatasetName>"

如需自定义域名(可选参数按需添加):

{baseDir}/scripts/setup.sh --secret-id "<SecretId>" --secret-key "<SecretKey>" --region "<Region>" --bucket "<Bucket>" --domain "<Domain>" --service-domain "<ServiceDomain>" --protocol "<Protocol>"

脚本会自动:

  • 检查并安装 mcporter(MCP 命令行工具)
  • 检查并安装 cos-mcp 和 cos-nodejs-sdk-v5
  • 创建/更新 ~/.mcporter/mcporter.json,写入 cos-mcp 服务器配置
  • 将凭证写入 shell 配置文件(~/.zshrc~/.bashrc),重启后仍可用
  • 配置 coscmd(如有 Python 环境)
  • 验证 COS 连接

设置完成后即可开始使用。

执行策略

三种方式按优先级降级,确保操作始终可完成:

  1. 方式一:cos-mcp MCP 工具(优先) — 功能最全,支持存储 + 图片处理 + 智能搜索 + 文档媒体处理
  2. 方式二:Node.js SDK 脚本 — 通过 scripts/cos_node.mjs 执行存储操作
  3. 方式三:COSCMD 命令行 — 通过 shell 命令执行存储操作
mcporter + cos-mcp 可用?(which mcporter && 配置存在)
  ├─ 是 → 使用方式一 mcporter 调用(全部功能)
  └─ 否 → cos-mcp MCP 工具可直接调用?(getCosConfig 返回结果)
              ├─ 是 → 使用方式一直接调用(全部功能)
              └─ 否 → Node.js + cos-nodejs-sdk-v5 可用?
                        ├─ 是 → 使用方式二(存储操作)
                        └─ 否 → coscmd 可用?(which coscmd)
                                  ├─ 是 → 使用方式三(存储操作)
                                  └─ 否 → 运行 setup.sh 安装

判断方式一(mcporter)which mcportercat ~/.mcporter/mcporter.json | grep cos-mcp 有输出。 判断方式一(直接):尝试调用 getCosConfig MCP 工具,若返回结果则可用。 判断方式二node -e "require('cos-nodejs-sdk-v5')" 成功则可用。 判断方式三which coscmd 有输出则可用。


方式一:cos-mcp MCP 工具(优先)

GitHub: https://github.com/Tencent/cos-mcp

MCP 配置模板见 references/config_template.json

调用格式

通过 mcporter 命令行调用 cos-mcp MCP 工具:

mcporter call cos-mcp.<tool_name> --config ~/.mcporter/mcporter.json --output json [--args '<JSON>']

列出所有可用工具:

mcporter list cos-mcp --config ~/.mcporter/mcporter.json --schema

判断 mcporter 是否可用which mcporter~/.mcporter/mcporter.json 包含 cos-mcp 配置。 如果 mcporter 不可用,可回退到客户端直接调用 MCP 工具(getCosConfig 等)。

工具总览

类别说明
存储操作上传、下载、列出、获取签名URL
图片处理质量评估、超分辨率、抠图、二维码识别、水印
智能搜索以图搜图、文本搜图(需预建数据集)
文档媒体文档转PDF、视频智能封面(异步任务)

常用操作

以下示例同时展示两种调用格式。mcporter 格式省略公共前缀 mcporter call cos-mcp.--config ~/.mcporter/mcporter.json --output json。 完整 mcporter 命令:mcporter call cos-mcp.<tool> --config ~/.mcporter/mcporter.json --output json --args '<JSON>'

存储

# 上传本地文件(mcporter 格式)
mcporter call cos-mcp.putObject --config ~/.mcporter/mcporter.json --output json --args '{"filePath":"/path/to/file.jpg","targetDir":"images"}'

# 上传本地文件(客户端直接调用格式)
putObject  filePath="/path/to/file.jpg"  targetDir="images"

# 上传字符串内容
putString  content="hello world"  fileName="test.txt"  targetDir="docs"

# 通过 URL 上传
putObjectSourceUrl  sourceUrl="https://example.com/image.png"  targetDir="images"

# 列出文件
getBucket  Prefix="images/"

# 下载文件
getObject  objectKey="images/photo.jpg"

# 获取签名下载链接
getObjectUrl  objectKey="images/photo.jpg"

图片处理

# 图片质量评估
assessQuality  objectKey="images/photo.jpg"

# AI 超分辨率
aiSuperResolution  objectKey="images/photo.jpg"

# AI 智能抠图
aiPicMatting  objectKey="images/photo.jpg"

# 二维码识别
aiQrcode  objectKey="images/qrcode.jpg"

# 添加文字水印
waterMarkFont  objectKey="images/photo.jpg"  text="版权所有"

# 获取图片元信息
imageInfo  objectKey="images/photo.jpg"

智能搜索(需预建数据集)

# 以图搜图
imageSearchPic  uri="https://example.com/query.jpg"

# 文本搜图
imageSearchText  text="蓝天白云"

文档与媒体处理(异步任务)

# 文档转 PDF
createDocToPdfJob  objectKey="docs/report.docx"
# 查询任务结果
describeDocProcessJob  jobId="<jobId>"

# 视频智能封面
createMediaSmartCoverJob  objectKey="videos/demo.mp4"
# 查询任务结果
describeMediaJob  jobId="<jobId>"

工具详细参数定义见 references/api_reference.md


方式二:Node.js SDK 脚本

官方文档: https://www.tencentcloud.com/zh/document/product/436/8629

当 cos-mcp 不可用时,通过 scripts/cos_node.mjs 执行存储操作。凭证从环境变量读取。

支持的环境变量:

  • TENCENT_COS_SECRET_ID / TENCENT_COS_SECRET_KEY / TENCENT_COS_REGION / TENCENT_COS_BUCKET(必需)
  • TENCENT_COS_DOMAIN / TENCENT_COS_SERVICE_DOMAIN / TENCENT_COS_PROTOCOL(可选,自定义域名)

常用命令

以下省略 node {baseDir}/scripts/cos_node.mjs 前缀。完整格式:node {baseDir}/scripts/cos_node.mjs <action> [options]

# 上传文件
upload --file /path/to/file.jpg --key remote/path/file.jpg

# 上传字符串
put-string --content "文本内容" --key remote/file.txt --content-type "text/plain"

# 下载文件
download --key remote/path/file.jpg --output /path/to/save/file.jpg

# 列出文件
list --prefix "images/"

# 获取签名 URL
sign-url --key remote/path/file.jpg --expires 3600

# 查看文件信息
head --key remote/path/file.jpg

# 删除文件
delete --key remote/path/file.jpg

所有命令输出 JSON 格式,success: true 表示成功,退出码 0。

限制

仅支持存储操作,不支持图片处理、智能搜索、文档转换。


方式三:COSCMD 命令行

官方文档: https://www.tencentcloud.com/zh/document/product/436/10976

当方式一和方式二均不可用时使用。配置持久化在 ~/.cos.conf

自定义域名支持(有限):

  • ServiceDomain — 对应 coscmd 的 -e ENDPOINT 参数,设置后 Region 失效
  • Protocol — 若为 http,对应 coscmd 的 --do-not-use-ssl 参数
  • Domain — COSCMD 不支持 CDN 自定义域名

常用命令

# 上传
coscmd upload /path/to/file.jpg remote/path/file.jpg
coscmd upload -r /path/to/folder/ remote/folder/

# 下载
coscmd download remote/path/file.jpg /path/to/save/file.jpg
coscmd download -r remote/folder/ /path/to/save/

# 列出文件
coscmd list images/

# 删除
coscmd delete remote/path/file.jpg
coscmd delete -r remote/folder/ -f

# 签名 URL
coscmd signurl remote/path/file.jpg -t 3600

# 文件信息
coscmd info remote/path/file.jpg

# 复制/移动
coscmd copy <BucketName-APPID>.cos.<Region>.myqcloud.com/source.jpg dest.jpg
coscmd move <BucketName-APPID>.cos.<Region>.myqcloud.com/source.jpg dest.jpg

限制

仅支持存储操作,不支持图片处理、智能搜索、文档转换。


功能对照表

功能方式一 cos-mcp方式二 Node SDK方式三 COSCMD
上传文件
上传字符串/Base64
通过 URL 上传
下载文件
列出文件
获取签名 URL
删除文件
查看文件信息
递归上传/下载目录
图片处理(CI)
智能搜索
文档转 PDF
视频智能封面

使用规范

  1. 首次使用先运行 {baseDir}/scripts/setup.sh --check-only 检查环境
  2. mcporter 调用必须带 --config ~/.mcporter/mcporter.json--output json
  3. 凭证不明文展示:引导用户自行通过 setup.sh 或编辑配置文件设置
  4. 所有文件路径objectKey/cospath/--key)为存储桶内的相对路径,如 images/photo.jpg
  5. 图片处理/智能搜索/文档转换仅方式一可用,不可用时明确告知用户
  6. 异步任务(文档转换、视频封面)需通过 jobId 轮询结果
  7. 上传后主动获取链接:上传完成后调用 getObjectUrlsign-url 返回访问链接
  8. 错误处理:调用失败时先用 setup.sh --check-only 诊断环境问题
  9. 方式二脚本源码scripts/cos_node.mjs
  10. MCP 工具详细参数references/api_reference.md
  11. MCP 配置模板references/config_template.json

Files

5 total
Select a file
Select a file to preview.

Comments

Loading comments…