Skill flagged — suspicious patterns detected

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

AI SkillHub

v2.1.0

OpenClaw AI SkillHub 核心。支持两种触发方式:①「!skill URL」自动模式,AI 自动归纳关键词和分类;②「!skill 关键词 URL」手动模式,用户指定关键词。提取内容 → 生成原始内容.md + SKILL.md → 推送 GitHub。

0· 215·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 eeyan2025-art/ai-skillhub.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "AI SkillHub" (eeyan2025-art/ai-skillhub) from ClawHub.
Skill page: https://clawhub.ai/eeyan2025-art/ai-skillhub
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 ai-skillhub

ClawHub CLI

Package manager switcher

npx clawhub@latest install ai-skillhub
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The skill's description (content extraction → generate files → push to GitHub) matches the high-level flow in SKILL.md, but the recipe requires local scripts (~/.openclaw/scripts/yt_transcript.py, wx_extract.py), a cookies file (~/.openclaw/cookies/bilibili.txt), and GitHub credentials read from ~/.openclaw/.env. None of these required files/credentials are declared in the registry metadata. Requiring arbitrary local scripts and an undeclared GitHub token is disproportionate to the stated metadata and should have been declared.
!
Instruction Scope
The instructions tell the agent to execute local scripts (e.g., ~/.openclaw/scripts/yt_transcript.py, wx_extract.py), run system commands (yt_dlp, whisper invocations), read files in the user's home (~/.openclaw/.env, ~/.openclaw/cookies/*), write to /tmp, and embed/consume a GitHub token to clone/push. Executing arbitrary user-local scripts and reading shell-visible .env files broadens scope well beyond content extraction and can lead to execution of arbitrary code or exposure of unrelated secrets.
Install Mechanism
No install spec (instruction-only), which is lower risk from third-party downloads. However, the skill delegates work to local scripts in ~/.openclaw/scripts and tools (yt-dlp, whisper) that may not be present and could be arbitrarily implemented by the user or a compromised process. The lack of an install manifest hides these implicit dependencies and their security implications.
!
Credentials
Although the registry lists no required env vars, the runtime steps explicitly read GITHUB_TOKEN, GITHUB_REPO, and GITHUB_BRANCH from ~/.openclaw/.env and may read cookies from ~/.openclaw/cookies/bilibili.txt. Requiring access to a GitHub token and arbitrary cookie files is sensitive and should have been declared; pulling credentials by grepping a local .env file is a disproportionate and under-specified request for this skill.
Persistence & Privilege
The skill is not marked always:true and does not request persistent installation. Autonomous model invocation is permitted (platform default). The concerning part is not persistence but that it executes local scripts and reads files in the user's home on each run—this increases runtime privilege but does not modify agent configuration or other skills.
What to consider before installing
This skill will execute code and read secrets from your home directory (e.g., ~/.openclaw/scripts/* and ~/.openclaw/.env) even though those credentials are not declared in the registry metadata. Before installing or enabling: 1) Inspect any local scripts the skill calls (~/.openclaw/scripts/yt_transcript.py, wx_extract.py) — they will be executed with your account privileges. 2) Don't store broad secrets in ~/.openclaw/.env; create a dedicated GitHub token with minimal scopes (repo create/write only for the single repo) if you must allow pushes. 3) Consider running the skill in an isolated/sandbox account or VM so local scripts and .env reads cannot expose unrelated secrets. 4) If you don't trust those local scripts or the source of this skill, decline installation; prefer a version that declares required env vars (GITHUB_TOKEN, GITHUB_REPO) and documents all local dependencies. 5) If you proceed, restrict the GitHub token scope, review cookie files, and disable autonomous invocation or require explicit user confirmation for push actions.

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

bilibilivk97d9j5qz6c0a9ehqd63sdj57984vq2mknowledgevk97d9j5qz6c0a9ehqd63sdj57984vq2mlatestvk97d9j5qz6c0a9ehqd63sdj57984vq2mwechatvk97d9j5qz6c0a9ehqd63sdj57984vq2mwhispervk97d9j5qz6c0a9ehqd63sdj57984vq2myoutubevk97d9j5qz6c0a9ehqd63sdj57984vq2m
215downloads
0stars
16versions
Updated 1w ago
v2.1.0
MIT-0

AI SkillHub — 全自动知识策展系统

命令格式

!skill <URL>              ← 自动模式,AI 自动归纳关键词和分类
!skill <关键词> <URL>     ← 手动模式,用户指定关键词

⚡ 第零步:立即回复用户(不得跳过)

收到命令的第一件事是回复:

✅ 收到!正在处理「{URL}」,请稍等...

然后才开始执行下面的步骤。


🗺️ 平台识别 → 执行卡速查表

先看 URL,匹配平台,直接跳到对应执行卡,不要阅读其他部分。

URL 特征平台执行卡
youtube.comyoutu.beYouTube→ [执行卡 A]
bilibili.comB站→ [执行卡 B]
mp.weixin.qq.com微信公众号→ [执行卡 C]
douyin.comv.douyin.com抖音→ [执行卡 D]
其他所有网址通用网页→ [执行卡 E]

[执行卡 A] YouTube

A1. 先跑字幕脚本(必须第一步,不得绕过)

python3 ~/.openclaw/scripts/yt_transcript.py "{url}"

结果判断:

输出包含 "transcript" 字段 → 提取成功,将 transcript 内容作为正文,进入 [Step 4 归类]

输出包含 "error" 字段 → 字幕不可用,进入 A2


A2. 字幕失败 → 通知用户运行本地流水线

告知用户:

⚠️ 该视频没有字幕,需要在你的 Windows 本地下载音频后转写。

请在你的电脑上打开 PowerShell,运行:

powershell -ExecutionPolicy Bypass -File "C:\Users\admin\Documents\trae_projects\vps skill\yt_local_pipeline.ps1" "{url}" tiny

运行完成后,会在当前目录生成 yt_transcript_XXXXXX.txt 文件。
请把文件内容粘贴回来,我继续处理。

收到用户粘贴的内容后,将其作为正文,进入 [Step 4 归类]。


[执行卡 B] B站

B1. 检查 cookies 并下载音频

BILI_COOKIES="$HOME/.openclaw/cookies/bilibili.txt"
if [ -f "$BILI_COOKIES" ]; then
  COOKIES_ARG="--cookies $BILI_COOKIES"
else
  COOKIES_ARG=""
fi

python3 -m yt_dlp -x --audio-format mp3 --audio-quality 5 \
  $COOKIES_ARG \
  -o /tmp/content_audio.mp3 \
  "{url}" 2>&1

结果判断:

下载成功 → 进入 B2

下载失败且 cookies 不存在 → 告知用户:

❌ B站下载失败:需要登录 cookies。
cookies 文件应在:~/.openclaw/cookies/bilibili.txt
请联系管理员重新导出 cookies 后重试。

B2. Whisper 转写

python3 -c "
import whisper
model = whisper.load_model('tiny')
result = model.transcribe('/tmp/content_audio.mp3', language='zh')
with open('/tmp/原始内容.txt', 'w', encoding='utf-8') as f:
    f.write(result['text'])
print('转写完成,字数:', len(result['text']))
"

模型选择:默认 tiny。用户明确说「用 small」「用 medium」时才替换。

转写完成后,将 /tmp/原始内容.txt 内容作为正文,进入 [Step 4 归类]。


[执行卡 C] 微信公众号

C1. 第一步:必须先跑 wx_extract.py(不得跳过,不得用其他工具替代)

python3 ~/.openclaw/scripts/wx_extract.py "{url}"

结果判断:

输出 JSON 包含 "content" 字段且无 "error" 字段 → 提取成功,将 content 内容作为正文,进入 [Step 4 归类]

输出包含 "error": "blocked" 字段 → 进入 C2


C2. 第二步:extract_content_from_websites 浏览器模式

extract_content_from_websites(
  url="{url}",
  mode="browser_only",
  prompt="提取微信公众号文章完整正文,包括标题和所有段落"
)

✅ 成功 → 将结果作为正文,进入 [Step 4 归类]

❌ 失败 → 进入 C3


C3. 第三步:搜索引擎缓存

使用 batch_web_search 搜索:

  1. "{文章标题}" 全文
  2. "{url中的短ID}" site:weixin.sogou.com

✅ 找到完整内容 → 使用,注明「内容来自搜索缓存」,进入 [Step 4 归类]

❌ 未找到 → 进入 C4


C4. 最终兜底:请用户提供

⚠️ 该微信文章受谷歌云 IP 限制,自动抓取失败。
请在微信中打开文章,复制全文后粘贴给我,我继续处理。

[执行卡 D] 抖音

直接告知用户,不要尝试任何下载:

❌ 抖音视频无法处理。
原因:当前服务器(美国 Google Cloud IP)被抖音 API 封锁,无论是否有 cookies 均无效。
建议:若该内容同时发布在 B站或 YouTube,请提供对应链接。

[执行卡 E] 通用网页(知乎 / 小红书 / 其他)

E1. extract_content_from_websites

extract_content_from_websites(
  url="{url}",
  mode="browser_only",
  prompt="提取这个页面的完整正文内容,包括标题、所有段落,不要省略任何内容"
)

✅ 成功 → 进入 [Step 4 归类]

❌ 失败 → 进入 E2


E2. 搜索引擎兜底

batch_web_search("{页面标题} 全文")

✅ 找到 → 进入 [Step 4 归类]

❌ 找不到 → 告知用户无法提取,请求直接粘贴内容


[Step 4] 自动归类(仅自动模式)

手动模式(用户提供了关键词)跳过此步。

llm-task 分析内容,确定 keywordcategory

{
  "prompt": "你是一个知识分类专家。请根据以下内容,输出:\n1. keyword(关键词):2-6个字,概括内容主题,中文或英文均可,作为文件夹名使用(不含特殊字符)\n2. category(分类):从以下分类中选一个最合适的:编程开发 / 法律金融 / 内容创作 / 商业运营 / 效率工具 / 健康生活 / 教育学习 / 其他\n3. reason(理由):一句话说明分类依据\n\n【内容标题】:{title}\n【内容摘要(前500字)】:{content[:500]}\n\n严格按 JSON 格式输出:{\"keyword\": \"...\", \"category\": \"...\", \"reason\": \"...\"}",
  "model": "minimax/auto"
}

[Step 5] 保存原始内容

写入 /tmp/原始内容.md

# 原始内容记录

## 来源信息
- URL:{url}
- 平台:{platform}
- 关键词:{keyword}
- 分类:{category}
- 归类方式:{自动归类 / 用户指定}
- 提取时间:{datetime}
- 提取方式:{方式,例:YouTube字幕API / B站yt-dlp+Whisper(tiny) / wx_extract.py / 本地流水线+Whisper(tiny)}

## 内容正文
{完整内容,一字不删}

[Step 6] 事实抽取

llm-task 扫描全文,重点检测财务/结果类关键词:

{
  "prompt": "你是一个事实抽取专家。从以下内容中抽取所有关键事件,特别关注【结果、状态、金额、是否成功】。\n\n必须扫描:追回、退款、退回、赔付、胜诉、执行成功、失败、已追回、已退款、钱、款、金额、赔偿\n\n输出格式:\n## 关键事件\n| 事件 | 结果状态 | 证据句子 | 时间/金额 |\n\n## financial_outcome\n- has_financial_outcome: true/false\n- outcome_summary:\n- evidence_sentence:\n\n注意:必须逐句扫描,不得跳段",
  "input": "{原始内容全文}"
}

[Step 7] 生成 SKILL.md

写入 /tmp/SKILL.md

# {关键词} Skill

## ⚠️ 关键结果
{如果 has_financial_outcome=true,用粗体标注结果}

## 核心事件
{从 Step 6 events 转化}

## 详细内容
{结构化总结}

## 重要事实清单
{其他关键事实}

[Step 8] 推送 GitHub

export GITHUB_TOKEN=$(grep GITHUB_TOKEN ~/.openclaw/.env | cut -d= -f2)
export GITHUB_REPO=$(grep GITHUB_REPO ~/.openclaw/.env | cut -d= -f2)
export GITHUB_BRANCH=$(grep GITHUB_BRANCH ~/.openclaw/.env | cut -d= -f2-)

rm -rf /tmp/skillhub_repo
git clone "https://${GITHUB_TOKEN}@github.com/${GITHUB_REPO}.git" /tmp/skillhub_repo

mkdir -p "/tmp/skillhub_repo/skills/{category}/{keyword}"
cp /tmp/原始内容.md "/tmp/skillhub_repo/skills/{category}/{keyword}/原始内容.md"
cp /tmp/SKILL.md "/tmp/skillhub_repo/skills/{category}/{keyword}/SKILL.md"

cd /tmp/skillhub_repo
git config user.email "openclaw@bot"
git config user.name "OpenClaw Bot"
git add .
git commit -m "Add skill [{category}/{keyword}] - $(date '+%Y-%m-%d')"
git push origin ${GITHUB_BRANCH:-main}

rm -rf /tmp/skillhub_repo

完成通知

✅ Skill 已保存:【{keyword}】
🏷️ 分类:{category}
📄 原始内容:skills/{category}/{keyword}/原始内容.md
🧠 分析摘要:skills/{category}/{keyword}/SKILL.md
📦 来源:{url}
🔗 GitHub:https://github.com/{GITHUB_REPO}/tree/main/skills/{category}/{keyword}
📌 提取方式:{方式}

🚫 禁止事项(违反即为错误)

  1. 禁止对 YouTube 直接用 yt-dlp 下载——VPS 是谷歌云 IP,必然 403,不要尝试
  2. 禁止对微信公众号跳过 wx_extract.py——必须先跑脚本,不能直接用浏览器工具或 llm-task
  3. 禁止用 llm-task 访问任何 URL——llm-task 只做文本推理,没有联网能力
  4. 禁止对抖音尝试任何下载——直接告知用户不可用
  5. 禁止只推送一个文件——必须同时推送 原始内容.md + SKILL.md
  6. 禁止省略或截断原始内容——原始内容必须一字不删全量保存

工具与环境

工具/路径用途
python3 ~/.openclaw/scripts/yt_transcript.pyYouTube 字幕提取
python3 ~/.openclaw/scripts/wx_extract.py微信公众号提取
python3 -m yt_dlpB站/西瓜视频音频下载
whisper(Python 库)音频转写
~/.openclaw/cookies/bilibili.txtB站登录 cookies
~/.openclaw/.envGitHub Token / Repo 配置
C:\...\yt_local_pipeline.ps1YouTube 无字幕时本地下载流水线(用户在 Windows 本地运行)
exec在 VPS 执行 shell 命令
extract_content_from_websites网页/浏览器内容提取
batch_web_search搜索引擎兜底
llm-task纯文本推理(不能联网)

Comments

Loading comments...