Trust Assessment
feishu-attendance received a trust score of 71/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 4 findings: 0 critical, 1 high, 2 medium, and 1 low severity. Key findings include Unpinned npm dependency version, Feishu Tenant Access Token Cached to Shared File System, Skill Accesses Workspace-Level `.env` File.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
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 Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Feishu Tenant Access Token Cached to Shared File System The skill caches the sensitive Feishu tenant access token to a file (`feishu_token.json`) located in a shared `memory` directory (`../../../memory/feishu_token.json`). This token grants access to the Feishu API on behalf of the tenant. If the host environment's file system permissions for this shared `memory` directory are not sufficiently restrictive, other untrusted processes or skills running on the same host could potentially read this file and exfiltrate the token, leading to unauthorized access to the Feishu tenant's data and services. Implement robust security measures for storing sensitive credentials. This could include: 1. Using a secure, isolated credential store provided by the host environment (e.g., a secrets manager). 2. Encrypting the token before writing it to disk and decrypting it upon read, using a key managed securely. 3. Ensuring the `TOKEN_CACHE_FILE` and its parent directories have strict file permissions (e.g., `0o600`) to prevent unauthorized reading by other users or processes. 4. Limiting the lifespan of the cached token and forcing frequent refreshes. | LLM | lib/auth.js:13 | |
| MEDIUM | Unpinned npm dependency version Dependency 'dotenv' is not pinned to an exact version ('^16.3.1'). Pin dependencies to exact versions to reduce drift and supply-chain risk. | Dependencies | skills/autogame-17/feishu-attendance/package.json | |
| MEDIUM | Skill Accesses Workspace-Level `.env` File The skill attempts to load environment variables from a `.env` file located at `../../../.env` relative to `lib/auth.js`. This path suggests an attempt to access a workspace-level `.env` file, which may contain sensitive configuration or credentials for other skills or the overall workspace. Granting a skill access to a broader `.env` file than strictly necessary increases its attack surface and the potential for data exfiltration or privilege escalation if the skill is compromised. Skills should adhere to the principle of least privilege. Provide only the necessary environment variables directly to the skill, rather than allowing it to read a shared workspace `.env` file. If a shared `.env` is unavoidable, ensure it contains only non-sensitive, public configuration, and that sensitive credentials are provided through more secure, isolated mechanisms. | LLM | lib/auth.js:5 | |
| LOW | Uses Outdated Major Version of `node-fetch` The skill depends on `node-fetch` version 2.7.0. While this specific version does not have known critical, unpatched vulnerabilities, `node-fetch` v2.x is an older major version branch that is no longer actively maintained. Using unmaintained dependencies can expose the skill to future undiscovered vulnerabilities that will not receive official patches, and may lack modern security features or best practices. Upgrade `node-fetch` to the latest stable major version (e.g., v3.x or newer). This ensures the skill benefits from ongoing security patches, bug fixes, and performance improvements from the active development branch. Review the changelog for breaking changes during the upgrade process. | LLM | package.json:10 |
Scan History
Embed Code
[](https://skillshield.io/report/38632dd78e0ed124)
Powered by SkillShield