Back to skill

Security audit

Compliance

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed local compliance logbook, but users should treat its plaintext logs and exports as sensitive.

Install only if you want a simple local plaintext compliance journal. Do not enter secrets, raw credentials, private keys, tokens, regulated personal data, or authoritative audit evidence unless you are comfortable managing the files under ~/.local/share/compliance yourself. Review exported CSV/JSON carefully before sharing because exports may contain all logged data and are not safely escaped.

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

Potentially Sensitive Compliance Records Stored Without Explicit Access Controls

Content
View full analysis
> "$DATA_DIR/history.log"; } ``` Representative record-writing implementation: ```bash generate) shift if [ $# -eq 0 ]; then echo "Recent generate entries:" tail -20 "$DATA_DIR/generate.log" 2>/dev/null || echo " No entries yet. Use: compliance generate " else local input="$*" local ts=$(date '+%Y-%m-%d %H:%M') echo "$ts|$input" >> "$DATA_DIR/generate.log" ``` The same storage pattern is repeated for the other record commands. ### Technical Analysis The Skill is intended to record security and compliance information, including credential rotations, revocations, password-strength assessments, audit findings, and data-storage operations. User-supplied record contents are written directly to plaintext files under `~/.local/share/compliance`. The script does not establish a restrictive umask, explicitly create the data directory with mode `0700`, or ensure that log files use mode `0600`. Consequently, effective permissions depend on the environment from which the script is launched. With a permissive umask, other local users may be able to read the records. Each record is also duplicated in `history.log` through `_log`, increasing the number of locations containing potentially sensitive information. No redaction, encryption, retention control, or warning against recording credentials and secrets is implemented. ### Attack Path 1. A user invokes a command such as `compliance rotate`, `compliance audit`, or `compliance check-strength` with sensitive operational information. 2. The script wri ...[truncated 1028 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/script.sh:61
Finding

Unescaped Record Values Permit Log Forgery and Unsafe JSON or CSV Exports

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 "=== Compliance 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)" } ``` Representative input source: ```bash else local input="$*" local ts=$(date '+%Y-%m-%d %H:%M') echo "$ts|$input" >> "$DATA_DIR/generate.log" local total=$(wc -l < "$DATA_DIR/generate.log") echo " [Compliance] generate: $input" echo " Saved. Total generate entries: $total" _log "generate" "$input" fi ``` ### Technical A ...[truncated 2728 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The description suggests a specialized compliance tool for tracking requirements and generating audit trail reports. The code instead is a generic local logging utility with numerous loosely security-themed commands that simply append user input to log files and support viewing/exporting/searching those logs. While some commands like audit, policy, report, export, and recent are superficially related to audit trails, the primary behavior is not actual compliance tracking or control/policy auditing. The broad set of additional commands and the absence of substantive compliance logic make the declared purpose materially inaccurate.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly stores user-provided compliance, audit, policy, and credential-related entries under a local directory in plaintext log files, but it does not prominently warn users that sensitive operational details may be retained unencrypted. In this context, users may paste secrets, internal findings, or regulated data, creating confidentiality and compliance risk if the host is shared, compromised, backed up insecurely, or the logs are exported broadly.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

Labeling the script as a security/compliance tool while its commands merely append user input to local logs is materially misleading. That can cause operators to trust it with sensitive compliance data or credentials, creating confidentiality and integrity risks because the expected security function is absent and data is simply retained on disk.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script advertises a focused compliance/audit capability but exposes a broad set of security-themed commands that do not perform their claimed functions and instead accept arbitrary user input for persistent logging. In a security or compliance context, this mismatch can mislead users into entering secrets, tokens, policy text, or audit evidence under the false assumption that the tool is securely processing them.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The export feature aggregates all logged entries and materializes them into json/csv/txt files without any warning, access control, or sanitization. This increases the blast radius of previously logged sensitive data by consolidating it into easy-to-copy export artifacts that may be less protected and more broadly shared.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

These command handlers persist arbitrary user-supplied input to files in the user's home directory without notice, consent, minimization, or redaction. In the context of a compliance skill, users are especially likely to submit sensitive audit artifacts, policy text, identifiers, or secrets, so silent retention meaningfully increases privacy and data exposure risk.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.