Trust Assessment
lark-integration received a trust score of 10/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 7 findings: 2 critical, 1 high, 3 medium, and 1 low severity. Key findings include Persistence / self-modification instructions, Unpinned npm dependency version, Node lockfile missing.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Manifest Analysis layer scored lowest at 40/100, indicating areas for improvement.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings7
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Persistence / self-modification instructions macOS LaunchAgent/LaunchDaemon persistence Remove any persistence mechanisms. Skills should not modify system startup configurations, crontabs, LaunchAgents, systemd services, or shell profiles. | Manifest | skills/boyangwang/lark-integration/scripts/setup-service.mjs:8 | |
| CRITICAL | Persistence / self-modification instructions macOS LaunchAgent/LaunchDaemon persistence Remove any persistence mechanisms. Skills should not modify system startup configurations, crontabs, LaunchAgents, systemd services, or shell profiles. | Manifest | skills/boyangwang/lark-integration/scripts/setup-service.mjs:79 | |
| HIGH | Service setup references incorrect bridge script The `setup-service.mjs` script, intended to create a systemd/launchd service, hardcodes the script to be executed as `bridge.mjs`. However, the primary and documented bridge script for this skill, as indicated in `SKILL.md` and provided in the `scripts` directory, is `bridge-webhook.mjs`. This discrepancy means the generated service will either fail to start (if `bridge.mjs` doesn't exist) or execute an unintended/different script, which could have security implications if `bridge.mjs` is an old, vulnerable, or malicious file. Update `scripts/setup-service.mjs` to correctly reference `bridge-webhook.mjs` instead of `bridge.mjs` to ensure the intended and secure bridge script is executed. | LLM | scripts/setup-service.mjs:17 | |
| MEDIUM | Unpinned npm dependency version Dependency '@larksuiteoapi/node-sdk' is not pinned to an exact version ('^1.56.1'). Pin dependencies to exact versions to reduce drift and supply-chain risk. | Dependencies | skills/boyangwang/lark-integration/scripts/package.json | |
| MEDIUM | Excessive 'drive:drive:readonly' permission requested The skill's documentation lists `drive:drive:readonly` as an optional permission for the Lark app. While optional, this permission grants broad read access to all files in Lark Drive. The primary function of the `lark-integration` skill, as described and implemented by `bridge-webhook.mjs`, is to act as a messaging bridge. This permission is excessive for a messaging-focused skill and could lead to unintended data exposure if enabled, even if the `bridge-webhook.mjs` itself doesn't directly utilize it. If document reading is a separate skill, its permissions should be managed independently. Review and remove `drive:drive:readonly` from the `lark-integration` skill's required permissions if it is not strictly necessary for the messaging bridge functionality. If document reading is handled by a separate skill, its permissions should be requested and managed by that skill. | LLM | SKILL.md:69 | |
| MEDIUM | Inconsistent secret and log file paths in service setup The `setup-service.mjs` script uses legacy paths (`~/.clawdbot/secrets/feishu_app_secret` for secrets and `~/.clawdbot/logs` for logs) when configuring environment variables and log paths for the service. In contrast, the `bridge-webhook.mjs` script and general OpenClaw conventions use `~/.openclaw/secrets/feishu_app_secret` and expect `~/.openclaw/openclaw.json`. This inconsistency can lead to the service failing to locate necessary secrets, or storing logs and potentially creating secret files in unexpected, legacy directories, which might not have the same security configurations or be properly managed. Update `scripts/setup-service.mjs` to use the current `~/.openclaw` paths for secrets and logs, consistent with `bridge-webhook.mjs` and OpenClaw conventions, to ensure proper secret management and logging. | LLM | scripts/setup-service.mjs:20 | |
| LOW | Node lockfile missing package.json is present but no lockfile was found (package-lock.json, pnpm-lock.yaml, or yarn.lock). Commit a lockfile for deterministic dependency resolution. | Dependencies | skills/boyangwang/lark-integration/scripts/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/3718c838307d2f53)
Powered by SkillShield