Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta Adatta ai principianti
#223 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
65/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
cli, macos, nodejs, typescript
Ambito
cli, release

Direzione di ricerca

Il problema riguarda la firma ad-hoc non valida del binario darwin-arm64. Inizia esaminando la pipeline di CI/CD per le release (probabilmente in .github/workflows) per vedere come viene costruito e firmato il binario. Cerca il passaggio che crea l'artefatto macOS. La soluzione è assicurarsi che il binario sia firmato correttamente con codesign --force --sign - dopo qualsiasi modifica. Testa costruendo un binario locale e verificando che funzioni su macOS Apple Silicon.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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 中加签名校验
Lingua principale
TypeScript
Stelle
333
Fork
28
Merge medio
1g 8h
PR unite (30g)
38

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di modelstudioai/cli

Tutte le issue di modelstudioai/cli

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.