Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Provides forensically-safe Linux threat detection, network and process analysis, integrity verification, controlled firewall and service remediation preservi...
Provides forensically-safe Linux threat detection, network and process analysis, integrity verification, controlled firewall and service remediation preservi...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
This skill provides a structured, forensically-aware framework for analyzing and securing a Linux host during or after a security event. It emphasizes: Non-destructive evidence collection Accurate threat detection Firewall-aware containment Integrity verification Controlled, reversible remediation Distribution-aware command usage
Debian / Ubuntu RHEL / CentOS / Rocky / Alma Fedora Arch Linux (limited package guidance)
Shell: bash or POSIX sh Privilege: Root or sudo Host-level access (NOT container-restricted environments) systemd-based systems preferred โ ๏ธ If running inside Docker, Kubernetes, LXC, or other containers, firewall, audit, and service commands may not reflect the host system.
Modern Linux systems may use: iptables-legacy iptables-nft (compatibility wrapper) Native nftables firewalld (RHEL-family default)
iptables --version which nft systemctl status firewalld If nftables is active: nft list ruleset Do NOT assume iptables -L represents the full firewall state.
DistributionPrimary Log FileUbuntu/Debian/var/log/syslogRHEL/CentOS/Fedora/var/log/messagesAll modern systemdjournalctl Always prefer: journalctl -xe
ss -tulpn
ss -antp | grep ESTABLISHED
iptables iptables -L -n -v --line-numbers iptables -S nftables nft list ruleset
ss -lntup Avoid unnecessary full scans of localhost unless required.
nmap -sV -T3 -p- localhost
tcpdump -i any -nn -c 100
ps auxww --forest
top
lsof -p <PID>
strace -p <PID> โ ๏ธ strace may change process behavior. Use carefully during live compromise.
lsmod
dmesg | tail -50
rkhunter --check chkrootkit May produce false positives. Validate findings manually.
clamscan -r /home Use selectively; large scans increase I/O and may alter access timestamps.
lynis audit system
Install: apt install aide # or dnf install aide Initialize: aideinit mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz Run Check: aide --check
rpm -Va
apt install debsums debsums -s
Install: sudo mkdir -p /opt/forensics sudo wget -P /opt/forensics https://raw.githubusercontent.com/DidierStevens/DidierStevensSuite/master/base64dump.py sudo wget -P /opt/forensics https://raw.githubusercontent.com/DidierStevens/DidierStevensSuite/master/re-search.py sudo wget -P /opt/forensics https://raw.githubusercontent.com/DidierStevens/DidierStevensSuite/master/zipdump.py sudo wget -P /opt/forensics https://raw.githubusercontent.com/DidierStevens/DidierStevensSuite/master/1768.py sudo wget -P /opt/forensics https://raw.githubusercontent.com/DidierStevens/DidierStevensSuite/master/pdf-parser.py sudo wget -P /opt/forensics https://raw.githubusercontent.com/DidierStevens/DidierStevensSuite/master/oledump.py sudo chmod +x /opt/forensics/*.py
python3 /opt/forensics/base64dump.py file.txt
python3 /opt/forensics/re-search.py -n ipv4 logfile
python3 /opt/forensics/zipdump.py suspicious.zip
python3 /opt/forensics/1768.py payload.bin
python3 /opt/forensics/pdf-parser.py file.pdf python3 /opt/forensics/oledump.py file.doc Static inspection only. Never execute suspicious files.
who -a
last -a
Ubuntu/Debian: journalctl -u ssh.service | grep "Failed password" RHEL/Fedora: journalctl -u sshd.service | grep "Failed password"
journalctl _COMM=sudo
ausearch -m USER_AUTH,USER_LOGIN,USER_CHAUTHTOK
iptables -I INPUT 1 -s <IP> -j DROP
nft add rule inet filter input ip saddr <IP> drop If firewalld is active: firewall-cmd --add-rich-rule='rule family="ipv4" source address="<IP>" drop'
iptables (Debian): netfilter-persistent save iptables (manual save): iptables-save > /etc/iptables/rules.v4 firewalld: firewall-cmd --runtime-to-permanent nftables: nft list ruleset > /etc/nftables.conf
Preferred escalation: Observe kill -TERM <PID> If required: kill -STOP <PID> for analysis Use kill -KILL <PID> only if necessary Avoid killall or broad pkill.
systemctl stop <service> systemctl disable <service> systemctl mask <service>
crontab -l ls -lah /etc/cron*
ls -lah /etc/systemd/system/
cat /etc/rc.local
Check status: getenforce Review denials: ausearch -m AVC
Never execute suspicious binaries. Preserve evidence before deletion: sha256sum file mkdir -p /root/quarantine mv file /root/quarantine/file.vir Log every remediation step: date -u Document: Timestamp Command executed Observed outcome
Run lynis audit system Verify no unknown listening services Check for modified system binaries
Identify high CPU process Capture short tcpdump Extract file hash Contain IP via firewall Preserve malicious artifact
Use zipdump Extract hash Move to quarantine Search logs for execution attempts
These guardrails are mandatory and apply to all remediation activity. Their purpose is to prevent self-inflicted outages, preserve forensic integrity, and ensure reversible, controlled incident response.
Before executing any remediation command: Record timestamp (UTC): date -u Run a discovery command to capture current state: Network: ss -tulpn Active connections: ss -antp Firewall (iptables): iptables -L -n -v Firewall (nftables): nft list ruleset firewalld: firewall-cmd --list-all After remediation: Re-run the same discovery command. Compare state change and confirm: Intended effect achieved No unintended service disruption No management lockout (e.g., SSH access intact) Never assume a command succeeded without verifying its effect.
To prevent catastrophic system damage: NEVER use: rm -rf * rm -rf / killall Broad pkill patterns Unbounded globbing in sensitive directories Always: Use absolute file paths (e.g., /tmp/malware.bin) Target explicit PIDs (kill -TERM <PID>) Confirm file existence with ls -lah <file> Hash suspicious files before modification: sha256sum <file> Wildcard deletions and pattern-based termination are prohibited during incident response.
After containment of a malicious process or service, immediately inspect for persistence mechanisms.
Cron Jobs crontab -l ls -lah /etc/cron* systemd Services & Timers systemctl list-unit-files --type=service systemctl list-timers --all ls -lah /etc/systemd/system/ Init Scripts ls -lah /etc/init.d/ cat /etc/rc.local User-Level Persistence ls -lah ~/.config/systemd/user/ SSH Backdoors cat ~/.ssh/authorized_keys After removal of malicious artifacts: Run integrity verification: aide --check On RHEL-based systems: rpm -Va On Debian-based systems: debsums -s Do not consider a threat eradicated until persistence mechanisms are eliminated.
Before modifying firewall rules: Confirm SSH listening port: ss -tulpn | grep ssh Confirm an explicit ACCEPT rule exists for: Current management IP SSH port NEVER: iptables -F NEVER set a default DROP policy without verifying SSH access rule exists.
Firewall rule changes are runtime by default and may not survive reboot. iptables (Debian/Ubuntu) Runtime only until saved: iptables-save > /etc/iptables/rules.v4 If using netfilter-persistent: netfilter-persistent save RHEL (legacy iptables service) service iptables save firewalld Runtime-to-permanent: firewall-cmd --runtime-to-permanent nftables Persist ruleset: nft list ruleset > /etc/nftables.conf Document: Whether rule is temporary or permanent Location of saved configuration Verification after reboot (if applicable)
Before deleting or killing: Hash the artifact: sha256sum <file> Move to quarantine: mkdir -p /root/quarantine mv <file> /root/quarantine/<file>.vir Record: Timestamp (UTC) Original path Hash value Reason for containment Avoid kill -9 unless absolutely required. Prefer: kill -TERM <PID> kill -STOP <PID> (if forensic inspection needed) kill -KILL <PID> only as last resort
Every remediation action must include: date -u Command executed Justification Observed outcome Updated risk level (if applicable) Remediation without documentation is non-compliant.
All actions must follow: Smallest necessary change Reversible where possible No broad configuration resets No service restarts without justification No system-wide scans during active compromise unless scoped Contain first. Eradicate methodically. Recover cautiously.
Identity, auth, scanning, governance, audit, and operational guardrails.
Largest current source with strong distribution and engagement signals.