You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从命令行安全向Chrome传递含会话令牌的URL?

安全向Chrome传递含敏感令牌的URL的方法

有几种可行的方式可以避免带会话令牌的URL出现在Chrome的进程命令行参数中,以下是具体实现方案:

方法1:利用Chrome远程调试协议(DevTools Protocol)

通过开启Chrome的远程调试端口,再用HTTP请求发送导航指令,URL会包含在请求体内,不会暴露在进程参数里。

  1. 启动Chrome并开启远程调试:
chrome --remote-debugging-port=9222 --no-first-run --no-default-browser-check
  1. 创建新标签页并获取目标ID:
TARGET_ID=$(curl -s http://localhost:9222/json/new | grep -o '"id":"[^"]*"' | cut -d'"' -f4)
  1. 发送导航指令,将带令牌的URL放在请求体中:
curl -X POST -H "Content-Type: application/json" -d '{
  "id": 1,
  "method": "Page.navigate",
  "params": {
    "url": "https://example.com/service?token=FOOBARBAZ"
  }
}' http://localhost:9222/json/target/$TARGET_ID

此时执行ps ax | grep chrome,进程参数里只会显示调试端口相关配置,看不到敏感URL。

方法2:通过管道传递URL配合脚本

编写简单Shell脚本,从标准输入读取URL后通过远程调试协议打开,避免直接在命令行暴露敏感内容。

  1. 创建脚本chrome-safe-open.sh:
#!/bin/bash
read -r TARGET_URL

# 检查Chrome是否已开启远程调试,未开启则启动
if ! pgrep -f "chrome --remote-debugging-port=9222" > /dev/null; then
  chrome --remote-debugging-port=9222 --no-first-run --no-default-browser-check &
  sleep 2 # 等待Chrome启动完成
fi

TARGET_ID=$(curl -s http://localhost:9222/json/new | grep -o '"id":"[^"]*"' | cut -d'"' -f4)
curl -X POST -H "Content-Type: application/json" -d '{
  "id": 1,
  "method": "Page.navigate",
  "params": {
    "url": "'"$TARGET_URL"'"
  }
}' http://localhost:9222/json/target/$TARGET_ID
  1. 赋予脚本执行权限:
chmod +x chrome-safe-open.sh
  1. 通过管道传递URL:
echo "https://example.com/service?token=FOOBARBAZ" | ./chrome-safe-open.sh

也可以从文件读取敏感URL(更安全):

cat secret_url.txt | ./chrome-safe-open.sh

方法3:环境变量传递(需配合脚本)

Chrome本身不支持直接读取环境变量打开URL,但可以通过脚本读取环境变量后执行导航:

  1. 临时设置环境变量(避免写入shell历史,可在终端会话中临时执行):
set +o history
export CHROME_SAFE_URL="https://example.com/service?token=FOOBARBAZ"
set -o history
  1. 修改chrome-safe-open.sh脚本,从环境变量读取URL:
#!/bin/bash
TARGET_URL="$CHROME_SAFE_URL"

# 后续启动调试、创建标签页、导航逻辑同方法2
  1. 执行脚本后清除环境变量:
./chrome-safe-open.sh
unset CHROME_SAFE_URL

注意事项

  • 开启远程调试端口后,本地所有进程均可访问,多用户环境下使用后建议关闭Chrome或杀掉相关进程。
  • 操作敏感URL时,可临时关闭shell历史记录(set +o history),避免令牌被留存。

内容的提问来源于stack exchange,提问作者Rich Remer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:18:26