ai-daily-briefing@1.1.0
CAUTION· install onlyPublisher claims: "生成每日 AI 资讯简报并发送到飞书。从多数据源采集 AI 资讯,整合为紧凑列表格式,以飞书卡片消息形式发送。当用户提到每日简报、AI 日报、AI 资讯、AI Daily 等意图时触发。" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Install scripts ran; no agent task scenario for this bundle.- Tested
- install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · 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 (2 scenarios; install scripts ran; no agent task scenario for this bundle) on 2026-11-11 and scored it 71/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; OS command execution function call detected; OS command execution function call detected. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 2 scenarios · 0 deviationsStatic findings
r = subprocess.run(cmd, capture_output=True, text=True, timeout=max_time + 5)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.r = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.out = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.r = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.result = subprocess.run(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.out = subprocess.run(["lark-cli", "config", "show"], capture_output=True, text=True).stdoutFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.env_file = os.path.expanduser("~/.openclaw/.env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.subprocess.run(["pgrep", "-x", "Xvfb"], capture_output=True, check=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.week_ago = os.popen("date -d '7 days ago' +%Y-%m-%d").read().strip()Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.r = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.week_ago = os.popen("date -d '7 days ago' +%Y-%m-%d").read().strip()Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.out = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.r = subprocess.run([Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out."""从 ~/.openclaw/.env 加载环境变量。"""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.out = subprocess.run(["lark-cli", "config", "show"], capture_output=True, text=True).stdoutFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.r = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.r = subprocess.run(cmd, capture_output=True, text=True, timeout=max_time + 5)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.print(" 1. 在 ~/.openclaw/.env 中设置缺失的环境变量")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.subprocess.run(["which", "opencli"], capture_output=True, check=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.DATE = os.environ.get("AI_DAILY_DATE", os.popen("date +%Y-%m-%d").read().strip())Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.subprocess.run(install_cmd, shell=True, check=True, capture_output=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.r = subprocess.run(cmd, capture_output=True, text=True, timeout=timeout + 5)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.v = subprocess.run(["python3", "--version"], capture_output=True, text=True).stdout.strip()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.
What would make this Verified
9 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- OS command execution function call detected≈ +9 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- Unclaimed publisher≈ +8 on the totalClaim haohuawu: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.