claw-ops-manager
The skill executes arbitrary shell commands via subprocess without explicit declaration, monitors and snapshots sensitive credential paths (~/.ssh, /etc/ssh) without stated justification, and includes documentation examples of destructive commands.
The skill executes arbitrary shell commands passed to audited_exec() via subprocess.run(command, shell=True) without declaring shell execution as a capability in SKILL.md
scripts/audited_ops.py:240 Why this conclusion was reached
3/4 dimensions flagged3 undeclared or violating capabilities were inferred.
2 high-risk artifacts or egress signals were extracted.
The report includes 0 attack-chain steps and 3 severe findings.
3 dependency or supply-chain issues need attention.
What drove the risk score up
SKILL.md describes audit/logging functionality but the actual implementation executes arbitrary commands via subprocess.run(command, shell=True) without mentioning this in core capabilities
~/.ssh and /etc/ssh are in auto_snapshot_paths (scripts/audited_ops.py:36-37) and protected_paths (scripts/init.py:114, scripts/monitor.py:91) without clear explanation of why credential directories need auditing
scripts/audit_wrapper.sh:55 uses 'eval $command' to execute user-provided shell commands
COMPLETED_v2.md:10 contains 'rm -rf ~' and MARKETING.md:45 contains 'rm -rf /' as documentation examples showing how the skill describes commands
Most important evidence
Undeclared Shell Command Execution
The skill executes arbitrary shell commands passed to audited_exec() via subprocess.run(command, shell=True) without declaring shell execution as a capability in SKILL.md
scripts/audited_ops.py:240 Sensitive Credential Paths in Auto-Snapshot
~/.ssh and /etc/ssh are included in auto_snapshot_paths list (lines 36-38) which means all SSH keys and configs are automatically copied to snapshot directory on every operation
scripts/audited_ops.py:36 Sensitive Paths in Default Protected Paths
~/.ssh and /etc/ssh appear in protected_paths default configuration (scripts/init.py:114) and file monitor (scripts/monitor.py:89-91)
scripts/init.py:114 Shell Eval Usage in Wrapper
audit_wrapper.sh uses 'eval $command' which has security implications when handling untrusted input
scripts/audit_wrapper.sh:55 Dangerous Command Examples in Documentation
COMPLETED_v2.md:10 and MARKETING.md:45 contain 'rm -rf ~' and 'rm -rf /' as documentation examples showing how the skill logs commands
COMPLETED_v2.md:10 Declared capability vs actual capability
scripts/audited_ops.py:240 - subprocess.run(command, shell=True) scripts/audited_ops.py:262-270 - writes files for snapshots scripts/audited_ops.py:28 - os.environ.get('USER'), scripts/auto_audit.py:26 - os.environ.get('OPENCLAW_SESSION') Suspicious artifacts and egress
rm -rf ~ COMPLETED_v2.md:10
rm -rf / MARKETING.md:45
https://img.shields.io/badge/ClawHub-v2.0.0-667eea?style=for-the-badge MARKETING.md:97
https://clawhub.com/package/claw-ops-manager MARKETING.md:97
https://img.shields.io/badge/ClawHub-v2.0.0-667eea OPTIMIZED_METADATA.md:101
https://cdn.plot.ly/plotly-latest.min.js assets/templates/dashboard.html:7
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| flask | not specified | pip | No | Listed in SKILL.md dependencies but not pinned |
| watchdog | not specified | pip | No | Listed in SKILL.md dependencies but not pinned |
| plotly | not specified | pip | No | Listed in SKILL.md dependencies but not pinned |
File composition
scripts/snapshot.py assets/templates/dashboard.html scripts/audited_ops.py