mumaosong/CVE-2026-43499-cloudflare-gate
GitHub: mumaosong/CVE-2026-43499-cloudflare-gate
一个部署在 Cloudflare Pages 上的 RSA 签名服务,用于在服务端安全地对 challenge 请求进行签名并生成 mu667 格式的响应。
Stars: 0 | Forks: 0
# mu667 Cloudflare Gate
用于 `mu667.v1.` 响应的 Cloudflare Pages + Pages Functions 签名器。
## 文件
```
public/ static anime-style UI
functions/api/sign.js POST /api/sign signer
wrangler.toml Pages project config
```
浏览器永远不会接收 RSA 私钥。请将 `private_key.json` 保留在
`public/` 目录之外,并将其完整的 JSON 内容配置为 Cloudflare secret。
## 本地设置
在仓库根目录下,确保 gate 密钥已存在:
```
python make_password_blob.py --init-key --key private_key.json --public-out source/src/gate_public_key.h
```
然后在 `cloudflare-gate/.dev.vars` 中配置本地 Pages Functions 变量:
```
RSA_PRIVATE_KEY_JSON={"rsa_private_key":{"n":"0x...","e":65537,"d":"0x...","p":"0x...","q":"0x..."}}
```
请勿提交 `.dev.vars`。
## 部署
创建一个 Pages 项目,然后设置生产环境 secret:
```
cd cloudflare-gate
wrangler pages secret put RSA_PRIVATE_KEY_JSON --project-name=mu667-cloudflare-gate
wrangler pages deploy public --project-name=mu667-cloudflare-gate
```
在设置 `RSA_PRIVATE_KEY_JSON` 时,请粘贴根目录下 `private_key.json` 的完整内容。
## API
```
POST /api/sign
content-type: application/json
```
```
{
"challenge": "mu667_abcdefghijklmnopqrstuvwxyz"
}
```
成功的响应:
```
{
"ok": true,
"response": "mu667.v1...."
}
```
challenge 必须匹配 `^mu667_[a-z0-9]{26}$`。
`GATE_ACCESS_TOKEN` 是可选的。如果配置了该项,调用者必须在 JSON body 中提供相同的值作为 `x-gate-access-token` 或 `accessToken`。
标签:Cloudflare Pages, RSA加密, Serverless, 后端签名, 授权验证, 数据可视化, 自定义脚本, 逆向工具, 高对比度