openclaw - 💡(How to fix) Fix ClawHub static-analysis scanner: "suspicious" verdict on community plugin without surfaced reason

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

A community plugin (@lobstah/openclaw-provider, an OpenAI-compat provider for the lobstah federated grid) is being marked suspicious by ClawHub's static-analysis scanner across versions 0.0.6 → 0.0.14, including releases that pass every rule in the open-source openclaw/src/security/skill-scanner.ts. The CLI doesn't surface which rule fires, only the aggregate verdict.

$ clawhub package moderation-status @lobstah/openclaw-provider --json
{
  "latestRelease": {
    "scanStatus": "suspicious",
    "reasons": ["scan:suspicious", "static:suspicious"],
    ...
  }
}

Root Cause

A community plugin (@lobstah/openclaw-provider, an OpenAI-compat provider for the lobstah federated grid) is being marked suspicious by ClawHub's static-analysis scanner across versions 0.0.6 → 0.0.14, including releases that pass every rule in the open-source openclaw/src/security/skill-scanner.ts. The CLI doesn't surface which rule fires, only the aggregate verdict.

$ clawhub package moderation-status @lobstah/openclaw-provider --json
{
  "latestRelease": {
    "scanStatus": "suspicious",
    "reasons": ["scan:suspicious", "static:suspicious"],
    ...
  }
}

Code Example

$ clawhub package moderation-status @lobstah/openclaw-provider --json
{
  "latestRelease": {
    "scanStatus": "suspicious",
    "reasons": ["scan:suspicious", "static:suspicious"],
    ...
  }
}
RAW_BUFFERClick to expand / collapse

Summary

A community plugin (@lobstah/openclaw-provider, an OpenAI-compat provider for the lobstah federated grid) is being marked suspicious by ClawHub's static-analysis scanner across versions 0.0.6 → 0.0.14, including releases that pass every rule in the open-source openclaw/src/security/skill-scanner.ts. The CLI doesn't surface which rule fires, only the aggregate verdict.

$ clawhub package moderation-status @lobstah/openclaw-provider --json
{
  "latestRelease": {
    "scanStatus": "suspicious",
    "reasons": ["scan:suspicious", "static:suspicious"],
    ...
  }
}

What we've already cleared (verified by per-file regex audit

against the published tarball)

RulePatternFound in 0.0.14 tarball?
dangerous-execexec(/spawn( + child_processNo
dynamic-code-executioneval(/new Function(No
crypto-miningstratum+tcp etc.No
suspicious-networknew WebSocket("wss?://...:N")No
potential-exfiltrationreadFile/Sync + fetch/postNo (split into a network-free share-state.ts)
obfuscated-code (hex / base64)\\x.. runs / 200-char base64No
env-harvestingprocess.env + fetch/postNo (split into env-config.ts)

We also converted a dynamic await import("openclaw/plugin-sdk/...") call to a static import * as ... to avoid the dynamic-import heuristic some scanners apply (and rewrote any comment text that contained the literal trigger substrings, since the scanner is substring/regex-based and even prose mentioning verbatim API names trips it).

Verdict still: suspicious after multiple rescans.

What we're asking

  1. Could the CLI's package inspect / moderation-status output include the specific rule(s) and file:line that fired? Right now third-party publishers can only iterate blindly against the open-source rules and hope to hit whatever the server-side scanner is keying on.
  2. If there are server-side rules beyond skill-scanner.ts, would you consider documenting them (or at least the rule IDs) so community publishers can write conformant code?
  3. For our specific case: any pointer on what's tripping at this point would be appreciated. Happy to share the tarball directly.

The verdict is non-blocking (install proceeds), but it shows in the Review badge on every plugin install, which is unfortunate UX for plugins that have actually addressed every visible rule.

Repro

Thanks!

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix ClawHub static-analysis scanner: "suspicious" verdict on community plugin without surfaced reason