sjht-ppt-delivery

Security checks across static analysis, malware telemetry, and agentic risk

Overview

This skill does what it claims—convert a slide HTML file to PDF and send it through Feishu—but users should notice that it uses local Feishu bot credentials and uploads the selected file to Feishu.

This skill appears coherent and purpose-aligned. Before installing, confirm you want it to use the configured Feishu bot credentials, verify the recipient open_id and file path when sending, and ensure the required local Chromium, Node, and Python dependencies are trusted.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

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

Installing or invoking the skill allows it to use the configured Feishu bot identity to upload and send files.

Why it was flagged

The script reads Feishu bot app credentials from the local OpenClaw configuration and uses them to obtain a tenant access token. This is expected for sending a Feishu bot message, but it is sensitive delegated account authority.

Skill content
OPENCLAW_JSON = os.path.expanduser("~/.openclaw/openclaw.json") ... APP_ID = main_account.get("appId") ... APP_SECRET = main_account.get("appSecret")
Recommendation

Use only with a Feishu bot/app whose permissions are appropriate for file delivery, and confirm the configured bot account is the one you intend to use.

What this means

The PDF or other file passed to the helper will be transmitted to Feishu and delivered to the specified recipient.

Why it was flagged

The generated or selected file is uploaded to Feishu and then sent as a Feishu message. This external data flow is the stated purpose, but it means file contents leave the local environment.

Skill content
requests.post("https://open.feishu.cn/open-apis/im/v1/files", ... files={"file": (file_name, f, content_type)}) ... requests.post("https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id", ...)
Recommendation

Only invoke the helper with the intended generated PDF and the correct recipient open_id; avoid passing private or unrelated local files.

What this means

The skill may fail or behave differently depending on what global packages and browser binary are installed locally.

Why it was flagged

The skill depends on already-installed global packages, Chromium, Python requests, and Feishu config. This is purpose-aligned, but the registry metadata does not declare these requirements, so users should verify their local environment.

Skill content
- `chromium-browser`(已安装)
- `puppeteer-core`(全局 npm 包)
- `pdf-lib`(全局 npm 包)
- Python 3 + `requests`(已安装)
- 飞书机器人已配置(openclaw.json 中有 APP_ID/SECRET)
Recommendation

Confirm the required packages and Chromium binary come from trusted sources and match the expected versions before relying on the skill.

What this means

If the input HTML is malicious or untrusted, it may run script content inside the browser context while the PDF is being generated.

Why it was flagged

The converter renders a local HTML file in headless Chromium with sandboxing disabled. This is a common containerized PDF-conversion pattern and aligns with the purpose, but untrusted HTML could still execute browser-side scripts during rendering.

Skill content
puppeteer.launch({ executablePath: '/usr/bin/chromium-browser', headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage'] }) ... await page.goto(`file://${inputFile}`
Recommendation

Use this converter on trusted or agent-generated slide HTML, and be cautious with HTML supplied by unknown parties.