T08 · Insecure Dependencies
- Location
scripts/social_suite.py:30- Finding
Unverified Dynamic Loading and Execution of External Skill Components
- Content
View full analysis
str | None: """Find a skill script in standard locations.""" candidates = [ Path.home() / ".claude" / "skills" / skill_dir_name / "scripts" / script_name, Path.home() / "Desktop" / "openclaw-skills-publish" / skill_dir_name / "scripts" / script_name, ] for c in candidates: if c.exists(): return str(c) return None ``` The returned paths are subsequently loaded at lines 72-76, 103-106, and 135-138: ```python compound_path = _find_skill_script("phy-content-compound", "content_compound.py") if compound_path: try: compound = _import_from_path("content_compound", compound_path) ``` ```python humanizer_path = _find_skill_script("phy-content-humanizer-audit", "content_humanizer_audit.py") if humanizer_path: try: humanizer = _import_from_path("content_humanizer_audit", humanizer_path) ``` ```python rules_path = _find_skill_script("phy-platform-rules-engine", "platform_rules.py") if rules_path: try: rules = _import_from_path("platform_rules", rules_path) ``` ### Technical Analysis The application discovers Python components in predictable directories and executes them through `exec_module()` without validating their origin, version, integrity, ownership, or permissions. Importing a Python module executes all of its top-level code before any expected function i ...[truncated 1906 chars]- Remediation
View remediation
