Bilibili Up To Kb

ReviewAudited by ClawScan on May 10, 2026.

Overview

The skill mostly matches its stated Bilibili transcription purpose, but it can automatically use Chrome browser cookies, sends transcript text to an external cleaning model, and has unsafe handling of untrusted video titles in a local Python command.

Review carefully before installing. Use it only on videos you intend to download/transcribe, avoid automatic browser-cookie use unless you understand the account access involved, consider a separate browser profile for cookies, cap concurrency for large channels, and disable or replace remote cleaning if transcript privacy matters.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

The skill may access Bilibili as the user's logged-in browser session and download or transcribe member-only/account-scoped content.

Why it was flagged

If direct access fails, the script automatically switches to using the local Chrome browser cookie store. Browser session cookies are sensitive account credentials, and this fallback is not gated by an explicit user approval step in the script.

Skill content
if ! yt-dlp --flat-playlist --print url "$CHANNEL" >/dev/null 2>&1; then
  echo "Direct access failed, trying with browser cookies..."
  COOKIES_ARG="--cookies-from-browser chrome"
fi
Recommendation

Require explicit user confirmation before using browser cookies, document exactly which browser/profile and site cookies are used, and prefer a separate least-privilege browser profile or user-provided cookie file.

ConcernMedium Confidence
ASI05: Unexpected Code Execution
What this means

A crafted or unusual video title could break metadata generation and may create a local code-injection path when processing untrusted videos.

Why it was flagged

A remote Bilibili title is used to build FILE_BASE and then interpolated directly into Python source code. The filename sanitizer removes some filename-dangerous characters but does not safely JSON/Python-escape quotes or newlines before execution.

Skill content
TITLE=$(echo "$META_JSON" | python3 -c "import sys,json; print(json.load(sys.stdin).get('title',''))" ...)
SAFE_TITLE=$(sanitize "$TITLE")
...
'filename_base': '$FILE_BASE'
Recommendation

Do not embed untrusted metadata inside a Python -c string. Pass FILE_BASE through argv, stdin, or an environment variable and serialize it with json.dumps or equivalent safe escaping.

What this means

Video transcripts, including member-only or sensitive content the user chose to process, may be shared with the configured model provider.

Why it was flagged

Transcript chunks are sent to an external opencode/Minimax model for cleaning. This is purpose-aligned and partially disclosed, but it means transcript content leaves the local machine.

Skill content
MODEL="${CLEAN_MODEL:-opencode/minimax-m2.5-free}"
...
"$OPENCODE" run -m "$MODEL" --format json "${PROMPT}

${CHUNK_TEXT}"
Recommendation

Clearly disclose the provider data flow, credential requirements, retention/privacy expectations, and provide an easy local-only or no-cleaning mode.

What this means

Users may install or run external tools/models without pinned versions or registry-enforced dependency checks.

Why it was flagged

The skill depends on several third-party tools and downloaded models, while the registry metadata declares no required binaries or install spec. This is expected for the purpose but leaves users to manage provenance and versions themselves.

Skill content
**Required**: yt-dlp, ffmpeg, whisper.cpp (+ model), opencode CLI
Recommendation

Declare required binaries and environment variables in metadata, document trusted install sources, and pin or verify model/tool versions where practical.

NoteHigh Confidence
ASI10: Rogue Agents
What this means

Downloads, transcription, or remote cleaning calls may continue in the background, consuming resources or sending transcript chunks after the user stops interacting with the agent.

Why it was flagged

The documentation encourages user-directed background jobs for long-running work. This is disclosed and aligned with large channel processing, but it can keep running after the interactive session ends.

Skill content
Use nohup to avoid session compaction killing processes:
```bash
nohup bash scripts/batch_clean.sh ./kb/UP主名_UID/ 0 80 > /tmp/clean.log 2>&1 &
```
Recommendation

Before using nohup/background mode, choose conservative concurrency, monitor logs and processes, and document how to stop or resume jobs safely.