Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

OpenScan

v1.0.0

Scan binaries and scripts for malicious patterns before trusting them. Use when installing skills, evaluating unknown binaries, or auditing tool dependencies.

0· 1.2k· 1 versions· 2 current· 2 all-time· Updated 12h ago· MIT-0

Install

openclaw skills install openscan

OpenScan

Lightweight malware detection for macOS and Linux binaries/scripts. Ported from the Harkonnen antimalware engine.

What It Detects

Binary Analysis:

  • Mach-O (macOS) and ELF (Linux) parsing
  • Suspicious dylibs/shared objects (Frida, injection frameworks)
  • Missing/invalid code signatures (macOS)
  • Disabled security features (PIE, NX, RELRO)
  • Packed/encrypted binaries (high entropy)

Pattern Detection:

  • Shellcode byte sequences
  • Suspicious API references (process injection, keylogging, etc.)
  • Network indicators (embedded URLs, IPs)
  • Encoded payloads (base64 blobs)

Script Analysis:

  • Dangerous shell patterns (curl|bash, eval, etc.)
  • Obfuscation indicators
  • Privilege escalation attempts

Usage

# Scan a single binary
node bin/scan.js /path/to/binary

# Scan a skill folder
node bin/scan.js /path/to/skill-folder

# JSON output for automation
node bin/scan.js /path --json

# Only show threats
node bin/scan.js /path --quiet

Exit Codes

  • 0 - Clean (score ≤ 20)
  • 1 - Suspicious (score 21-60)
  • 2 - High threat (score > 60)

Threat Scoring

Each file receives a score from 0-100:

ScoreLevelMeaning
0-20CLEANNo significant findings
21-40LOWMinor concerns, probably safe
41-60MEDIUMSuspicious patterns, review manually
61-80HIGHLikely malicious or dangerous
81-100CRITICALKnown malicious patterns

Integration with OpenClaw

Use before installing or trusting unknown binaries:

// Example: scan before allowing a skill's binary
const { scanFile } = require('openscan/lib/scanner');

async function checkBinary(binPath) {
  const result = await scanFile(binPath);
  if (result.threatScore > 40) {
    throw new Error(`Binary failed security scan: ${result.findings.join(', ')}`);
  }
  return true;
}

Limitations

  • Not a replacement for full antivirus
  • Signature-based detection is minimal (no hash database)
  • May produce false positives on legitimate security tools
  • Cannot detect all obfuscation techniques

Credits

Detection logic ported from Harkonnen antimalware engine.

Version tags

latestvk971gsrsh9esa193mmsns2aw4n80qf87

Runtime requirements

🛡️ Clawdis