Back to skill

Security audit

Ai Intelligent Expense Management

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Chinese expense-management listing, but it tells users to run unpinned code from a remote repository that was not included in the reviewed package.

Review the referenced repository and its dependencies before installing. Prefer a pinned commit, verified checksums, locked dependency hashes, and an isolated virtual environment or sandbox with no sensitive credentials or financial records exposed until the code has been audited.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Warning
Location
SKILL.md:39
Finding
Unpinned Remote Repository Retrieval and Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 39-42 **Vulnerability Type**: Unreviewed remote payload retrieval and dependency installation **Risk Level**: Medium ```bash git clone https://github.com/openclaw-skills/ai-intelligent-expense-management cd ai-intelligent-expense-management pip install -r requirements.txt python app.py ``` ### Technical Analysis The artifact does not contain the advertised application source code or its dependency manifest. Instead, its installation instructions direct users to clone a mutable remote repository, install dependencies from an unreviewed `requirements.txt`, and execute `app.py`. No commit hash, release archive checksum, signature, or dependency hashes are specified. Consequently, the code executed by users may differ from the content that existed when this skill was audited. The unavailable dependency manifest also prevents verification of dependency names, versions, package sources, and transitive dependencies. This creates both a remote payload risk and a software supply-chain risk. The instructions themselves do not automatically execute code; exploitation requires a user or agent to follow them. ### Attack Path 1. An attacker compromises the referenced repository, its maintainer account, the selected default branch, or a dependency referenced by its `requirements.txt`. 2. The attacker adds malicious installation behavior, application code, or a malicious dependency release. 3. A user or agent follows the documented commands and clones the current repository state without pinning it to a reviewed commit. 4. `pip install -r requirements.txt` may execute package build or installation logic supplied by an attacker-controlled dependency. 5. `python app.py` directly executes the downloaded application with the privileges and environment access of the invoking user. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the invoking user's privileges. Depending ...[truncated 556 chars]
Remediation
## Remediation Suggestions 1. Include the complete executable source and dependency manifest in the reviewed skill package. 2. If remote retrieval remains necessary, pin the repository to a specific reviewed commit rather than a mutable branch. 3. Publish and verify a cryptographic checksum or trusted signature for the retrieved source. 4. Pin every direct and transitive Python dependency to an reviewed version and require hashes, such as through a lock file and `pip install --require-hashes`. 5. Use only trusted package indexes and explicitly configure allowed dependency sources to reduce dependency-confusion risk. 6. Review dependency installation scripts and the application entry point before execution. 7. Install and run the application in an isolated virtual environment or sandbox under a dedicated, least-privileged account. 8. Restrict access to sensitive files, environment variables, credentials, and unnecessary network destinations during installation and execution.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The manifest description and main markdown content are written entirely in Chinese, with no indication that the skill is region-specific or that users may choose another language. This can violate a language/locale policy when a skill implicitly enforces one language without opt-in or justification.

Natural-Language Policy Violations

Medium
Confidence
86% confidence
Finding
The manifest uses Chinese-only descriptive text and includes a "chinese" tag, which suggests the skill may be intended to operate in a specific language. The file does not state that users can choose another language or that the Chinese-only scope is required for a documented region-specific purpose, which can conflict with language/locale choice policy.

Static analysis

No suspicious patterns detected.