Trust Assessment
fal-consumption-audit received a trust score of 65/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, 2 high, 2 medium, and 0 low severity. Key findings include Potential SQL and Command Injection Vulnerabilities, Excessive Read Permissions on Sensitive Data, Credential Handling and Exposure Risk.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The LLM Behavioral Safety layer scored lowest at 56/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 Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Potential SQL and Command Injection Vulnerabilities The skill describes SQL queries that use string interpolation for parameters like `{start}`, `{end}`, and `{uid}`. If these parameters are populated directly from untrusted user input without proper sanitization (e.g., using parameterized queries), it could lead to SQL injection. Additionally, the described command-line execution of `python fal_balance.py audit` with user-controlled arguments (`--start`, `--end`, `--ids`, `--user-ids`) could lead to command injection if these arguments are not properly escaped or validated before being passed to a shell. Implement parameterized queries for all database interactions to prevent SQL injection. For command-line executions, ensure all user-provided arguments are strictly validated and properly escaped before being passed to a shell or use safer alternatives like `subprocess.run` with `shell=False` and arguments passed as a list. | LLM | skills/hexiaochun/fal-consumption-audit/SKILL.md:78 | |
| HIGH | Excessive Read Permissions on Sensitive Data The skill requires broad read access to multiple highly sensitive database tables: `ts_fal_account`, `ts_fal_tasks`, `ts_points_detail`, and `ts_financial_transactions`. This includes access to `fal_api_key`, `balance`, `user_id`, `money`, `cost_money`, `points`, and transaction details. While necessary for the stated audit function, these extensive permissions, especially the retrieval of API keys for multiple accounts, pose a significant risk. If the skill's execution environment or the skill itself is compromised, an attacker could exfiltrate a large volume of sensitive financial and user data. Implement the principle of least privilege. Ensure the skill's database user only has `SELECT` permissions on the necessary columns and tables. Consider data masking or redaction for highly sensitive fields like `api_key` if they are not strictly required for the audit output. Securely manage the environment where these credentials and sensitive data are processed. | LLM | skills/hexiaochun/fal-consumption-audit/SKILL.md:40 | |
| MEDIUM | Credential Handling and Exposure Risk The skill explicitly accesses and uses `fal_api_key` from the `FalAccount` table for authenticating calls to the `fal Platform API`. While this is a necessary function, the description does not detail secure handling practices for these API keys (e.g., environment variables, secure secret management). If these keys are logged, exposed in error messages, or stored insecurely within the skill's environment, it could lead to credential compromise and unauthorized access to the `fal.ai` platform. Ensure `fal_api_key` is stored and accessed securely, preferably through a dedicated secret management system or environment variables, rather than directly in code or configuration files. Avoid logging API keys or exposing them in any output or error messages. Implement strict access controls for the environment where the skill runs. | LLM | skills/hexiaochun/fal-consumption-audit/SKILL.md:30 | |
| MEDIUM | Supply Chain Risk: Undefined Dependencies The skill mentions a Python script `fal_balance.py` and relies on an existing function `query_fal_usage` located at `translate_api/app/coze/fal_balance.py`. However, there is no `requirements.txt` or similar dependency manifest provided. Without a clear list of dependencies and their pinned versions, there is a supply chain risk. Unpinned or unverified dependencies could introduce vulnerabilities, compatibility issues, or even malicious code if a dependency is compromised or typosquatted. Provide a `requirements.txt` or equivalent dependency file that explicitly lists all Python dependencies with pinned versions. Regularly audit and update dependencies to mitigate known vulnerabilities. | LLM | skills/hexiaochun/fal-consumption-audit/SKILL.md:196 |
Scan History
Embed Code
[](https://skillshield.io/report/a76f40191ed7292c)
Powered by SkillShield