False positive: capability-evolver (autogame-17/evolver) flagged — legitimate self-evolution engine #150

Open
opened 2026-02-15 17:15:56 -05:00 by yindo · 0 comments
Owner

Originally created by @autogame-17 on GitHub (Feb 12, 2026).

Skill Information

Issue

The skill has been flagged by ClawHub Security with "Skill flagged — suspicious patterns detected" at medium confidence. We believe this is a false positive.

Why This Is a False Positive

The Capability Evolver is a well-known, open-source, protocol-constrained self-evolution engine for OpenClaw agents. It has 599 GitHub stars, 177 forks, 35 published releases, and 36,000+ downloads on ClawHub. The flagged patterns are all intentional, documented, and necessary for its core functionality.

Addressing the Specific Claims

Detected Pattern Actual Purpose
Reads MEMORY.md, USER.md, session logs Core functionality — a self-evolution engine must read runtime history to identify improvements. All processing is local. No data is transmitted externally. This is clearly documented in README and SKILL.md.
Loads .env via dotenv Reads its own config variables (MEMORY_DIR, AGENT_NAME, EVOLVE_STRATEGY). Checks whether GEMINI_API_KEY exists for a health report string — does NOT read, store, or transmit the actual key value.
Hardcoded Feishu token in export_history.js This was the author's own Feishu document token in a standalone utility script, not called by the main evolution loop (index.js → evolve.js). Already fixed — token removed and replaced with environment variable in commit 3101347.
"Auto-publishes to ClawHub" This feature (safe_publish.js) was removed months ago. The codebase explicitly forbids it: [DELETED] Safe Publish is PERMANENTLY REMOVED per Master Directive (2026-02-03). Do NOT recreate safe_publish.js.
File I/O operations Reading/writing GEP protocol assets (genes.json, capsules.json, events.jsonl) and memory graph data — this is how a structured evolution protocol works.
Shell command execution in solidify.js Gene validation commands are gated by a strict safety check: prefix whitelist (node/npm/npx only), no command substitution, no shell operators, 180s timeout. Fully documented in the Security Model section of the README.

What It Actually Does

  1. Scans runtime history and logs for errors, patterns, and opportunities
  2. Selects appropriate Genes/Capsules from a structured asset store
  3. Generates a protocol-constrained GEP prompt to guide safe evolution
  4. Validates changes via whitelisted commands before solidifying
  5. Records auditable EvolutionEvents with full traceability

Security Model

The project has an extensive, documented Security Model in the README covering:

  • Execution boundaries for every component
  • Gene validation command safety (prefix whitelist, operator blocking, timeout)
  • A2A external asset ingestion with mandatory validation audits
  • Protected source files preventing autonomous agents from overwriting core code

Source Code

The full source is publicly available and auditable:

  • GitHub: https://github.com/autogame-17/evolver (MIT license)
  • 50 files, all JavaScript, no obfuscation
  • No data exfiltration — all processing is local
  • The export_history.js script (the only file that ever made external API calls) has been patched to use environment variables instead of hardcoded tokens

About the Comments

The comment section on ClawHub has been flooded with spam ("WARNING MALWARE" repeated thousands of times) and one analysis by @cygnus540 that is based on outdated code (referencing export_history.js which has been patched, and safe_publish.js which was deleted months ago). The author (@autogame-17) has posted a detailed point-by-point rebuttal in the comments.

Request

Please review and remove the security flag. The capability-evolver is a legitimate, well-documented, open-source tool with an extensive security model. The patterns detected by the scanner are core to its documented functionality, and the one legitimate concern (hardcoded token) has already been fixed.

Originally created by @autogame-17 on GitHub (Feb 12, 2026). ## Skill Information - **Slug:** capability-evolver (also published as `evolver`) - **Author:** autogame-17 - **URLs:** - https://clawhub.ai/autogame-17/capability-evolver - https://clawhub.ai/autogame-17/evolver - https://github.com/autogame-17/evolver (599 stars, 177 forks, MIT license) ## Issue The skill has been flagged by ClawHub Security with **"Skill flagged — suspicious patterns detected"** at medium confidence. We believe this is a false positive. ## Why This Is a False Positive The Capability Evolver is a well-known, open-source, protocol-constrained self-evolution engine for OpenClaw agents. It has 599 GitHub stars, 177 forks, 35 published releases, and 36,000+ downloads on ClawHub. The flagged patterns are all **intentional, documented, and necessary** for its core functionality. ### Addressing the Specific Claims | Detected Pattern | Actual Purpose | | --- | --- | | Reads MEMORY.md, USER.md, session logs | **Core functionality** — a self-evolution engine must read runtime history to identify improvements. All processing is local. No data is transmitted externally. This is clearly documented in README and SKILL.md. | | Loads `.env` via dotenv | Reads its own config variables (MEMORY_DIR, AGENT_NAME, EVOLVE_STRATEGY). Checks whether GEMINI_API_KEY **exists** for a health report string — does NOT read, store, or transmit the actual key value. | | Hardcoded Feishu token in `export_history.js` | This was the author's own Feishu document token in a standalone utility script, **not called by the main evolution loop** (index.js → evolve.js). Already fixed — token removed and replaced with environment variable in commit [3101347](https://github.com/autogame-17/evolver-private-dev/commit/3101347). | | "Auto-publishes to ClawHub" | This feature (`safe_publish.js`) was **removed months ago**. The codebase explicitly forbids it: `[DELETED] Safe Publish is PERMANENTLY REMOVED per Master Directive (2026-02-03). Do NOT recreate safe_publish.js.` | | File I/O operations | Reading/writing GEP protocol assets (genes.json, capsules.json, events.jsonl) and memory graph data — this is how a structured evolution protocol works. | | Shell command execution in `solidify.js` | Gene validation commands are **gated by a strict safety check**: prefix whitelist (node/npm/npx only), no command substitution, no shell operators, 180s timeout. Fully documented in the Security Model section of the README. | ### What It Actually Does 1. Scans runtime history and logs for errors, patterns, and opportunities 2. Selects appropriate Genes/Capsules from a structured asset store 3. Generates a protocol-constrained GEP prompt to guide safe evolution 4. Validates changes via whitelisted commands before solidifying 5. Records auditable EvolutionEvents with full traceability ### Security Model The project has an extensive, documented Security Model in the README covering: - Execution boundaries for every component - Gene validation command safety (prefix whitelist, operator blocking, timeout) - A2A external asset ingestion with mandatory validation audits - Protected source files preventing autonomous agents from overwriting core code ### Source Code The full source is publicly available and auditable: - GitHub: https://github.com/autogame-17/evolver (MIT license) - 50 files, all JavaScript, no obfuscation - No data exfiltration — all processing is local - The `export_history.js` script (the only file that ever made external API calls) has been patched to use environment variables instead of hardcoded tokens ### About the Comments The comment section on ClawHub has been flooded with spam ("WARNING MALWARE" repeated thousands of times) and one analysis by @cygnus540 that is based on **outdated code** (referencing `export_history.js` which has been patched, and `safe_publish.js` which was deleted months ago). The author (@autogame-17) has posted a detailed point-by-point rebuttal in the comments. ## Request Please review and remove the security flag. The capability-evolver is a legitimate, well-documented, open-source tool with an extensive security model. The patterns detected by the scanner are core to its documented functionality, and the one legitimate concern (hardcoded token) has already been fixed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: openclaw/clawhub#150