[BUG]: varlockEnclave cannot read secrets created in keystore via secrets CLI
Maintainers usually reply within 1 day
Nobody has claimed this yet.
- #820 by @bjesuiter — closed without merging
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- typescript
Research direction
Start by reviewing the closed, unmerged pull request #820 and the related discussions in #458, #716, and #223 to see what has already been tried. Then locate the varlockEnclave or native Keychain resolver and the Varlock CLI or helper path that writes secrets; the issue names no file or test. Done means a secret created through Varlock can be read through the enclave path with the matching service and account identifiers.
Written by the indexing model from the issue text.
Description
varlock version
1.7.2
Steps to reproduce
On macOS:
-
Create a secret in Keychain using the
secretsCLI.Example shape:
secrets set <service-or-collection> <account-or-key> <value> -
Configure Varlock to read the same secret through the native Keychain/enclave-backed resolver path (
varlockEnclave/ native local encryption / keychain resolver). -
Run a Varlock command that resolves the value, for example:
varlock load # or varlock run -- <command>
What is expected?
A secret created for Varlock's native Keychain/enclave workflow should be readable by Varlock when the service/account/key identifiers match.
What is actually happening?
Varlock's enclave/native Keychain path fails to read the secret when that secret was created by the external secrets CLI.
The underlying problem appears to be macOS Keychain access control: secrets created by the secrets CLI are scoped/authorized for the secrets CLI process, and are not automatically allowed to be read by other processes. This was confirmed by the user.
Possible solutions
- Fix/update the Keychain item access control after creation so Varlock's process/native helper is allowed to read it. This appears to be possible in code already.
- Preferably, avoid creating these Keychain secrets via the external
secretsCLI at all. Instead, create/write them via thevarlockCLI through Varlock's own daemon/helper, so the stored Keychain item is created with the correct access controls from the start and this mismatch cannot happen.
System Info
macOS Keychain / Varlock 1.7.2
Any additional comments?
Related but not the same:
- #458 added/discussed native OS credential storage / Secure Enclave support.
- #716 covered a daemon socket staying open after resolving
keychain(...). - #223 covered broader encryption support.
Those do not appear to cover the specific case where a secret created by the external secrets CLI cannot be read by Varlock's enclave/native Keychain integration due to Keychain access-control scoping.
- Dominant language
- TypeScript
- Stars
- 4.9k
- Forks
- 140
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 35
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dmno-dev/varlock
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
dmno-dev/varlock#1279 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
dmno-dev/varlock#1100 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 78/100
dmno-dev/varlock#1278 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 72/100
dmno-dev/varlock#1275 · 1 comment ·
Maintainers usually reply within 1 day
-
core:varlock RFC
Difficulty 5/5 Over a week Newbie friendliness 28/100
dmno-dev/varlock#1258 · 1 comment ·
Maintainers usually reply within 1 day
All issues in dmno-dev/varlock
Similar issues
-
documentation good first issue roadmap
Difficulty 1/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
resend/react-email#3876 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
siyuan-note/siyuan#21324 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
himynameisdave/bsky-profanity-counter#59 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100