Skill flagged — suspicious patterns detected

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

Local LRC Editor 专业LRC歌词创作工具

专业LRC歌词创作工具,支持歌曲音频波形可视化、歌词时间轴精准打点、LRC导入/导出、播放实时高亮、毫秒级时间戳编辑、自动本地存储防止数据丢失。前端使用jQuery+WaveSurfer.js开发,后端Python Flask,默认端口698,界面紧凑高效。使用场景:(1) 为歌曲制作LRC歌词文件 (2) 编辑...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 10 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
high confidence
Purpose & Capability
Name/description match the code: a Flask-based local web UI that generates waveform data and helps create/export LRC files. Required capabilities (pydub, numpy, Flask) are consistent with waveform generation and a backend.
!
Instruction Scope
SKILL.md instructs users to run the included start_server.py and says the service is reachable at http://localhost:698, but the Flask app binds to 0.0.0.0 (all interfaces), which can expose the service on the LAN. The app exposes an unauthenticated /upload endpoint that saves uploaded audio to the system temp dir (using the original filename without sanitization) and an unauthenticated /shutdown endpoint that terminates the process. The instructions do not mention these network exposure and authentication implications.
Install Mechanism
start_server.py automatically runs pip install for flask, pydub, and numpy at runtime. Installing dependencies automatically is convenient and consistent with the stated purpose, but it runs pip in the host Python environment (no virtualenv) and performs network installs from PyPI without prompting—this has expected but non-trivial operational risk.
Credentials
The skill requests no environment variables or credentials and does not require unrelated secrets. That is proportionate to its stated purpose.
!
Persistence & Privilege
The skill does not request 'always: true' and does not modify other skills. However, it binds the server to 0.0.0.0 (making it reachable from the network), and provides an unauthenticated /shutdown endpoint and unauthenticated /upload endpoint—these increase the blast radius if run on a machine reachable by others.
What to consider before installing
This tool appears to be a legitimate local LRC editor, but exercise caution before running it: - Network exposure: The Flask app binds to 0.0.0.0 (all interfaces). If you run this on a machine connected to a network, others on that network could access the /upload and /shutdown endpoints. To limit exposure, edit web/app.py to use host='127.0.0.1' before launching. - Unauthenticated endpoints: /upload accepts files and saves them temporarily using the original filename (no secure_filename sanitization) — this can allow filename tricks and unexpected writes in the temp directory. Consider hardening by using werkzeug.utils.secure_filename and validating the saved path. - /shutdown is callable by any HTTP client that can reach the service; remove or protect it (e.g., require a token) if you plan to run on a networked host. - Automatic pip installs: start_server.py will pip install packages into the active Python environment. Run it inside a dedicated virtual environment (venv) to avoid contaminating your system Python and to inspect the packages before installation. - External JS CDN: the frontend loads jQuery and WaveSurfer from jsDelivr. If you need an offline or fully-audited install, vendor those scripts locally. - Run safely: run the skill on an isolated machine or container, inspect/modify the code as above (bind to localhost, sanitize filenames, protect shutdown), and prefer using a venv. If you want, I can show exact code changes to harden the app (change host, add filename sanitization, or protect the shutdown endpoint).

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

Current versionv1.1.0
Download zip
latestvk97f0qdtzxtmbg7dtgmsqgx0xd839fs1

License

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

SKILL.md

LRC 歌词创作工具

🎵 简介

专为歌词创作者打造的高效可视化LRC制作工具,整合波形预览、精准打点、实时同步、自动保存等核心功能,大幅提升歌词制作效率,支持从0到1制作新歌词,也支持导入已有LRC校准时间轴。

核心特点

  • 🎧 音频波形可视化:基于WaveSurfer.js的专业波形渲染,直观展示音频节奏点
  • 📥 LRC导入功能:直接导入现有LRC文件,自动解析时间轴和歌词内容
  • ⏱️ 毫秒级精度打点:点击「打点」按钮即可在当前播放位置创建歌词条目,时间精度到0.001秒
  • ✍️ 高效歌词编辑:紧凑列表布局,同屏展示更多歌词,支持批量编辑、上移/下移调整顺序
  • 🎯 时间自由微调:直接点击时间数字修改,自动同步相邻条目时间,避免手动调整误差
  • 🎶 播放实时同步:播放时当前时间对应的歌词自动高亮(蓝色背景标记),并平滑滚动到可见区域
  • ⌨️ 全键盘快捷键:支持空格播放/暂停、左右箭头快进/后退1秒,无需频繁切换鼠标
  • 💾 自动防丢保存:所有编辑自动保存到浏览器本地存储,刷新页面/重启浏览器数据不丢失
  • 📌 控制栏固定置顶:播放控制条滚动时保持在顶部可见,编辑长歌词时无需来回滚动
  • 💾 标准LRC导出:一键导出符合行业标准的LRC格式文件,兼容所有播放器
  • 🛑 一键关闭服务:页面右上角按钮直接关闭后台服务,无需手动操作终端
  • 🎨 现代化UI设计:响应式布局,支持桌面端和移动端,操作流畅直观

🚀 快速开始

启动服务

在OpenClaw中直接输入「运行lrc」即可自动启动,或手动执行:

cd ~/.openclaw/workspace/skills/lrc
python start_server.py

脚本会自动检测并安装所需依赖(Flask、pydub、numpy),无需手动配置。

基础使用流程

  1. 访问页面:打开浏览器访问 http://localhost:698
  2. 上传歌曲:点击顶部「上传歌曲」按钮,选择音频文件(支持mp3/wav/flac/ogg/m4a等常见格式)
  3. 导入LRC(可选):如果已有歌词文本,点击「导入LRC」直接加载已有时间轴和歌词
  4. 制作歌词:播放音频,在歌词开始位置点击「打点」创建条目,输入歌词内容
  5. 调整校准:直接修改时间戳微调,或拖动播放位置重新打点
  6. 导出文件:完成后点击「导出LRC」下载最终歌词文件

⌨️ 快捷键列表

快捷键功能生效范围
空格键播放/暂停非输入框焦点时
← 左箭头后退1秒非输入框焦点时
→ 右箭头前进1秒非输入框焦点时

📋 功能详解

顶部操作栏

  • 上传歌曲:选择要制作歌词的音频文件
  • 导入LRC:导入现有.lrc文件,自动解析时间轴和歌词内容
  • 导出LRC:生成并下载标准LRC格式文件
  • 关闭服务:一键停止后台服务

播放控制区

  • 后退1s:当前播放位置后退1秒
  • 播放/暂停:控制音频播放状态
  • 前进1s:当前播放位置前进1秒
  • 打点:在当前播放位置创建新的歌词条目
  • 清空:清空所有歌词条目(不会删除音频)
  • 时间显示:左侧为当前播放时间,右侧为歌曲总时长

歌词列表功能

  • 开始时间:歌词开始播放的时间点,可直接编辑修改
  • 结束时间:歌词结束播放的时间点,修改后自动同步下一条的开始时间
  • 歌词输入框:输入对应时间点的歌词内容
  • 上移/下移:调整歌词条目顺序
  • 删除:删除当前歌词条目

❓ 常见问题

Q: 导入MP3文件提示错误怎么办?

A: 处理MP3格式需要安装FFmpeg,下载地址:https://ffmpeg.org/download.html,安装后添加到系统PATH即可。WAV/FLAC格式无需FFmpeg可直接使用。

Q: 刷新页面后歌词丢失了怎么办?

A: 工具会自动保存所有编辑到浏览器本地存储,只要不是清除浏览器缓存,刷新页面会自动恢复之前的编辑内容。

Q: 导出的LRC在播放器中不显示时间怎么办?

A: 导出的LRC为标准格式,支持所有主流播放器,如果不显示请检查播放器是否支持LRC歌词显示,或歌词文件名是否和音频文件名一致。

📁 文件结构

lrc/
├── SKILL.md                  # 技能说明文档
├── start_server.py          # 一键启动脚本(自动安装依赖)
└── web/
    ├── app.py                # Flask Web 后端服务
    ├── requirements.txt      # 依赖包列表
    └── templates/
        └── index.html        # 前端页面(所有逻辑内置)

🔒 关闭服务

使用完成后,点击页面右上角红色「关闭服务」按钮,确认后即可自动停止后台服务。也可以在终端按 Ctrl+C 手动停止。

作者:Jakey emailzhuxi0906@gmail.com wechat:jakeycis 版本:1.1.0 日期:2026-03-20

Files

5 total
Select a file
Select a file to preview.

Comments

Loading comments…