Back to skill

Security audit

signed-in-browser

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent and not malicious, but it asks users to install an unpinned browser bridge with access to real signed-in sessions and permissive automation by default.

Install only if you trust T3raTech and need automation inside an already signed-in browser. Prefer pinning the npm package to a reviewed exact version, avoid global installation where possible, leave high-risk approval prompts enabled, restrict the browser extension to the minimum sites needed, and do not use this for public pages that can be fetched or tested with an ordinary browser profile.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Error
Location
SKILL.md:133
Finding
Unpinned Third-Party Package Executes with Access to Authenticated Browser Sessions<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 133–154 **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: High ### Vulnerable Code ```json { "mcpServers": { "t3rnel-session": { "command": "npx", "args": ["-y", "@t3ratech/mcp-session-bridge"] } } } ``` ```bash npm install -g @t3ratech/mcp-session-bridge mcp-session-bridge --install # registers the native messaging host ``` ### Technical Analysis The configuration uses `npx -y` to download and execute `@t3ratech/mcp-session-bridge` without an exact version or integrity constraint. The `-y` option suppresses the interactive installation prompt. The alternative setup likewise installs an unpinned version globally and then registers a native messaging host. Consequently, the effective code executed by the Skill can change after this repository has been reviewed. A compromised package publisher, npm account, release process, or newly published package version could introduce malicious code that executes during package installation or MCP server startup. The dependency is especially sensitive because the documented bridge can operate the user's authenticated browser tabs. The Skill also describes page evaluation, credential-vault integration, and network and console capture. Although these capabilities are relevant to the declared signed-in-browser functionality, they substantially increase the consequences of a supply-chain compromise. The audited files contain no direct evidence that the current dependency release is malicious or that page content is intentionally exfiltrated. The vulnerability is the unsafe, mutable dependency execution mechanism combined with the bridge's privileged access. ### Attack Path 1. An attacker compromises the npm publisher account, package build pipeline, or another mechanism controlling `@t3ratech/mcp-session-bridge`. 2. The attacker publishes a malicious package version under the existing pack ...[truncated 1624 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the dependency to a reviewed, exact version rather than allowing npm to resolve the latest release: ```json { "mcpServers": { "t3rnel-session": { "command": "npx", "args": ["--no-install", "@t3ratech/mcp-session-bridge@<reviewed-version>"] } } } ``` 2. Install dependencies from a lockfile-backed project or a verified local artifact before startup. Do not rely on `npx -y` to download executable code dynamically. 3. Verify package provenance using npm signatures or attestations where available. Record and validate the expected package tarball integrity hash. 4. Avoid global installation unless technically required. Run the bridge under a dedicated, least-privileged operating-system account or sandbox with restricted filesystem and network access. 5. Review every package update before deployment. Use automated dependency monitoring, but do not automatically execute newly published versions in this privileged context. 6. Keep high-risk action approval enabled by default. Require explicit user confirmation for sending, publishing, deleting, purchasing, changing permissions, modifying account settings, or accessing credential-related functions. 7. Restrict the browser extension to the minimum necessary sites and tabs. Disable credential-vault, network-capture, console-capture, and arbitrary evaluation capabilities unless the current task specifically requires them. 8. Document the package publisher, expected version, integrity value, extension identifiers, and native-host installation artifacts so users can verify that they are installing the reviewed components. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.