Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[bug] bl update: darwin-arm64 binary ships invalid ad-hoc signature, killed by macOS (Killed: 9)

Ouverte Adaptée aux débutants
#223 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
65/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
cli, macos, nodejs, typescript
Domaine
cli, release

Piste de recherche

Le problème concerne la signature ad-hoc invalide du binaire darwin-arm64. Commencez par examiner le pipeline de CI/CD de publication (probablement dans .github/workflows) pour voir comment le binaire est construit et signé. Cherchez l'étape qui crée l'artefact macOS. La solution consiste à s'assurer que le binaire est correctement signé avec codesign --force --sign - après toute modification. Testez en construisant un binaire local et en vérifiant qu'il s'exécute sur macOS Apple Silicon.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Environment

  • CLI: bl 2.0.1(binary 布局 ~/.local/share/bailian-cli/versions/2.0.1/bl)
  • Skill: 2.0.1
  • Node: v22.23.1(npm 渠道副本;二进制渠道不依赖 Node)
  • OS: macOS 27.0 (26A428), Apple Silicon (arm64)
  • Region: cn

Reproduce

  1. 环境原有 npm 安装的 bl 1.28.0(工作正常)

  2. 运行 bl update → 更新到 2.0.1 二进制布局(~/.local/bin/bl → versions/2.0.1/bl)

  3. 运行 bl --version

    zsh: killed     bl --version
    # exit 137 (SIGKILL)
    
  4. 签名校验:

    $ codesign -v .../versions/2.0.1/bl
    ...: invalid signature (code or signature have been modified)
    In architecture: arm64
    
    $ codesign -dvv .../versions/2.0.1/bl
    CodeDirectory v=20400 size=492094 flags=0x20002(adhoc,linker-signed)
    Signature=adhoc
    Identifier=a.out
    

Expected

官方 darwin-arm64 二进制应带有效签名,bl update 后可直接运行。

Actual

二进制自带 ad-hoc(linker-signed)签名无效,Apple Silicon 内核强制签名校验直接 SIGKILL,无法启动。

已排除下载损坏/篡改

  • 从 CDN 重新下载 v2.0.1 zip,sha256 与 manifest.json 的 assets.darwin-arm64.sha256 一致
  • 解压后二进制 sha256 与 bl update 安装到本地的完全一致(tar.gz 通道亦同)
  • 即官方 artifact 本身签名即无效,非网络损坏或篡改;文件无 com.apple.quarantine 属性,与 Gatekeeper 隔离无关

Workaround

codesign --force --sign - ~/.local/share/bailian-cli/versions/<ver>/bl

本地 ad-hoc 重签后 bl --version 正常输出 bl 2.0.1

Notes

  • Frequency: always(2.0.1 darwin-arm64 必现)
  • Invoked via: terminal / agent
  • 推测发布流水线在 link 后修改了二进制未重签;建议发布前 codesign --force --sign - 或 CI 中加签名校验
Langage dominant
TypeScript
Étoiles
333
Forks
28
Merge moyen
1 j 8 h
PR mergées (30 j)
38

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de modelstudioai/cli

Toutes les issues de modelstudioai/cli

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.