返回顶部
m

macaroon-bakery烘焙管理macaroon

Bake, inspect, and manage lnd macaroons for least-privilege agent access. Use when an agent needs scoped credentials — pay-only, invoice-only, read-only, or custom permissions. Also covers signer macaroon scoping and macaroon rotation.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
1,036
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

macaroon-bakery

Macaroon 面包坊

烘焙自定义的 lnd macaroon,让每个代理只获得其所需的权限。
在生产环境中切勿分发 admin.macaroon——请烘焙一个限定范围的 macaroon。

快速开始

bash

烘焙一个仅支付 macaroon


skills/macaroon-bakery/scripts/bake.sh --role pay-only

烘焙一个仅发票 macaroon

skills/macaroon-bakery/scripts/bake.sh --role invoice-only

烘焙一个只读 macaroon

skills/macaroon-bakery/scripts/bake.sh --role read-only

检查任意 macaroon

skills/macaroon-bakery/scripts/bake.sh --inspect ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon

列出所有可用的 lnd 权限

skills/macaroon-bakery/scripts/bake.sh --list-permissions

Docker

litd 容器会自动检测。你也可以指定 --container:

bash

自动检测 litd 容器(默认)


skills/macaroon-bakery/scripts/bake.sh --role pay-only

显式指定容器

skills/macaroon-bakery/scripts/bake.sh --role pay-only --container litd

检查容器内的 macaroon

skills/macaroon-bakery/scripts/bake.sh --inspect /root/.lnd/data/chain/bitcoin/testnet/admin.macaroon --container litd

远程节点

要在远程 lnd 节点上烘焙 macaroon,请提供连接凭据:

bash

在远程节点上烘焙仅支付 macaroon


skills/macaroon-bakery/scripts/bake.sh --role pay-only \
--rpcserver remote-host:10009 \
--tlscertpath ~/remote-tls.cert \
--macaroonpath ~/remote-admin.macaroon \
--save-to ~/remote-pay-only.macaroon

你需要在本地安装 lncli,并拥有该节点的 TLS 证书副本以及具有 macaroon:generate 权限的 macaroon(通常是 admin.macaroon)。

预设角色

角色代理可以做什么不能做什么
pay-only支付发票、解码发票、获取节点信息创建发票、打开通道、查看余额
invoice-only
创建发票、查询发票、获取节点信息 | 支付、打开通道、查看钱包余额 | | read-only | 获取信息、余额、列出通道/对等节点/支付 | 支付、创建发票、打开/关闭通道 | | channel-admin | 所有只读权限 + 打开/关闭通道、连接对等节点 | 支付发票、创建发票 | | signer-only | 签署交易、派生密钥(用于远程签名器) | 其他所有操作 |

烘焙自定义 Macaroon

对于预设角色未覆盖的权限,请烘焙自定义 macaroon:

bash

自定义:代理只能支付和检查钱包余额


skills/macaroon-bakery/scripts/bake.sh --custom \
uri:/lnrpc.Lightning/SendPaymentSync \
uri:/lnrpc.Lightning/DecodePayReq \
uri:/lnrpc.Lightning/WalletBalance \
uri:/lnrpc.Lightning/GetInfo

自定义并指定输出路径

skills/macaroon-bakery/scripts/bake.sh --custom \ uri:/lnrpc.Lightning/AddInvoice \ uri:/lnrpc.Lightning/GetInfo \ --save-to ~/my-agent.macaroon

发现权限

bash

列出所有可用的 URI 权限


skills/macaroon-bakery/scripts/bake.sh --list-permissions

过滤特定服务

skills/macaroon-bakery/scripts/bake.sh --list-permissions | grep -i invoice

过滤路由相关权限

skills/macaroon-bakery/scripts/bake.sh --list-permissions | grep -i router

检查 Macaroon

bash

查看 macaroon 具有哪些权限


skills/macaroon-bakery/scripts/bake.sh --inspect

检查 admin macaroon 以查看完整权限

skills/macaroon-bakery/scripts/bake.sh --inspect ~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon

签名器 Macaroon 范围限定

使用 lightning-security-module 技能时,凭据包默认包含 admin.macaroon。对于生产环境,请在签名器机器上烘焙一个仅签名 macaroon:

bash

在签名器容器上


skills/macaroon-bakery/scripts/bake.sh --role signer-only \
--container litd-signer --rpc-port 10012

或在原生签名器上

skills/macaroon-bakery/scripts/bake.sh --role signer-only \ --rpc-port 10012 --lnddir ~/.lnd-signer

然后使用限定范围的 macaroon 重新导出凭据包

Macaroon 轮换

定期轮换 macaroon 以限制被攻破后的影响窗口:

bash

1. 使用相同角色烘焙新的 macaroon


skills/macaroon-bakery/scripts/bake.sh --role pay-only --save-to ~/pay-only-v2.macaroon

2. 更新代理配置以使用新的 macaroon

3. 删除旧 macaroon 的根密钥(使其失效)

skills/lnd/scripts/lncli.sh bakemacaroon --rootkeyid 0

注意:使用 lncli listmacaroonids 和 deletemacaroonid 进行精细控制

最佳实践

  • - 每个代理角色使用一个 macaroon。 不要在不同职责的代理之间共享 macaroon。
  • 切勿在生产环境中使用 admin.macaroon。 它是主密钥。
  • 部署前进行检查。 始终验证烘焙的 macaroon 能做什么。
  • 按计划轮换。 生产环境每月一次,被攻破时立即轮换。
  • 也限定签名器 macaroon 的范围。 远程签名器的凭据包应使用 signer-only,而不是 admin。
  • 以 0600 权限存储。 Macaroon 是持有者令牌——像密码一样对待。

常见权限 URI

权限描述
uri:/lnrpc.Lightning/GetInfo节点信息(版本、公钥、同步状态)
uri:/lnrpc.Lightning/WalletBalance
链上钱包余额 | | uri:/lnrpc.Lightning/ChannelBalance | 闪电通道余额 | | uri:/lnrpc.Lightning/ListChannels | 列出打开的通道 | | uri:/lnrpc.Lightning/ListPeers | 列出连接的对等节点 | | uri:/lnrpc.Lightning/SendPaymentSync | 支付闪电发票 | | uri:/lnrpc.Lightning/DecodePayReq | 解码 BOLT11 发票 | | uri:/lnrpc.Lightning/AddInvoice | 创建闪电发票 | | uri:/lnrpc.Lightning/LookupInvoice | 按哈希查询发票 | | uri:/lnrpc.Lightning/ListInvoices | 列出所有发票 | | uri:/lnrpc.Lightning/ListPayments | 列出所有支付 | | uri:/lnrpc.Lightning/ConnectPeer | 连接对等节点 | | uri:/lnrpc.Lightning/OpenChannelSync | 打开通道 | | uri:/lnrpc.Lightning/CloseChannel | 关闭通道 | | uri:/signrpc.Signer/SignOutputRaw | 签署交易输出 | | uri:/signrpc.Signer/ComputeInputScript | 计算用于签名的输入脚本 | | uri:/signrpc.Signer/MuSig2Sign | MuSig2 签名 | | uri:/walletrpc.WalletKit/DeriveKey | 派生密钥 | | uri:/walletrpc.WalletKit/DeriveNextKey | 派生序列中的下一个密钥 |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 lnd-macaroon-bakery-1776420065 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 lnd-macaroon-bakery-1776420065 技能

通过命令行安装

skillhub install lnd-macaroon-bakery-1776420065

下载

⬇ 下载 macaroon-bakery v1.0.0(免费)

文件大小: 5.67 KB | 发布时间: 2026-4-17 19:00

v1.0.0 最新 2026-4-17 19:00
Initial release of lnd-macaroon-bakery.

- Bake least-privilege lnd macaroons for pay-only, invoice-only, read-only, channel-admin, and signer-only roles.
- Inspect macaroons to verify permissions before use.
- Supports custom permission sets for fine-grained access control.
- Works with local, Docker, and remote lnd nodes.
- Features macaroon rotation and signer macaroon scoping (for lightning-security-module).
- Includes guidance and best practices to avoid using `admin.macaroon` in production.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部