qq-group-homework-summarizer@1.5.0
VERIFIED· install onlyPublisher claims: "QQ群作业整理 —— 从 QQ 群「群作业」抓取指定日期的作业内容(含图片附件),生成排版规范的 A4 Word 文档(默认单页、可多页,支持多群合并、科目筛选、仅文字版),并可发送到指定邮箱或微信;内置 doctor 环境自检(CLI/daemon/连通性/登录态/产物),适合挂无人值守定时任务。This skill should be used when the user asks to organize, export, or send QQ group homework (群作业) as a document — for example "把X月X日的群作业整理成Word"、"把今天的作业导出成文档"、"把作业发到我邮箱/微信"。触发词:群作业、作业整理、作业文档、QQ作业、发作业给XX。" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-10 and scored it 82/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
# 注意:探测 JS 里绝不能用 document.cookie(CLI 安全策略会拒)Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.# 升级后直接跑一次业务命令即可:qq_hw.py 会自动拉起 daemon 并重建 no-kill 补丁。Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.5. 浏览器禁止 `document.cookie`(CLI 报 forbidden API);bkn 用 performance 资源条目。Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.# [qq-hw no-kill patch] 用户手动启动的浏览器不带自动化 flag,但可能已登录。Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.p = subprocess.run([CLI] + args, capture_output=True, text=True,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.独立 marker、独立备份,不与 no-kill patch 的整文件判断互相干扰;Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.return subprocess.Popen(argv, **kwargs)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.logger.info("[qq-hw no-kill patch] 浏览器已运行但缺自动化 flag:保留现有进程(保护登录态)")Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.rc = subprocess.run([cand, "-c", "import docx,PIL"],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out._SRV_NEW = ''' # [qq-hw no-kill patch] 已禁用 installer.close_browser_process():Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.grep -n "qq-hw no-kill patch" "$SP/vnc_util.py" "$SP/server.py" # 应在两个文件里都能看到Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell._VNC_POPEN_OLD = ''' proc = subprocess.Popen(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.p = subprocess.run([PY, QQ_HW] + args, capture_output=True, text=True,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.p = subprocess.run([CLI] + args, capture_output=True, text=True,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.PATCH_MARKER = "[qq-hw no-kill patch]"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.proc = subprocess.Popen(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.