Back to skill

Security audit

Cachyos Expert

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent CachyOS/Arch help skill, but it includes several high-impact commands that are under-warned and could weaken or compromise a system if followed casually.

Install only if you are comfortable reviewing Linux administration commands before use. Treat its command blocks as examples, not copy-paste instructions: avoid piping remote code into interpreters, verify checksums in PKGBUILDs, protect generated private keys, understand that docker/lxd group membership can be root-equivalent, and require backups or dry-runs before destructive cleanup or mirroring commands.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (6)

T03 · Remote Payload Retrieval and Execution

Error
Location
references/performance-tweaks.md:546
Finding

Execution of Mutable Remote Python Code Without Integrity Verification

Content
View full analysis
Remediation
View remediation
/speedtest.py ``` 3. Verify a documented SHA-256 digest or cryptographic signature: ```bash printf '%s %s\n' '' speedtest.py | sha256sum --check ``` 4. Inspect the downloaded file before execution. 5. Execute it as an unprivileged user only after verification: ```bash python speedtest.py ``` Do not pipe network responses directly into an interpreter. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
references/networking.md:229
Finding

WireGuard Private Key Created Without Restrictive File Permissions

Content
View full analysis
publickey ``` ### Technical Analysis The `tee` command creates `privatekey` using permissions derived from the caller's current `umask`. With a common `022` umask, the file may be created with mode `0644`, making the WireGuard private key readable by every local user. A WireGuard private key is an authentication secret. It must be protected from other users from the moment it is created; applying restrictive permissions only after creation can still leave a short exposure window. ### Attack Path 1. The user executes the documented command with a permissive default umask. 2. `tee` creates `privatekey` with group- or world-readable permissions. 3. Another local user or compromised process reads the private key. 4. The attacker configures a WireGuard peer using the stolen key. 5. Where the corresponding public key remains authorized, the attacker impersonates the legitimate VPN peer and obtains its network access. ### Impact Assessment The attacker can obtain the VPN identity and network permissions assigned to the affected WireGuard peer. Depending on the VPN configuration, this may expose internal services, private subnets, administrative interfaces, or traffic intended for the legitimate peer. This issue does not itself grant root privileges, but it can compromise network authentication and enable lateral movement. ]]>
Remediation
View remediation
publickey chmod 600 privatekey ``` For system-wide WireGuard configuration, create and store the key in a root-owned directory: ```bash sudo install -d -m 700 /etc/wireguard sudo sh -c 'umask 077; wg genkey > /etc/wireguard/privatekey' sudo sh -c 'wg pubkey < /etc/wireguard/privatekey > /etc/wireguard/publickey' sudo chmod 600 /etc/wireguard/privatekey ``` Avoid printing the private key to logs or command output, and verify permissions before using it: ```bash stat -c '%a %U:%G %n' /etc/wireguard/privatekey ``` ]]>

T05 · Unauthorized Access and Privilege Escalation

Error
Location
references/virtualization.md:138
Finding

Docker Group Membership Grants Root-Equivalent Host Access Without Adequate Warning

Content
View full analysis
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
references/virtualization.md:238
Finding

LXD Group Membership Grants Root-Equivalent Host Access Without Adequate Warning

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
references/gaming.md:240
Finding

World-Accessible Udev Rules for Game Controller Input Devices

Content
View full analysis
Remediation
View remediation
", ATTRS{idProduct}=="", TAG+="uaccess" ``` Alternatively, use a dedicated group and mode `0660`: ```udev SUBSYSTEM=="input", ATTRS{idVendor}=="", ATTRS{idProduct}=="", GROUP="input", MODE="0660" ``` Use exact vendor and product identifiers instead of broad device-name wildcards. After changing the rules, reload and test them: ```bash sudo udevadm control --reload-rules sudo udevadm trigger ``` Verify that unrelated users cannot open the resulting device nodes. ]]>

T08 · Insecure Dependencies

Warning
Location
references/package-management.md:241
Finding

PKGBUILD Template Disables Source Integrity Verification

Content
View full analysis
Remediation
View remediation
') ``` Where the upstream project signs releases, also validate the signing key and use `validpgpkeys`: ```bash source=( "$pkgname-$pkgver.tar.gz::https://example.org/releases/$pkgver.tar.gz" "$pkgname-$pkgver.tar.gz.sig::https://example.org/releases/$pkgver.tar.gz.sig" ) sha256sums=( '' 'SKIP' ) validpgpkeys=('') ``` Pin versioned release artifacts rather than mutable branch archives. Document that `SKIP` is inappropriate for production package recipes unless another authenticated integrity mechanism is in place. ]]>
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (438)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
96% confidence
Finding

rsync -avhP --delete /source/ /destination/ is a destructive command: if paths are reversed, mistyped, or incompletely populated, destination-only files are removed. In backup documentation this is especially risky because users may mistake a mirror operation for a safe one-way backup and permanently erase stored data.

Content

Scanner excerpt · references/backup-and-recovery.md (reported line 213)May include surrounding context.

md
rsync -avhP /source/ /destination/

# Mit Löschen (Mirror)
rsync -avhP --delete /source/ /destination/

# Remote
rsync -avhP -e ssh /source/ user@server:/destination/

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

rm -rf ~/.steam/steam/steamapps/compatdata/<APPID>/ is an irreversible destructive command. In a troubleshooting guide, such commands are more dangerous because users often copy-paste them under frustration, increasing the likelihood of deleting the wrong prefix or important game state.

Content

Scanner excerpt · references/gaming.md (reported line 312)May include surrounding context.

md
# EAC/BattlEye benötigen Game-Developer-Support für Linux

# Steam-Prefix zurücksetzen
rm -rf ~/.steam/steam/steamapps/compatdata/<APPID>/

# Spezifische Proton-Version pro Spiel erzwingen
# Steam → Rechtsklick auf Spiel → Properties → Compatibility

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

rm -rf ~/.steam/steam/steamapps/compatdata/<APPID>/ is an irreversible destructive command. In a troubleshooting guide, such commands are more dangerous because users often copy-paste them under frustration, increasing the likelihood of deleting the wrong prefix or important game state.

Content

Scanner excerpt · references/gaming.md (reported line 312)May include surrounding context.

md
# EAC/BattlEye benötigen Game-Developer-Support für Linux

# Steam-Prefix zurücksetzen
rm -rf ~/.steam/steam/steamapps/compatdata/<APPID>/

# Spezifische Proton-Version pro Spiel erzwingen
# Steam → Rechtsklick auf Spiel → Properties → Compatibility

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

rm -rf ~/.steam/steam/steamapps/compatdata/<APPID>/ is an irreversible destructive command. In a troubleshooting guide, such commands are more dangerous because users often copy-paste them under frustration, increasing the likelihood of deleting the wrong prefix or important game state.

Content

Scanner excerpt · references/gaming.md (reported line 312)May include surrounding context.

md
# EAC/BattlEye benötigen Game-Developer-Support für Linux

# Steam-Prefix zurücksetzen
rm -rf ~/.steam/steam/steamapps/compatdata/<APPID>/

# Spezifische Proton-Version pro Spiel erzwingen
# Steam → Rechtsklick auf Spiel → Properties → Compatibility

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/networking.md (reported line 363)May include surrounding context.

ip neigh show

Netzwerk-Interfaces neu starten

sudo nmcli networking off && sudo nmcli networking on

text

---

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/package-management.md (reported line 185)May include surrounding context.

5. Keyring & Signierung

bash
# CachyOS Keyring installieren/aktualisieren
sudo pacman -S cachyos-keyring

# Arch Keyring aktualisieren

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/package-management.md (reported line 188)May include surrounding context.

5. Keyring & Signierung

bash
# CachyOS Keyring installieren/aktualisieren
sudo pacman -S cachyos-keyring

# Arch Keyring aktualisieren

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/package-management.md (reported line 191)May include surrounding context.

5. Keyring & Signierung

bash
# CachyOS Keyring installieren/aktualisieren
sudo pacman -S cachyos-keyring

# Arch Keyring aktualisieren

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/package-management.md (reported line 186)May include surrounding context.

bash
# CachyOS Keyring installieren/aktualisieren
sudo pacman -S cachyos-keyring

# Arch Keyring aktualisieren
sudo pacman -S archlinux-keyring

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/package-management.md (reported line 189)May include surrounding context.

bash
# CachyOS Keyring installieren/aktualisieren
sudo pacman -S cachyos-keyring

# Arch Keyring aktualisieren
sudo pacman -S archlinux-keyring

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/package-management.md (reported line 195)May include surrounding context.

bash
# CachyOS Keyring installieren/aktualisieren
sudo pacman -S cachyos-keyring

# Arch Keyring aktualisieren
sudo pacman -S archlinux-keyring

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

The command uses rm -rf against a root-owned trust directory, which is an inherently dangerous destructive primitive even though the target is narrower than '/'. In a troubleshooting skill, users may copy-paste it without understanding that it permanently deletes pacman's GnuPG state.

Content

Scanner excerpt · references/package-management.md (reported line 192)May include surrounding context.

md
sudo pacman -S archlinux-keyring

# Keyring komplett neu initialisieren (bei schweren Problemen)
sudo rm -rf /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux cachyos
sudo pacman -Sy archlinux-keyring cachyos-keyring

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

The command uses rm -rf against a root-owned trust directory, which is an inherently dangerous destructive primitive even though the target is narrower than '/'. In a troubleshooting skill, users may copy-paste it without understanding that it permanently deletes pacman's GnuPG state.

Content

Scanner excerpt · references/package-management.md (reported line 192)May include surrounding context.

md
sudo pacman -S archlinux-keyring

# Keyring komplett neu initialisieren (bei schweren Problemen)
sudo rm -rf /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux cachyos
sudo pacman -Sy archlinux-keyring cachyos-keyring

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

The rm -rf command recursively deletes all cached paru clone directories and can destroy local patches or work in progress. In a help skill, terse destructive cleanup commands are risky because users often execute them verbatim without inspecting contents.

Content

Scanner excerpt · references/package-management.md (reported line 350)May include surrounding context.

AUR-Build-Cache

paru -Sc # paru Cache bereinigen rm -rf ~/.cache/paru/clone/*

text

---

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

The rm -rf command recursively deletes all cached paru clone directories and can destroy local patches or work in progress. In a help skill, terse destructive cleanup commands are risky because users often execute them verbatim without inspecting contents.

Content

Scanner excerpt · references/package-management.md (reported line 350)May include surrounding context.

AUR-Build-Cache

paru -Sc # paru Cache bereinigen rm -rf ~/.cache/paru/clone/*

text

---

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The kernel command line includes mitigations=off, which disables CPU vulnerability mitigations for classes of speculative-execution attacks. This materially weakens host security and is especially dangerous because the document is broad performance guidance rather than a narrowly scoped lab-only procedure with strong caveats.

Content

No source excerpt is available for this finding.

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/backup-and-recovery.md (reported line 237)May include surrounding context.

→ 2048 * 2MB = 4GB für VMs reserviert

Nested Virtualization

Intel: echo 'options kvm_intel nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

AMD: echo 'options kvm_amd nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

text

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/networking.md (reported line 270)May include surrounding context.

→ 2048 * 2MB = 4GB für VMs reserviert

Nested Virtualization

Intel: echo 'options kvm_intel nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

AMD: echo 'options kvm_amd nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

text

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/networking.md (reported line 271)May include surrounding context.

→ 2048 * 2MB = 4GB für VMs reserviert

Nested Virtualization

Intel: echo 'options kvm_intel nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

AMD: echo 'options kvm_amd nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

text

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/performance-tweaks.md (reported line 104)May include surrounding context.

→ 2048 * 2MB = 4GB für VMs reserviert

Nested Virtualization

Intel: echo 'options kvm_intel nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

AMD: echo 'options kvm_amd nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

text

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/performance-tweaks.md (reported line 108)May include surrounding context.

→ 2048 * 2MB = 4GB für VMs reserviert

Nested Virtualization

Intel: echo 'options kvm_intel nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

AMD: echo 'options kvm_amd nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

text

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/performance-tweaks.md (reported line 109)May include surrounding context.

→ 2048 * 2MB = 4GB für VMs reserviert

Nested Virtualization

Intel: echo 'options kvm_intel nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

AMD: echo 'options kvm_amd nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

text

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/performance-tweaks.md (reported line 125)May include surrounding context.

→ 2048 * 2MB = 4GB für VMs reserviert

Nested Virtualization

Intel: echo 'options kvm_intel nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

AMD: echo 'options kvm_amd nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

text

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/performance-tweaks.md (reported line 128)May include surrounding context.

→ 2048 * 2MB = 4GB für VMs reserviert

Nested Virtualization

Intel: echo 'options kvm_intel nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

AMD: echo 'options kvm_amd nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

text

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · references/performance-tweaks.md (reported line 344)May include surrounding context.

→ 2048 * 2MB = 4GB für VMs reserviert

Nested Virtualization

Intel: echo 'options kvm_intel nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

AMD: echo 'options kvm_amd nested=1' | sudo tee /etc/modprobe.d/kvm-nested.conf

text

Static analysis

Detected: suspicious.destructive_delete_command

Documentation contains a destructive delete command without an explicit confirmation gate.

Warn
Code
suspicious.destructive_delete_command
Location
references/package-management.md:192