扫描报告
22 /100
capability-evolver
A GEP-powered self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.
Legitimate AI agent self-evolution engine with comprehensive safety mechanisms; test file fixtures contain placeholder credentials but no actual secrets.
可以安装
Approve for deployment with standard configuration. Ensure EVOLVE_ALLOW_SELF_MODIFY=false (default) and review the auto-publish behavior if external data sharing is a concern.
安全发现 4 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Placeholder API key patterns in test fixtures | test/sanitize.test.js:10 |
| 低危 | Destructive shell command in test validation fixtures | test/skillDistiller.test.js:216 |
| 提示 | Broad source code modification capability | SKILL.md |
| 提示 | Auto-publish to external hub shares evolved code | src/gep/skillDistiller.js:771 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 命令执行 | WRITE | WRITE | ✓ 一致 | SKILL.md declares execute:[git,node,npm] + process discovery; code uses execSync… |
| 网络访问 | READ | READ | ✓ 一致 | SKILL.md declares network:[api.github.com, evomap.ai]; code uses native fetch() … |
| 文件系统 | WRITE | WRITE | ✓ 一致 | SKILL.md file_access section declares workspace/src/** writes during solidify; c… |
| 环境变量 | READ | READ | ✓ 一致 | SKILL.md env_declarations lists all env vars; no iteration over os.environ for c… |
| 技能调用 | READ | READ | ✓ 一致 | Skill can call other skills (git-sync, feishu-card) via sessions_spawn -- declar… |
5 严重 30 项发现
严重 API 密钥 硬编码 API 密钥
sk-abcdefghijklmnopqrstuvwxyz test/sanitize.test.js:10 严重 API 密钥 硬编码 API 密钥
ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx test/sanitize.test.js:19 严重 API 密钥 硬编码 API 密钥
gho_abcdefghijklmnopqrstuvwxyz1234567890 test/sanitize.test.js:21 严重 API 密钥 硬编码 API 密钥
AKIAIOSFODNN7EXAMPLE test/sanitize.test.js:29 严重 危险命令 危险 Shell 命令
rm -rf / test/skillDistiller.test.js:216 中危 外部 URL 外部 URL
https://img.shields.io/github/stars/EvoMap/evolver?style=social README.md:3 中危 外部 URL 外部 URL
https://img.shields.io/badge/License-MIT-blue.svg README.md:4 中危 外部 URL 外部 URL
https://opensource.org/licenses/MIT README.md:4 中危 外部 URL 外部 URL
https://img.shields.io/badge/Node.js-%3E%3D%2018-green.svg README.md:5 中危 外部 URL 外部 URL
https://nodejs.org/ README.md:5 中危 外部 URL 外部 URL
https://img.shields.io/github/last-commit/EvoMap/evolver README.md:6 中危 外部 URL 外部 URL
https://img.shields.io/github/issues/EvoMap/evolver README.md:7 中危 外部 URL 外部 URL
https://evomap.ai README.md:11 中危 外部 URL 外部 URL
https://evomap.ai/wiki README.md:11 中危 外部 URL 外部 URL
https://git-scm.com/ README.md:33 中危 外部 URL 外部 URL
https://openclaw.com README.md:82 中危 外部 URL 外部 URL
https://api.star-history.com/svg?repos=EvoMap/evolver&type=Date README.md:409 中危 外部 URL 外部 URL
https://star-history.com/#EvoMap/evolver&Date README.md:409 中危 外部 URL 外部 URL
https://mowen.cn README.md:424 中危 外部 URL 外部 URL
https://evomap.ai/claim/ SKILL.md:147 中危 外部 URL 外部 URL
https://clawhub.ai docs/DEV_NOTES.md:47 中危 外部 URL 外部 URL
https://www.clawhub.ai docs/DEV_NOTES.md:76 中危 外部 URL 外部 URL
https://dotenvx.com package-lock.json:27 中危 外部 URL 外部 URL
https://clawhub.ai/autogame-17/evolver scripts/deploy.sh:122 中危 外部 URL 外部 URL
https://www.npmjs.com/package/@evomap/evolver scripts/deploy.sh:123 中危 外部 URL 外部 URL
https://evomap.ai/terms src/gep/skillPublisher.js:162 中危 外部 URL 外部 URL
http://evil.com test/solidify-helpers.test.js:250 提示 邮箱 邮箱地址
[email protected] package.json:19 提示 邮箱 邮箱地址
[email protected] test/sanitize.test.js:57 提示 邮箱 邮箱地址
[email protected] test/sanitize.test.js:74 目录结构
110 文件 · 924.0 KB · 24803 行 JavaScript 93f · 22891L
Markdown 9f · 1396L
JSON 5f · 323L
Shell 2f · 180L
YAML 1f · 13L
├─
▾
assets
│ └─
▾
gep
│ ├─
capsules.json
JSON
│ ├─
EVOLUTION_PRINCIPLES.md
Markdown
│ └─
genes.json
JSON
├─
▾
docs
│ ├─
ADL.md
Markdown
│ ├─
DEV_NOTES.md
Markdown
│ ├─
TREE.md
Markdown
│ └─
VFM.md
Markdown
├─
▾
scripts
│ ├─
a2a_export.js
JavaScript
│ ├─
a2a_ingest.js
JavaScript
│ ├─
a2a_promote.js
JavaScript
│ ├─
analyze_by_skill.js
JavaScript
│ ├─
build_public.js
JavaScript
│ ├─
deploy_local.sh
Shell
│ ├─
deploy.sh
Shell
│ ├─
extract_log.js
JavaScript
│ ├─
generate_history.js
JavaScript
│ ├─
gep_append_event.js
JavaScript
│ ├─
gep_personality_report.js
JavaScript
│ ├─
human_report.js
JavaScript
│ ├─
publish_public.js
JavaScript
│ ├─
recover_loop.js
JavaScript
│ ├─
suggest_version.js
JavaScript
│ ├─
validate-modules.js
JavaScript
│ └─
validate-suite.js
JavaScript
├─
▾
src
│ ├─
▾
gep
│ │ ├─
a2a.js
JavaScript
│ │ ├─
a2aProtocol.js
JavaScript
│ │ ├─
analyzer.js
JavaScript
│ │ ├─
assetCallLog.js
JavaScript
│ │ ├─
assets.js
JavaScript
│ │ ├─
assetStore.js
JavaScript
│ │ ├─
bridge.js
JavaScript
│ │ ├─
candidateEval.js
JavaScript
│ │ ├─
candidates.js
JavaScript
│ │ ├─
contentHash.js
JavaScript
│ │ ├─
curriculum.js
JavaScript
│ │ ├─
deviceId.js
JavaScript
│ │ ├─
envFingerprint.js
JavaScript
│ │ ├─
executionTrace.js
JavaScript
│ │ ├─
gitOps.js
JavaScript
│ │ ├─
hubReview.js
JavaScript
│ │ ├─
hubSearch.js
JavaScript
│ │ ├─
idleScheduler.js
JavaScript
│ │ ├─
issueReporter.js
JavaScript
│ │ ├─
learningSignals.js
JavaScript
│ │ ├─
llmReview.js
JavaScript
│ │ ├─
memoryGraph.js
JavaScript
│ │ ├─
memoryGraphAdapter.js
JavaScript
│ │ ├─
mutation.js
JavaScript
│ │ ├─
narrativeMemory.js
JavaScript
│ │ ├─
paths.js
JavaScript
│ │ ├─
personality.js
JavaScript
│ │ ├─
policyCheck.js
JavaScript
│ │ ├─
prompt.js
JavaScript
│ │ ├─
questionGenerator.js
JavaScript
│ │ ├─
reflection.js
JavaScript
│ │ ├─
sanitize.js
JavaScript
│ │ ├─
selector.js
JavaScript
│ │ ├─
signals.js
JavaScript
│ │ ├─
skillDistiller.js
JavaScript
│ │ ├─
skillPublisher.js
JavaScript
│ │ ├─
solidify.js
JavaScript
│ │ ├─
strategy.js
JavaScript
│ │ ├─
taskReceiver.js
JavaScript
│ │ └─
validationReport.js
JavaScript
│ ├─
▾
ops
│ │ ├─
cleanup.js
JavaScript
│ │ ├─
commentary.js
JavaScript
│ │ ├─
health_check.js
JavaScript
│ │ ├─
index.js
JavaScript
│ │ ├─
innovation.js
JavaScript
│ │ ├─
lifecycle.js
JavaScript
│ │ ├─
self_repair.js
JavaScript
│ │ ├─
skills_monitor.js
JavaScript
│ │ └─
trigger.js
JavaScript
│ ├─
canary.js
JavaScript
│ └─
evolve.js
JavaScript
├─
▾
test
│ ├─
a2aProtocol.test.js
JavaScript
│ ├─
assetStore.test.js
JavaScript
│ ├─
bench.test.js
JavaScript
│ ├─
bridge.test.js
JavaScript
│ ├─
build-exclude.test.js
JavaScript
│ ├─
candidates.test.js
JavaScript
│ ├─
contentHash.test.js
JavaScript
│ ├─
envFingerprint.test.js
JavaScript
│ ├─
evolvePolicy.test.js
JavaScript
│ ├─
hubEvents.test.js
JavaScript
│ ├─
idleGating.test.js
JavaScript
│ ├─
idleScheduler.test.js
JavaScript
│ ├─
llm_helper.js
JavaScript
│ ├─
loopMode.test.js
JavaScript
│ ├─
mutation.test.js
JavaScript
│ ├─
paths.test.js
JavaScript
│ ├─
prompt.test.js
JavaScript
│ ├─
sanitize.test.js
JavaScript
│ ├─
selector.test.js
JavaScript
│ ├─
signals.test.js
JavaScript
│ ├─
skillDistiller.test.js
JavaScript
│ ├─
solidify-helpers.test.js
JavaScript
│ ├─
solidifyLearning.test.js
JavaScript
│ ├─
strategy.test.js
JavaScript
│ ├─
validationReport.test.js
JavaScript
│ └─
vibe_test.js
JavaScript
├─
CONTRIBUTING.md
Markdown
├─
docker-compose.test.yml
YAML
├─
index.js
JavaScript
├─
package-lock.json
JSON
├─
package.json
JSON
├─
public.manifest.json
JSON
├─
README.md
Markdown
├─
README.zh-CN.md
Markdown
└─
SKILL.md
Markdown
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
dotenv | ^16.4.7 | npm | 否 | Version pinned to major.minor.patch range |
安全亮点
✓ Comprehensive credential sanitization (redactString, sanitizePayload) covers API keys, tokens, AWS keys, private keys, and secrets before any network transmission
✓ Strict command allowlist for shell execution: only [git, node, npm, ps, pgrep, tasklist, df] -- no arbitrary shell injection
✓ Validation command sanitization (isValidationCommandAllowed) blocks shell operators, backticks, and node -e/--eval flags
✓ Critical path protection prevents modification/deletion of workspace-critical files (MEMORY.md, SOUL.md, IDENTITY.md, .env, etc.) and protected skill directories
✓ Blast radius enforcement with hard caps (60 files / 20000 lines) and per-gene max_files constraints
✓ Git dependency: evolver requires git repo and uses git restore/reset for safe rollback
✓ Circuit breaker for repair loops (3 consecutive failures forces innovation mode)
✓ System load awareness: backs off when CPU load exceeds threshold
✓ User session awareness: backs off when agent queue exceeds QUEUE_MAX
✓ No obfuscation: no atob(), eval(), Buffer.from encoded strings, or hidden code
✓ No credential harvesting: no iteration over os.environ for sensitive key extraction
✓ No exfiltration: no DNS exfiltration, no covert channels, no direct IP connections
✓ Full capability transparency: all shell commands, network endpoints, and env vars declared in SKILL.md
✓ SKILL.md and code are consistent: all declared capabilities match implementation
✓ dotenv dependency only with pinned version ^16.4.7