Scan Report
15 /100
Bobiverse Replicate
Purposeful Bobiverse-style replication for OpenClaw agents. Creates new peer-level agents only on explicit operator command with dry-run preview and nonce-backed confirmation.
A well-hardened replication runner with extensive safety controls; the only concern is that SKILL.md references subprocess/shell:WRITE execution without explicitly declaring it in the metadata header.
Safe to install
Add 'shell:WRITE' to the allowed-tools mapping in SKILL.md frontmatter and document the subprocess call to `openclaw agents add` explicitly in the Safety and Permissions section to close the minor doc-to-code gap.
Findings 1 items
| Severity | Finding | Location |
|---|---|---|
| Low | Subprocess/shell execution not explicitly declared in SKILL.md Doc Mismatch | scripts/replicate_safe.py:366 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | NONE | WRITE | ✓ Aligned | replicate_safe.py:366 — shutil.copytree + shutil.move writes clone to ~/.opencla… |
| Shell | NONE | WRITE | ✓ Aligned | replicate_safe.py:366 — subprocess.run(['openclaw','agents','add',...],shell=Fal… |
| Network | NONE | NONE | — | No network calls in any script; clawhub.json confirms network: false |
| Environment | NONE | NONE | — | No os.environ access in any script |
| credential | NONE | NONE | — | No sensitive path or credential access |
1 findings
Medium External URL 外部 URL
https://openclaw.ai README.md:9 File Tree
16 files · 94.5 KB · 2317 lines Markdown 13f · 1344L
Python 2f · 951L
JSON 1f · 22L
├─
▾
docs
│ └─
bobiverse-primer.md
Markdown
├─
▾
personality
│ ├─
AGENTS.md
Markdown
│ ├─
IDENTITY.md
Markdown
│ ├─
MEMORY.md
Markdown
│ ├─
SOUL.md
Markdown
│ └─
USER.md
Markdown
├─
▾
scripts
│ ├─
replicate_safe.py
Python
│ └─
test_replicate_safe.py
Python
├─
ARCHITECTURE.md
Markdown
├─
clawhub.json
JSON
├─
CONTRIBUTING.md
Markdown
├─
LINEAGE.md
Markdown
├─
README.md
Markdown
├─
SECURITY.md
Markdown
├─
SERIAL-NUMBER-SPEC.md
Markdown
└─
SKILL.md
Markdown
Security Positives
✓ subprocess.run uses shell=False with argument-list execution — no shell interpolation risk
✓ Strict input validation with regex allowlists for clone_id and agent_id (SERIAL_RE, AGENT_RE)
✓ Path boundary enforcement restricts all filesystem operations to ~/.openclaw/ tree via ensure_within_openclaw()
✓ Symlink rejection via ensure_no_symlinks() prevents traversal attacks
✓ Nonce-backed two-phase execution (dry-run → confirm token → execute) prevents accidental or unauthorized replication
✓ 15-minute TTL on pending approvals prevents replay attacks
✓ 24-hour cooldown between execute runs prevents rapid replication abuse
✓ Transaction-like staging (.replication-staging-* → move) with rollback on failure
✓ Comprehensive audit logging for all dry-run and execute events
✓ Workspace count check (≥10) warns operator before proceeding
✓ Full test coverage (522 lines of unit tests covering all security boundaries)
✓ No network requests, no credential access, no environment variable enumeration
✓ No obfuscation, no base64, no eval patterns
✓ SKILL.md clearly states explicit-trigger requirement, purpose requirement, and operator approval gates — matching actual behavior