Skills/ClawHub/ai-daily-briefing

ai-daily-briefing@1.1.0

CAUTION· install only

Publisher claims: "生成每日 AI 资讯简报并发送到飞书。从多数据源采集 AI 资讯,整合为紧凑列表格式,以飞书卡片消息形式发送。当用户提到每日简报、AI 日报、AI 资讯、AI Daily 等意图时触发。" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry ClawHubPublisher haohuawu · publishing for 118 daysInstalls 431Last detonated 4d ago

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 deviations
t+CategoryObserved action
0.1sprocessexec /app/apps/web/node_modules/.bin/pgrep
0.1sprocessexec /root/.cache/node/corepack/v1/pnpm/10.28.0/dist/node-gyp-bin/pgrep
0.1sprocessexec /app/node_modules/.bin/pgrep
0.1sprocessexec /pnpm/pgrep
0.1sprocessexec /usr/local/sbin/pgrep
0.1sprocessexec /usr/local/bin/pgrep
0.1sprocessexec /usr/sbin/pgrep
0.1sprocessexec /usr/bin/pgrep
0.1sprocessexec /sbin/pgrep
0.1sprocessexec /bin/pgrep
0.1sprocessexited 1: PermissionError: [Errno 13] Permission denied: 'pgrep'
0.1sprocessscript backend runs setup only
0.1sprocessscript backend runs setup only
0.1sprocesssecond launch, clock +45 days, CI unset
0.2sprocessexec /app/apps/web/node_modules/.bin/pgrep
0.2sprocessexec /root/.cache/node/corepack/v1/pnpm/10.28.0/dist/node-gyp-bin/pgrep
0.2sprocessexec /app/node_modules/.bin/pgrep
0.2sprocessexec /pnpm/pgrep
0.2sprocessexec /usr/local/sbin/pgrep
0.2sprocessexec /usr/local/bin/pgrep
0.2sprocessexec /usr/sbin/pgrep
0.2sprocessexec /usr/bin/pgrep
0.2sprocessexec /sbin/pgrep
0.2sprocessexec /bin/pgrep
0.2sprocessexited 1: PermissionError: [Errno 13] Permission denied: 'pgrep'

Static findings

MEDIUM
Python subprocess execution detectedscripts/common.py:106 · Python subprocess execution detectedr = 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.
AST05
MEDIUM
Python subprocess execution detectedscripts/collect.py:111 · Python subprocess execution detectedr = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/preflight_check.py:104 · Python subprocess execution detectedout = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/collect.py:375 · Python subprocess execution detectedr = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/verify.py:486 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/verify.py:499 · Python subprocess execution detectedsubprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/preflight_check.py:65 · Python subprocess execution detectedout = 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.
AST05
HIGH
Access to sensitive file pathsscripts/common.py:66 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv_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.
AST05
MEDIUM
Python subprocess execution detectedscripts/common.py:43 · Python subprocess execution detectedsubprocess.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.
AST05
CRITICAL
OS command execution function call detectedscripts/collect.py:425 · OS command execution function call detectedweek_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.
AST05
MEDIUM
Python subprocess execution detectedscripts/collect.py:278 · Python subprocess execution detectedr = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
CRITICAL
OS command execution function call detectedscripts/collect.py:248 · OS command execution function call detectedweek_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.
AST05
MEDIUM
Python subprocess execution detectedscripts/preflight_check.py:121 · Python subprocess execution detectedout = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/preflight_check.py:167 · Python subprocess execution detectedr = subprocess.run([Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Access to sensitive file pathsscripts/common.py:65 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""从 ~/.openclaw/.env 加载环境变量。"""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedscripts/setup.py:99 · Python subprocess execution detectedout = 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.
AST05
MEDIUM
Python subprocess execution detectedscripts/collect.py:347 · Python subprocess execution detectedr = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/common.py:124 · Python subprocess execution detectedr = 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.
AST05
HIGH
Access to sensitive file pathsscripts/setup.py:124 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesprint(" 1. 在 ~/.openclaw/.env 中设置缺失的环境变量")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedscripts/common.py:53 · Python subprocess execution detectedsubprocess.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.
AST05
CRITICAL
OS command execution function call detectedscripts/collect.py:28 · OS command execution function call detectedDATE = 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.
AST05
MEDIUM
Python subprocess execution detectedscripts/setup.py:30 · Python subprocess execution detectedsubprocess.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.
AST05
MEDIUM
Python subprocess execution detectedscripts/preflight_check.py:38 · Python subprocess execution detectedr = 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.
AST05
MEDIUM
Python subprocess execution detectedscripts/setup.py:71 · Python subprocess execution detectedv = 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.
AST05

Cost to the agent

Instructions loaded
≈1,881 tok
1 file · 7 in bundle

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%
  1. OS command execution function call detected≈ +9 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  2. 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.
  3. 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.
  4. Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim haohuawuPropose a patch to the maintainer