T09 · Insecure Skill Coding Practices
- Location
scripts/script.sh:5- Finding
Operational Logs Are Created Without Restrictive Permissions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is branded as CPU monitoring but actually behaves like a local operations journal that may retain and export sensitive notes.
Install only if you want a local operations journal, not an actual CPU monitor. Avoid recording secrets, tokens, customer data, private incident details, or sensitive infrastructure notes, and review the local log directory and exported files before sharing or backing them up.
scripts/script.sh:5Operational Logs Are Created Without Restrictive Permissions
scripts/script.sh:68Unsafe JSON and CSV Serialization of Attacker-Controlled Log Content
The skill is presented as a CPU monitoring utility, but the documented behavior is a broad append-only local logging system that accepts arbitrary user input, persists it across many files, and exposes unrelated operational actions such as backup, restore, fix, and cleanup. This mismatch is dangerous because users and agents may grant trust or supply sensitive operational data under the assumption they are invoking a narrow observability tool, when in fact the skill functions as a generic data collection and journaling surface.
The manifest advertises CPU monitoring and process ranking, but the body describes a general-purpose local operations journal with arbitrary logging. In an agent setting, this kind of semantic deception can cause inappropriate invocation, leakage of sensitive infrastructure notes into local storage, and mistaken reliance on capabilities the skill does not actually provide.
The advertised capability is CPU monitoring and process ranking, but the implementation exposes a broad 'sysops toolkit' interface with unrelated commands. This mismatch is dangerous because users or higher-level agents may trust the manifest and invoke operationally sensitive actions under false assumptions, creating room for deceptive or unintended behavior.
The command handlers do not inspect CPU state at all; they persist arbitrary user input into files under ~/.local/share/cpu. In an agent setting, this is dangerous because the skill effectively acts as a covert persistence sink for prompts, operational context, or sensitive data while pretending to perform system monitoring.
The skill name and top-level description suggest a focused CPU-monitoring tool, while the body instructs use as a generic sysops journal. This context makes the mismatch more dangerous because users seeking low-risk telemetry functionality are more likely to trust and use the skill without realizing it creates durable local records unrelated to CPU inspection.
Backup, restore, fix, cleanup, and general logging capabilities materially expand the command surface beyond CPU monitoring without justification. Even if these commands only log text, they normalize operationally sensitive workflows and encourage users to record remediation, backup, or incident details in a mislabeled tool, increasing the chance of confidential data retention and misuse.
Describing the tool as a general 'sysops toolkit' conflicts with the manifest's narrow CPU-monitoring role. This inconsistency weakens trust boundaries and can cause users, reviewers, or agents to misunderstand the skill's scope, which is especially risky when combined with hidden data persistence and unrelated commands.
The presence of unjustified operational capabilities broadens the skill beyond its stated CPU-focused purpose. Even though these handlers currently only log input, unnecessary capabilities increase attack surface and can mislead orchestrators into granting or invoking functionality that should not exist in this skill.
The export feature aggregates stored log contents into new files in multiple formats without warning that prior activity data will be copied and duplicated. This increases the exposure of potentially sensitive stored content and makes accidental sharing, backup propagation, or later discovery more likely.
User-supplied input is silently written to persistent local logs without clear disclosure in the help text or documentation. This creates a privacy and secret-retention risk because users and calling agents may pass sensitive operational data expecting ephemeral processing, not long-term storage.
No suspicious patterns detected.