Back to skill

Security audit

Sysadmin Handbook

Security checks for vulnerabilities and agentic risk

Overview

This package is not clearly malicious, but it is published as book/reference content while shipping a sysadmin logging CLI that stores operational notes locally in plaintext.

Install only if you intend to use a local sysadmin journal, not a passive reference collection. Avoid recording credentials, tokens, sensitive host details, or incident data unless you are comfortable with plaintext files under your home directory; review file permissions and export handling before use.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/script.sh:6
Finding

Operational Logs and Exports Are Created Without Restrictive Permissions

Content
View full analysis
> "$DATA_DIR/history.log"; } ``` Representative record creation: ```bash echo "$ts|$input" >> "$DATA_DIR/scan.log" ``` ### Technical Analysis The application creates its data directory, log files, history file, and export files without setting a restrictive `umask` or explicitly assigning secure filesystem modes. The actual permissions therefore depend on the invoking process's environment. With a common `022` umask, `mkdir` normally creates the directory with mode `0755`, while shell redirection creates files with mode `0644`. The records are intended to contain operationally sensitive information such as: - Network scan results and address ranges - Hostnames and service health details - Incident and security alerts - Backup and restoration information - Configuration changes and remediation notes The path is predictable and documented. If the user's home-directory permissions and parent-directory traversal settings allow access, another local account may enumerate or read these records. This does not grant elevated execution privileges by itself. It is a confidentiality weakness affecting data owned by the user running the skill. ### Attack Path 1. An administrator runs the skill under a permissive umask such as `022`. 2. The skill creates `~/.local/share/sysadmin-handbook` and its files without explicit permission restrictions. 3. The administrator records sensitive infrastructure or incident-response information. 4. A second local user checks the predictable data directory. 5. If parent-directory traversal is available, that user reads world-r ...[truncated 678 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/script.sh:55
Finding

Unescaped Log Values Permit Malformed JSON and CSV Formula Injection

Content
View full analysis
"$out" local first=1 for f in "$DATA_DIR"/*.log; do [ -f "$f" ] || continue local name=$(basename "$f" .log) while IFS='|' read -r ts val; do [ $first -eq 1 ] && first=0 || echo "," >> "$out" printf ' {"type":"%s","time":"%s","value":"%s"}' "$name" "$ts" "$val" >> "$out" done < "$f" done echo "\n]" >> "$out" ;; csv) echo "type,time,value" > "$out" for f in "$DATA_DIR"/*.log; do [ -f "$f" ] || continue local name=$(basename "$f" .log) while IFS='|' read -r ts val; do echo "$name,$ts,$val" >> "$out"; done < "$f" done ;; txt) echo "=== Sysadmin Handbook Export ===" > "$out" for f in "$DATA_DIR"/*.log; do [ -f "$f" ] || continue echo "--- $(basename "$f" .log) ---" >> "$out" cat "$f" >> "$out" done ;; *) echo "Formats: json, csv, txt"; return 1 ;; esac echo "Exported to $out ($(wc -c < "$out") bytes)" } ``` ### Technical Analysis Values stored in the logs originate from command-line input. The export implementation inserts those values directly into JSON and CSV without format-specific encoding. For JSON, quotation marks, backslashes, control characters, and embedded newlines are not escaped. A crafted value can terminate the intended string, insert additional properties or records, or make the entire document invalid. For CSV, commas, quotation ...[truncated 2164 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (8)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill metadata advertises a passive knowledge collection, but the body documents a stateful sysadmin operations tool with persistent storage, search, export, and operational workflows. This mismatch is dangerous because it can cause users or hosting platforms to grant trust to a skill under false assumptions, increasing the chance that sensitive operational data is collected or the skill is used in a higher-risk context than expected.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The manifest and description frame the skill as a reference/resource collection, while the file content presents an operational CLI workflow with local persistence and administrative use cases. In a skill ecosystem, this is a security-relevant integrity issue because reviewers and users may enable or invoke the skill without understanding that it handles potentially sensitive sysadmin data and changes the trust boundary from static content to an active tool.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The script's behavior materially diverges from the declared skill purpose. A user expecting a passive book/reference skill instead gets an operational command wrapper that creates persistent local state and collects arbitrary inputs, which violates least surprise and can bypass trust decisions based on the manifest. In skill ecosystems, this kind of capability mismatch is dangerous because it can hide unintended data collection or unauthorized operational tooling behind an innocuous description.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
69% confidence
Finding

The introductory text presents the tool as one where 'every action is timestamped and logged locally' and 'works entirely offline,' suggesting a passive local recorder. Yet the command set is phrased as performing or managing substantive sysadmin operations like scans, fixes, backups, and restores, which contradicts the narrower framing of simply logging local actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs users to store scan results, alerts, fixes, backups, and restores in plaintext local logs and export files, but it does not warn that these records may contain sensitive infrastructure details, hostnames, IPs, incidents, or recovery information. This creates a realistic confidentiality risk if the workstation is shared, compromised, backed up insecurely, or if exports are mishandled.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The command surface advertises sysadmin-oriented actions such as scan, monitor, fix, backup, and restore despite the package being described as reference content. Even though these commands currently only log input, exposing operationally named capabilities in a misleading context increases the chance that users will enter sensitive infrastructure details or execute the skill under inappropriate trust assumptions. The misleading framing makes the skill context more dangerous because users may disclose secrets while believing they are interacting with a harmless book collection.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

User-supplied input is written verbatim to persistent files under the home directory without consent, retention limits, or sensitivity checks. Because the commands are sysadmin-themed, users may paste hostnames, credentials, incident notes, tokens, or other operational secrets, which would then remain on disk and be re-exposed through export, search, recent, and status functions. In the context of a misleading 'book/knowledge' skill, this undisclosed persistence is more dangerous because users are less likely to expect local logging.

Content

No source excerpt is available for this finding.

Scope Creep

Low
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

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

md
# Sysadmin Handbook

Sysadmin Handbook v2.0.0 — a thorough sysops toolkit for system administrators. Record, track, and manage all aspects of system administration from the command line. Every action is timestamped and logged locally for full auditability.

## Why Sysadmin Handbook?

Static analysis

No suspicious patterns detected.