/SKILL.md
Diagnose suspected Linux mining compromise or miner-like abuse on local or remote hosts. Use for read-only triage, scene reconstruction, persistence review, command-trust verification, same-host baseline comparison, and evidence-bound reporting. Allow unrestricted read-only inspection, require explicit user confirmation before any state-changing action, keep traceability values visible by default for internal work, and never fabricate findings or attribution.
npx skillsauth add folajj/mining-host-troubleshooter-skill mining-host-troubleshooterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when a Linux host may be affected by CPU mining, GPU mining, disguised miner services, persistence abuse, or related compromise.
Primary goals:
inconclusive.reversible_change, irreversible_change, or business_interruption.Treat example values in this skill and its bundled references as placeholders unless the user or live evidence says otherwise.
<HOST_IP>, <REMOTE_USER>, <SSH_KEY_PATH>, <CASE_DIR>, and <SERVICE_PATH> are templates only./var/log/..., /etc/systemd/..., /proc/..., are intentional evidence targets, not case-specific conclusions.[MODE: SHELL_FALLBACK].[PRIVILEGE: restricted|user|sudo|root] based on the actual session.[CHECKPOINT: <stage>] so the investigation can resume after interruption.[CONFIRMED: ...] for evidence-backed conclusions[INCONCLUSIVE: ...] when evidence is partial or insufficient[OCR-UNCERTAIN: ...] when screenshot or image interpretation is not fully reliableobserved_fact, inference, or attribution, and attach a confidence label plus confidence reason.Support the safest available access path:
--remote-user <USER> --remote-ip <IP> in run_readonly_workflow.py.Before connecting remotely, confirm:
known_hosts entry or out-of-band fingerprint.Use references/login-methods.md only when you need concrete connection examples.
Follow this order unless the user gives a narrower scope:
cpu, gpu, mixed, or unknown.--trust-on-first-use is available and must be recorded in the report as weaker trust bootstrap. Then check distro family, package manager family, actual privilege level, command path trust, alias/function wrapping, and missing-command fallbacks such as ss -> netstat -> lsof -> /proc/net or ps -> /proc../reports/.wtmp, btmp, lastlog, journald/rsyslog configuration, service/timer metadata, package-manager history, shell traces such as .wget-hsts or .lesshst, /proc/*/exe (deleted), and other surviving artifacts.ExecStart, user startup items, shell histories, suspicious drop paths, network listeners, containers, preload hooks, PAM, sudoers, keys, modules, and eBPF where visible.hypothesis -> supporting evidence -> counter evidence -> status) only from evidence.For most investigations, prefer the bundled workflow and state [MODE: AUTOMATED_WORKFLOW]:
python scripts/run_readonly_workflow.py ...
When the user directly provides IP, username, and password, use the shortcut remote form (prefer env-based password input):
python scripts/run_readonly_workflow.py --remote-user <USER> --remote-ip <IP> --password-env <ENV_VAR> --trust-on-first-use ...
Behavior:
known_hosts or a pinned fingerprint../reports/<case>/ by default.--baseline <BASELINE_JSON> is provided.leadership-report.md, leadership-report.zh-CN.md, report.md, report.zh-CN.md, reports/index.md, reports/index.zh-CN.md, reports/management-summary.md, reports/management-summary.zh-CN.md, reports/soc-summary.md, reports/soc-summary.zh-CN.md, reports/operator-brief.md, reports/operator-brief.zh-CN.md, reports/operator-brief.json, reports/external-evidence-checklist.md, and meta/report-manifest.json. The leadership reports are standalone review artifacts; the full reports keep evidence navigation, fixed anchors, and artifact links.--remote-user <USER> --remote-ip <IP> with password env/prompt, and optional --trust-on-first-use for first-seen hosts.If the user wants staged control, use these scripts separately:
scripts/collect_live_evidence.pyscripts/enrich_case_evidence.pyscripts/validate_case_bundle.pyscripts/apply_host_baseline.pyscripts/export_investigation_report.pyscripts/compare_case_bundles.pyscripts/refresh_case_bundle.pyscripts/generate_operator_brief.pyscripts/nl_control.pyUse baselines only as suppression and comparison aids.
Use:
scripts/generate_host_baseline.pyscripts/apply_host_baseline.pyAsk before any command that can:
If a user approves such a command, state:
Use references/risk-command-policy.md and scripts/command_guard.py when needed.
Every final output should include:
observed_fact / inference / attribution) and confidence reason for each key conclusion.When exporting files, use the case-bundle layout under reports/<case>/ and prefer the bundled report exporter.
Load only what is needed:
references/diagnostic-playbook.md for detailed incident-triage flow.references/os-compatibility.md for distro differences.references/command-trust-verification.md for command trust issues.references/log-loss-fallbacks.md for deleted or damaged log scenarios.references/manual-shell-fallback.md when Python or scripts are unavailable.references/restricted-permissions.md when privilege is limited.references/multimodal-evidence.md for screenshots, pasted logs, and config fragments.references/checkpoint-recovery.md for stage markers and resume behavior.references/enterprise-self-audit.md for enterprise-style self-check flow.references/case-diffing.md for repeat-case comparison.references/reporting-and-traceability.md for report discipline.references/usage-scenarios.md for operator examples.references/legitimate-high-compute-review.md for false-positive control.references/external-evidence-interfaces.md for cloud, K8s, and boundary telemetry pivots.If updating this skill itself:
skill-creator workflow.SKILL.md, both README files, and agents/openai.yaml aligned.reports/ empty except for the placeholder file when packaging.python scripts/audit_example_placeholders.py --strict to catch accidental example anchoring or machine-specific values.SKILL.md compact; move detail into references/ when the core operating contract is already clear.development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.