Back to skill

Security audit

Process Monitor Dashboard

Security checks for vulnerabilities and agentic risk

Overview

This is a local process-monitoring skill whose system/process visibility and terminal commands match its stated purpose, with no evidence of telemetry, persistence, exfiltration, or destructive behavior.

Install dependencies from a trusted source, preferably in a virtual environment or via your OS package manager. Use this only on machines where displaying process names and usernames in the terminal is acceptable, especially on shared systems.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:130
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:130-134; README.md:10-13
Vulnerability Type: Unpinned dependency resolved from the default Python package index
Risk Level: Medium

Vulnerable Code Snippets:

SKILL.md:130-134

markdown
Requires Python 3.6+ and `psutil` library. Install with:

```bash
pip install psutil
text

`README.md:10-13`
```markdown
1. Install dependencies:
   ```bash
   pip install psutil
   ```

Technical Analysis

The installation instructions retrieve psutil without specifying an exact version or verifying an integrity hash. Consequently, the installed artifact is selected dynamically from the package index when the command is run.

Python package installation can execute package-controlled build or installation logic. If the package publisher account, package index, dependency-resolution channel, or a future release is compromised, following these instructions could execute attacker-controlled code. No suspicious alternative package source or misspelled package name was found, so this is a supply-chain hardening deficiency rather than evidence that the current psutil package is malicious.

Attack Path

  1. An attacker compromises the package publisher, distribution infrastructure, or another dependency-resolution component.
  2. The attacker publishes or serves a malicious release under the expected package name.
  3. A user follows the documented pip install psutil instruction.
  4. Pip resolves the mutable package version without validating a project-provided hash.
  5. Malicious build, installation, or runtime code executes with the privileges of the user performing the installation.

This attack requires compromise or manipulation of the external software supply chain; the audited repository itself does not contain a direct remote-payload mechanism.

Impact Assessment

Successful exploitation could permit arbitrary code execution unde ...[truncated 475 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin psutil to a reviewed exact version instead of allowing unrestricted resolution:
    text
    psutil==<reviewed-version>
    
  2. Generate and publish cryptographic hashes for approved artifacts, then require verification during installation:
    bash
    python3 -m pip install --require-hashes -r requirements.txt
    
  3. Maintain dependencies in a version-controlled lock or requirements file rather than embedding an unpinned installation command in documentation.
  4. Update dependencies through a controlled review process that includes vulnerability scanning, changelog review, and integrity-hash regeneration.
  5. Recommend installation inside a dedicated virtual environment and explicitly discourage installation with administrative privileges.
  6. Where appropriate, offer the operating system's signed package as an alternative while documenting its security and update model.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (6)

os.system() or os exec-family call

High
Category
Dangerous Code Execution
Confidence
85% confidence
Finding

os.system() and os exec-family calls run shell commands with the process's full privileges, enabling arbitrary command execution.

Content

Scanner excerpt · scripts/main.py (reported line 112)May include surrounding context.

python
"""Print real-time dashboard"""
    try:
        while True:
            os.system('clear' if os.name == 'posix' else 'cls')
            
            # Get stats
            cpu = get_cpu_stats()

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
87% confidence
Finding

The skill documents and expects shell execution via commands such as ./scripts/main.py ..., but it does not declare any explicit tool scope like permissions or allowed-tools. This creates an authorization and review gap: an agent may invoke shell capabilities without the skill clearly constraining or disclosing that requirement, increasing the chance of unintended command execution in a broader environment.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 154)May include surrounding context.

bash
# Debian/Ubuntu
sudo apt install python3-psutil

# RHEL/CentOS
sudo yum install python3-psutil

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 157)May include surrounding context.

md
sudo apt install python3-psutil

# RHEL/CentOS
sudo yum install python3-psutil

# macOS
brew install psutil

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 176)May include surrounding context.

md
sudo apt install python3-psutil

# RHEL/CentOS
sudo yum install python3-psutil

# macOS
brew install psutil

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

This code enumerates running processes including usernames, process names, PIDs, CPU, and memory usage, and later prints them in multiple commands. Although the tool is a monitor and the output is visible, there is no user-facing warning or disclosure that it will collect and display other users' or system process information, which can be sensitive in shared environments.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.