{
  "schemaVersion": "1.0",
  "item": {
    "slug": "browser-auth",
    "name": "Browser Auth",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/lksrz/browser-auth",
    "canonicalUrl": "https://clawhub.ai/lksrz/browser-auth",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/browser-auth",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=browser-auth",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "assets/index.html",
      "scripts/auth_server.js",
      "scripts/verify_session.js"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "browser-auth",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T02:28:52.488Z",
      "expiresAt": "2026-05-08T02:28:52.488Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=browser-auth",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=browser-auth",
        "contentDisposition": "attachment; filename=\"browser-auth-1.6.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "browser-auth"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/browser-auth"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/browser-auth",
    "agentPageUrl": "https://openagent3.xyz/skills/browser-auth/agent",
    "manifestUrl": "https://openagent3.xyz/skills/browser-auth/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/browser-auth/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Browser Auth",
        "body": "This skill allows the agent to request the user to perform a manual login on a website and then capture the session cookies/localStorage for further automated work."
      },
      {
        "title": "🚨 Security & Risk Mitigation",
        "body": "We take security seriously. Below is how we address common concerns related to remote browser control:"
      },
      {
        "title": "1. Remote Code Execution (RCE) Protection",
        "body": "Always Sandboxed: Chromium runs with the system sandbox ENABLED. There is no option to disable it in the code. This prevents a malicious website from escaping the browser and executing code on your host.\nIsolation Recommendation: We recommend running this skill within an isolated container (Docker) or a dedicated VM for an extra layer of protection."
      },
      {
        "title": "2. Token Leakage (Referrer Protection)",
        "body": "Referrer Policy: The server enforces Referrer-Policy: no-referrer. This ensures that even if you navigate to an untrusted site, your secret AUTH_TOKEN is NEVER sent in the HTTP Referer header.\nURL Cleansing: The interface automatically clears the token parameter from your browser's address bar immediately after the page loads."
      },
      {
        "title": "3. Data Sensitivity",
        "body": "Session Artifacts: The session.json file contains active login cookies. Treat it with the same level of security as a password.\nMandatory Cleanup: Always delete the session file immediately after the agent finishes its task.\nNo Persistence: This skill does not store credentials long-term or exfiltrate them to external servers."
      },
      {
        "title": "4. Network Exposure",
        "body": "Default Local Bind: By default, the server binds to 127.0.0.1.\nSecure Access: If you need remote access, do not bind to 0.0.0.0 directly. Instead, use a secure tunnel like Tailscale, Cloudflare Tunnel (cloudflared), or an SSH tunnel."
      },
      {
        "title": "When to Use",
        "body": "When a website requires manual interaction to solve Captcha or 2FA.\nWhen bot detection prevents automated login.\nWhen you want to authorize an agent without sharing your password."
      },
      {
        "title": "Workflow",
        "body": "Request Auth: Start the tunnel using scripts/auth_server.js.\nProvide Link: Share the link (including token) with the intended user over a secure channel.\nWait for Session: The user logs in and clicks DONE in the web UI.\nVerify: Use scripts/verify_session.js to confirm the session is valid.\nCleanup: Delete the session file once the task is complete."
      },
      {
        "title": "Start Auth Server",
        "body": "AUTH_HOST=127.0.0.1 AUTH_TOKEN=mysecret node scripts/auth_server.js <port> <session_file>"
      },
      {
        "title": "Verify Session",
        "body": "node scripts/verify_session.js <session_file> <target_url> <expected_text>"
      },
      {
        "title": "Runtime Requirements",
        "body": "Requires: express, socket.io, playwright-core, and a system chromium-browser."
      }
    ],
    "body": "Browser Auth\n\nThis skill allows the agent to request the user to perform a manual login on a website and then capture the session cookies/localStorage for further automated work.\n\n🚨 Security & Risk Mitigation\n\nWe take security seriously. Below is how we address common concerns related to remote browser control:\n\n1. Remote Code Execution (RCE) Protection\nAlways Sandboxed: Chromium runs with the system sandbox ENABLED. There is no option to disable it in the code. This prevents a malicious website from escaping the browser and executing code on your host.\nIsolation Recommendation: We recommend running this skill within an isolated container (Docker) or a dedicated VM for an extra layer of protection.\n2. Token Leakage (Referrer Protection)\nReferrer Policy: The server enforces Referrer-Policy: no-referrer. This ensures that even if you navigate to an untrusted site, your secret AUTH_TOKEN is NEVER sent in the HTTP Referer header.\nURL Cleansing: The interface automatically clears the token parameter from your browser's address bar immediately after the page loads.\n3. Data Sensitivity\nSession Artifacts: The session.json file contains active login cookies. Treat it with the same level of security as a password.\nMandatory Cleanup: Always delete the session file immediately after the agent finishes its task.\nNo Persistence: This skill does not store credentials long-term or exfiltrate them to external servers.\n4. Network Exposure\nDefault Local Bind: By default, the server binds to 127.0.0.1.\nSecure Access: If you need remote access, do not bind to 0.0.0.0 directly. Instead, use a secure tunnel like Tailscale, Cloudflare Tunnel (cloudflared), or an SSH tunnel.\nWhen to Use\nWhen a website requires manual interaction to solve Captcha or 2FA.\nWhen bot detection prevents automated login.\nWhen you want to authorize an agent without sharing your password.\nWorkflow\nRequest Auth: Start the tunnel using scripts/auth_server.js.\nProvide Link: Share the link (including token) with the intended user over a secure channel.\nWait for Session: The user logs in and clicks DONE in the web UI.\nVerify: Use scripts/verify_session.js to confirm the session is valid.\nCleanup: Delete the session file once the task is complete.\nTools\nStart Auth Server\nAUTH_HOST=127.0.0.1 AUTH_TOKEN=mysecret node scripts/auth_server.js <port> <session_file>\n\nVerify Session\nnode scripts/verify_session.js <session_file> <target_url> <expected_text>\n\nRuntime Requirements\n\nRequires: express, socket.io, playwright-core, and a system chromium-browser."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/lksrz/browser-auth",
    "publisherUrl": "https://clawhub.ai/lksrz/browser-auth",
    "owner": "lksrz",
    "version": "1.6.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/browser-auth",
    "downloadUrl": "https://openagent3.xyz/downloads/browser-auth",
    "agentUrl": "https://openagent3.xyz/skills/browser-auth/agent",
    "manifestUrl": "https://openagent3.xyz/skills/browser-auth/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/browser-auth/agent.md"
  }
}