error-detective

PassAudited by VirusTotal on May 5, 2026.

Overview

Type: OpenClaw Skill Name: ah-error-detective Version: 1.0.0 The skill bundle provides a framework for error analysis that includes high-risk capabilities such as reading arbitrary files from the local filesystem and collecting system-level metrics. Specifically, the TypeScript code in 'references/examples.md' uses 'fs.readFile' to load source code and source maps based on stack trace data without apparent path sanitization, and it includes a 'MetricsCollector' designed to exfiltrate data to a configurable external endpoint. While these functions align with the stated debugging purpose, they provide a significant surface for unauthorized file access and data exfiltration.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If a user copies and runs the example without safeguards, stack-trace paths could cause local source-code snippets to be read and included in reports.

Why it was flagged

The markdown example shows code that reads a file named by a stack frame and includes nearby source context. This is aligned with debugging, and it is not installed or automatically run by the skill, but copied implementations should constrain file paths.

Skill content
const source = await this.loadSourceCode(frame.fileName); ... enhanced.context = lines.slice(start, end);
Recommendation

If implementing this example, restrict reads to the intended project workspace, validate stack-frame paths, and ask before including source snippets in output.

What this means

If implemented, debugging metadata may be sent to a configured metrics service.

Why it was flagged

The example uses a configurable metrics endpoint and appears to send derived investigation metadata rather than raw logs or code. This is not active skill behavior, but it is an external data flow to review if reused.

Skill content
this.metrics = new MetricsCollector(config.metricsEndpoint); ... this.metrics.track('error.investigated', { pattern: pattern?.name, rootCause: rootCause.type, solutionsFound: solutions.length, });
Recommendation

Document the metrics destination, minimize telemetry fields, avoid sending stack traces or source snippets unless explicitly approved, and allow telemetry to be disabled.