Skill flagged — suspicious patterns detected

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

Customer Logo Wall Skill

v1.2.0

处理客户表格并生成Logo墙PPT的自动化工具。当用户提到"客户表格"、"公司中文名"、"Logo墙"、"客户logo"或需要处理Excel中的客户数据并生成PPT时使用此技能。

0· 170·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for heavenchenggong/customer-logo-wall.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Customer Logo Wall Skill" (heavenchenggong/customer-logo-wall) from ClawHub.
Skill page: https://clawhub.ai/heavenchenggong/customer-logo-wall
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install customer-logo-wall

ClawHub CLI

Package manager switcher

npx clawhub@latest install customer-logo-wall
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
整体功能(从 Excel 抽取公司名、下载并标准化 logo、做 OCR 校验、生成 PPT)与技能描述一致. 要求 Node/playwright、Python 图像与 OCR 库、系统 Chrome 等也与实现逻辑匹配. 不成比例之处:SKILL.md 强调必须“将中文名写回原始 Excel 并覆盖保存”,这是一个副作用,超过了“生成 PPT”的最小必要行为;应当由用户显式确认或提供备份路径。
!
Instruction Scope
运行说明和脚本会执行网络抓取并写入磁盘(下载 logo 文件、保存 _download_results.json、_verify_results.json、并覆盖原 Excel)。 verify_logos.py 还会通过 AGENT_BROWSER 调用外部程序并执行 JS (subprocess.run([AGENT_BROWSER, 'eval', js])) 来抓取页面数据——这给本地可执行工具较大自主权。技能在若干地方默认/建议使用未在元数据中声明的环境变量(NODE_PATH, NODE_BIN, AGENT_BROWSER),并且脚本会自动重试并替换文件,存在修改用户数据的风险。
Install Mechanism
技能为 instruction-only(没有平台 install spec),但包含多个脚本:Node (playwright) + Python。没有安装步骤自动执行(降低风险),但要使脚本正常工作需要手动配置 Node modules、playwright、Pillow、python-pptx、pytesseract 等依赖;normalize 脚本还会调用系统工具(rsvg-convert / cairosvg / qlmanage)。总体安装机制不危险,但依赖较多且需手动准备。
!
Credentials
registry metadata declares no required env vars or credentials, but SKILL.md and scripts expect/consult several environment values: NODE_PATH, NODE_BIN, AGENT_BROWSER, AGENT_BROWSER_ENGINE. verify_logos.py sets up an SSL context that disables certificate verification (SSL_CTX.verify_mode = ssl.CERT_NONE), which relaxes network security for all urllib requests inside the script. While no API keys or secrets are requested, scripts download arbitrary URLs and will write them to disk — ensure companies JSON is trusted to avoid fetching malicious payloads.
!
Persistence & Privilege
always:false and the skill does not request platform-wide privileges, which is good. However, scripts will overwrite the user's original Excel file (Step 2.5 explicitly mandates inserting a '公司中文名' column and saving over the original). The skill also writes result files into the logos directory and may replace logo files during retries. These persistent file modifications are significant and should be made explicit to users (or optional with backups).
What to consider before installing
What to consider before installing/using: - Backup your Excel files first. The workflow explicitly overwrites the original Excel (inserts a '公司中文名' column and saves), so you can lose the original if you don't keep a copy. - Review and run the scripts in a controlled environment. The tool downloads images from the web and writes them to disk; ensure the companies JSON comes from a trusted source to avoid fetching attacker-controlled content. - Check environment assumptions: the README suggests NODE_PATH, NODE_BIN and AGENT_BROWSER — these are not declared in the skill metadata. If you set AGENT_BROWSER, understand that verify_logos.py will call it with 'open' and 'eval' to execute JS in a browser context. - Note TLS relaxation: verify_logos.py disables SSL certificate verification (SSL_CTX.verify_mode = CERT_NONE) for urllib requests — this makes network fetches susceptible to MITM on untrusted networks. Consider restoring proper verification before use. - Dependencies and external tools: Node + playwright, Python packages (python-pptx, pillow, pytesseract), and optional converters (rsvg-convert, cairosvg, qlmanage) are required. Install these in a virtual environment and test on non-sensitive data first. - Manual review recommended: the automatic verification can accept pure-graphic logos (no OCR text) as 'medium confidence'. If accuracy matters, use the provided preview/HTML review workflow or manually inspect results. - If you want to proceed: run the scripts on a sample subset, confirm they behave as you expect (no unexpected network endpoints, no unwanted file modifications), then run on full dataset. If you prefer safer defaults, modify the code to write outputs to a copy of the input Excel rather than overwriting it and enable SSL verification.

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

latestvk970s12egahmsxkhqp8fs2cwws8514jr
170downloads
0stars
3versions
Updated 1w ago
v1.2.0
MIT-0

Customer Logo Wall — 客户Logo墙生成工具

技能概述

从 Excel 客户列表出发,自动完成:

  1. 读取公司英文名 → 搜索/确认中文名
  2. 按知名度分 Tier 排序
  3. 用百度图片 + Bing 备选自动下载公司 Logo
  4. Logo 格式标准化(JPEG/WEBP/SVG → 真正 PNG,防止 API 报错)
  5. 自动核验 Logo 准确性(无需用户手动校对)
  6. 生成专业 Logo 墙 PPT

工作流程

Step 1:读取 Excel

读取用户提供的 Excel 文件,提取公司英文名列(通常为 "Customer" 列)。同时读取中文名列(若已有)。

Step 2:确定中文名

若 Excel 中已有中文名列,直接使用。若没有,对每家公司进行网络搜索,获取官方中文名。

  • 搜索策略:百度百科、企业官网、香港公司注册处
  • 搜不到的公司保留英文名

Step 2.5:将中文名写回原 Excel

确定中文名后,必须将结果写回用户的原始 Excel 文件,而不是只保存在中间 JSON 中。

操作步骤:

  1. 在原 Excel 的 Customer 列(公司英文名)紧后面插入一列
  2. 新列表头设为"公司中文名"
  3. 按行匹配英文名,填入对应中文全称
  4. 匹配时注意处理标点差异(如单引号 ' vs 撇号 '
  5. 保存覆盖原文件,告知用户

⚠️ 这一步是必须的,用户需要中文名留在原始表格中。

Step 3:Tier 分级排序

按以下标准将公司分为 4 个 Tier:

Tier标准
1全球知名企业:世界500强、行业绝对龙头(如台积电、摩根士丹利、国泰航空)
2行业领先:知名上市公司、区域一线品牌(如海信、三井住友、香港电讯)
3区域知名:有一定规模的上市/知名企业(如联影医疗、太古地产、德勤)
4其他客户:规模较小或知名度较低的企业

Step 4:下载 Logo

使用 scripts/download_logos.py 自动下载 Logo。

关键配置(根据你的环境修改):

  • 浏览器路径:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome(或系统 Chrome 路径)
  • Node路径:<你的Node路径>/bin/node
  • Node模块:<你的Node路径>/workspace/node_modules
  • playwright 需用上述 Node 环境执行

💡 快速获取路径:which nodenpm root -g

搜索策略(按优先级):

  1. 百度图片搜索:{公司中文名} {英文名} logo
  2. 若百度失败,尝试访问公司官网抓取 header 中的 logo img
  3. 若仍失败,用 Bing 图片搜索(英文关键词,适合国际公司)

Step 4.5:Logo 格式标准化(新增 v1.2.0)

使用 scripts/normalize_logos.py 将所有下载的 Logo 统一为真正的 PNG 格式。

解决的问题

  • 搜索引擎返回的图片实际是 JPEG/WEBP/SVG,但扩展名为 .png
  • SVG 伪装为 PNG → Anthropic API 报错 Could not process image
  • WEBP 格式在部分系统和 PowerPoint 中不支持

转换策略(自动检测文件头):

实际格式转换方式
JPEG/WEBPPillow 转 RGBA → 保存 PNG
SVGrsvg-convert → cairosvg → qlmanage(macOS)按优先级尝试
已是 PNG跳过,仅验证完整性

⚠️ build_ppt.py 也内置了运行时格式修复(ensure_real_png),但建议先跑一遍标准化脚本。

Step 5:自动核验 Logo 准确性

本步骤无需用户手动校对,使用 scripts/verify_logos.py 自动核验:

  1. OCR 文字识别:用 pytesseract 提取图片中的文字,检查是否包含公司名称关键词
  2. 图片质量检查:过滤纯色图、截图页面(非纯 logo)、文件过小的图
  3. 相似度评分:对识别出文字与公司名的匹配度打分(0-1),低于阈值(0.3)判定为错误
  4. 不确定的自动重搜:核验失败的公司自动换用其他搜索关键词重试(最多 3 次)

详见 references/logo-verification.md

Step 6:生成 PPT

使用 scripts/build_ppt.py 生成 Logo 墙 PPT。

PPT 设计规范(详见 references/ppt-design.md):

  • 幻灯片尺寸:10 × 5.625 英寸(16:9)
  • 配色:深蓝主色 #1E2761,浅背景 #F5F7FA
  • 每页最多 6 个公司(2列3行)
  • 卡片结构:左侧 Tier 色条 + Logo 区(1×1英寸)+ 中文名 + 英文名

快速运行

# 设置环境变量(根据你的实际路径修改)
export NODE_PATH="<你的Node模块路径>"
export NODE_BIN="<你的Node可执行文件路径>"
export AGENT_BROWSER="<你的agent-browser路径>"

# 1. 下载 Logo(用 Node + playwright)
$NODE_BIN scripts/download_logos.js --output <输出目录> --companies <公司列表JSON>

# 2. Logo 格式标准化(确保全部是真正的 PNG)
python3 scripts/normalize_logos.py --logos-dir <logo目录> --companies <公司列表JSON>

# 3. 核验 Logo
python3 scripts/verify_logos.py --logos-dir <logo目录> --companies <公司列表JSON>

# 4. 生成 PPT
python3 scripts/build_ppt.py --logos-dir <logo目录> --companies <公司列表JSON> --output <输出路径>

脚本说明

脚本作用
scripts/download_logos.js用 playwright + 百度/Bing 图片批量下载 Logo(Node.js)
scripts/normalize_logos.pyLogo 格式标准化:JPEG/WEBP/SVG → 真正 PNG(Python)
scripts/verify_logos.py自动核验 Logo 准确性(Python)
scripts/build_ppt.py生成 Logo 墙 PPT,内置格式修复(Python + python-pptx)

参考文档

  • references/logo-verification.md:Logo 自动核验的详细逻辑与阈值说明
  • references/ppt-design.md:PPT 设计规范与颜色定义
  • references/logo-format-issues.md:Logo 格式常见问题与解决方案

依赖环境

  • Python 3.9+:python-pptx, pillow, pytesseract(可选,用于 OCR 核验)
  • Node 22.12.0(管理版本路径见上)
  • playwright(安装在 Node 工作区)
  • 系统 Chrome:/Applications/Google Chrome.app(供 playwright 使用)

Comments

Loading comments...