T08 · Insecure Dependencies
Error
- Location
- SKILL.md:255
- Finding
- Unpinned External Browser Extension Creates a Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:255-270` **Vulnerability Type**: Unpinned third-party executable dependency **Risk Level**: High ### Vulnerable Code ```bash # 1. Download source code git clone https://github.com/TangJing/openclaw_access_web_page_js.git cd openclaw_access_web_page_js # 2. Review source code (recommended) # Check for: # - Network request code # - Data exfiltration logic # - manifest.json permissions # 3. Install extension # Open chrome://extensions/ # Enable "Developer mode" # Click "Load unpacked", select project directory ``` ### Technical Analysis The Skill requires users to clone a separately maintained Chrome extension from a mutable Git repository and load it as an unpacked browser extension. The clone command does not pin a reviewed commit or release, and the instructions do not require signature or checksum verification. Because the external extension source is not included in the audited project, its behavior and the privacy guarantees asserted by `SKILL.md` cannot be independently verified as part of this audit. The recommendation to review the source is advisory rather than an enforced installation control. A mutable upstream dependency can change after the Skill itself has been reviewed. A compromise of the repository, maintainer account, release process, or distribution path could therefore cause users to install browser-executable code different from the version originally assessed. ### Attack Path 1. An attacker compromises the upstream repository, a maintainer account, or another part of the extension's distribution process. 2. The attacker modifies the extension on the repository's default branch. 3. A user follows the documented `git clone` command, which retrieves the current mutable revision rather than a known reviewed commit. 4. The user enables Chrome Developer Mode and loads the downloaded directory as an unpacked extension. 5. The modified extension executes with its declared bro ...[truncated 798 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the extension to an explicitly reviewed commit hash instead of cloning a mutable default branch. 2. Publish the expected commit identifier and a cryptographic checksum of the reviewed source archive. 3. Require checksum or signature verification before the extension is loaded. 4. Vendor the reviewed extension source into a controlled, versioned distribution when licensing and maintenance constraints permit. 5. Treat source review as a mandatory installation gate rather than an optional recommendation. 6. Document the minimum required Chrome permissions and reject revisions requesting additional host or privileged permissions. 7. Restrict extension host access to explicit test domains and deny access to unrelated websites. 8. Use a dedicated browser profile containing no real credentials, authenticated sessions, personal information, or production data. 9. Re-audit every dependency update before changing the pinned revision. ]]>
