用途:在 GitHub Issues 中安全地提交和读取敏感信息(如漏洞报告)。通过 age(X25519)加密,避免明文暴露。
主要能力:加密 stdin 内容为 armored 块;加密并直接创建 issue;扫描仓库开放 issue 中的加密块;解密指定 issue 及其评论;支持 JSON 输出;可生成 age 密钥对。
使用方式:未安装时运行 curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/misc_coding_agent_tips_and_scripts/main/gh-issue-decrypt?$(date +%s)" | bash -s -- --install。常用命令:echo "details" | gh-issue-decrypt --encrypt PUBKEY --submit OWNER/REPO;gh-issue-decrypt OWNER/REPO 扫描;gh-issue-decrypt OWNER/REPO 42 解密指定 issue;gh-issue-decrypt --install 安装并生成密钥;无参数运行进入交互指南。--submit 需先 gh auth login。私钥默认位于 ~/.config/age/issuebot.key,可用 AGE_KEY 或 --key 覆盖。
issue 格式:加密块以 [enc:age] 与 [/enc:age] 包裹,标记可省略,裸 BEGIN AGE ENCRYPTED FILE 头也能识别;同一 issue 可混排明文与加密块。公钥为 62 字符(age1 + 58 位小写字母数字),可安全公开。
限制:age 加密不验证发送者身份,如需来源验证应配合 SSH 签名或 minisign;私钥丢失则加密消息不可恢复,需备份。