Back to skill

Security audit

Feishu Sheets Skill

Security checks for vulnerabilities and agentic risk

Overview

This Feishu Sheets skill is coherent and not deceptive, but it can immediately delete or modify remote spreadsheet data without documented confirmations or safety checks.

Install only if you are comfortable giving an agent Feishu app credentials that can read, write, create, and delete spreadsheet content. Before using delete actions, verify the spreadsheet token, sheet ID, and ranges manually, and keep a backup or recovery path for important sheets.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (9)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/api-reference.md (reported line 11)May include surrounding context.

Authentication

All API calls require a tenant access token in the Authorization header:

text
Authorization: Bearer {tenant_access_token}

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/api-reference.md (reported line 149)May include surrounding context.

md
### 7. Delete Rows/Columns

**Endpoint:** `DELETE /sheets/v2/spreadsheets/{spreadsheet_token}/dimension_range`

**Request Body:** Same as insert

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/feishu_sheets.py (reported line 25)May include surrounding context.

python
self._token = None
        
    def _get_token(self) -> str:
        """Get tenant access token"""
        if self._token:
            return self._token

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill documents destructive actions such as deleting rows, columns, and worksheets without any warning, confirmation guidance, backup advice, or scoping safeguards. In an agent setting, this increases the chance of accidental or prompt-induced irreversible data loss because users or downstream agents may invoke these operations without understanding that they are destructive.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file describes delete operations for rows/columns and worksheets, which can affect user data, but it does not include any warning about data loss, irreversibility, or the need to confirm the target resource before execution. Under the markdown-specific SQP-2 criteria, destructive behaviours that could affect user data should be accompanied by warnings.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
80% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/feishu_sheets.py (reported line 29)May include surrounding context.

python
if self._token:
            return self._token
            
        resp = requests.post(AUTH_API, json={
            "app_id": self.app_id,
            "app_secret": self.app_secret
        })

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This code reads FEISHU_APP_ID and FEISHU_APP_SECRET from environment variables and sends them in an HTTP request to obtain an access token. While this is functionally expected for authentication, the file provides no user-facing print, confirmation, or explicit warning that credentials from the environment will be used and transmitted.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The CLI exposes destructive operations such as delete_dimension and delete_sheet and executes them immediately based solely on command-line arguments, with no confirmation, dry-run mode, or guardrails. In an agent/tooling context, this increases the risk of accidental or prompt-induced destructive changes to user spreadsheets, especially because the skill is explicitly designed to modify remote data.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.