Repository navigation
diagnostic: allowlist JPKI client dylibs - #24110
Merged
Merged
Conversation
- Japan's JPKI client, needed to use the My Number Card on a Mac for e-Tax, installs its PKCS#11 modules into `/usr/local/lib`. - Its installer writes `/etc/e-gov_app/load_path/default.dat`, which other e-government apps read to find the modules at that path, so they cannot be moved. - The `jpki` cask was added to `homebrew/cask` in Homebrew/homebrew-cask#289430, so every install of it currently makes `brew doctor` warn about these files.
Contributor
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The reviewed allowlist change is focused and has no unresolved issues.
Review effort: Lite
Findings: None
What changed in this PR
Allows official JPKI client dylibs to be excluded from stray dylib diagnostics.
Changes:
- Adds a
JPKI*.dyliballowlist entry.
| File | Description |
|---|---|
Library/Homebrew/diagnostic.rb |
Allows JPKI client dylibs in stray dylib diagnostics. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
MikeMcQuaid
enabled auto-merge
September 28, 2026 08:15
Author
|
@MikeMcQuaid Thanks for review! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Allowlist
JPKI*.dylibin the stray dylib diagnostic.Ref: Homebrew/homebrew-cask#289430
Why
JPKI User Client Software (公的個人認証サービス 利用者クライアントソフト) is the official client for the certificates on Japan's national ID card (My Number Card). The National Tax Agency's e-Tax setup guide for Mac lists it as a required install for filing tax returns with the card.
Its installer places these PKCS#11 modules in
/usr/local/lib:JPKIPKCS11.dylibJPKIPKCS11Auth.dylibJPKIPKCS11Sign.dylibJPKIServiceAPI.dylibThe installer's
preinstallscript also writes/etc/e-gov_app/load_path/default.dat, which points other e-government applications at/usr/local/lib/JPKIPKCS11Sign.dyliband/usr/local/lib/JPKIPKCS11Auth.dylib, so the files cannot be moved elsewhere.The
jpkicask was added tohomebrew/caskin Homebrew/homebrew-cask#289430, so every install of it currently makesbrew doctorwarn about these files. They were verified as:jp.go.jpkiversion3.9Developer ID Installer: Japan Agency for Local Authority Information Systems (LQF3UNS9HK), notarisedarm64andx86_64This follows the existing vendor entries in
check_for_stray_dylibs. A glob is used, as forsentinel-*.dylib, because all four files share theJPKIprefix.Reproduction
Verification
check_for_stray_dylibsreturns no finding on my Mac with the cask installed.brew lgtm --onlinepasses.brew benchmarkresults.brewcommands to reproduce the bug?brew lgtm(style, typechecking and tests) locally?AI/LLM disclosure: I used Claude Code (Anthropic, models
claude-fable-5-1andclaude-opus-5-5) to inspect the installer's scripts and binaries, locate the existing allowlist, make this one-line change, runbrew lgtmand draft this description. I reviewed the diff and verified the result on my Mac (Apple Silicon, macOS 27).