Skip to main content

auth

Facilitates OAuth sessions and identity management using Epicenter's auth packages for seamless integration in applications.

Install this skill

or
0/100

Security score

The auth skill was audited on Jun 3, 2026 and we found 29 security issues across 2 threat categories, including 18 high-severity. Review the findings below before installing.

Categories Tested

Security Issues

medium line 336

Template literal with variable interpolation in command context

SourceSKILL.md
336const response = await auth.fetch(`${EPICENTER_API_URL}/api/ai/chat`, {
medium line 37

Access to system keychain/keyring

SourceSKILL.md
37Epicenter uses Better Auth for auth-server machinery, OAuth for the app/resource boundary, and AuthState{ownerId,keyring} for workspace boot.
high line 44

Access to system keychain/keyring

SourceSKILL.md
44the per-owner workspace keyring, and returns `ApiSessionResponse`.
medium line 138

Access to system keychain/keyring

SourceSKILL.md
138keyring: Keyring;
medium line 143

Access to system keychain/keyring

SourceSKILL.md
143keyring: Keyring;
high line 158

Access to system keychain/keyring

SourceSKILL.md
158`AuthState` arms carry `ownerId` and `keyring` directly. There is no nested
high line 160

Access to system keychain/keyring

SourceSKILL.md
160by surfaces that display it, not held in state. `ownerId` and `keyring` are
high line 163

Access to system keychain/keyring

SourceSKILL.md
163id picks the right local storage partition and the keyring can still decrypt
medium line 194

Access to system keychain/keyring

SourceSKILL.md
194keyring: Keyring,
medium line 203

Access to system keychain/keyring

SourceSKILL.md
203keyring: Keyring,
medium line 216

Access to system keychain/keyring

SourceSKILL.md
216keyring -> local decrypt (offline-useful)
high line 220

Access to system keychain/keyring

SourceSKILL.md
220`userId` / `ownerId` / `keyring` remain useful offline: they select and decrypt
high line 228

Access to system keychain/keyring

SourceSKILL.md
228Refresh failure must preserve the cached `ownerId` and `keyring` so local
medium line 249

Access to system keychain/keyring

SourceSKILL.md
249Unavailable (offline) -> no bearer; local decrypt continues via cached keyring
high line 254

Access to system keychain/keyring

SourceSKILL.md
254keyring is cached. A different-`ownerId` `/api/session` response wipes the
high line 255

Access to system keychain/keyring

SourceSKILL.md
255local cell (same-owner guard); a changed keyring rewrites the cell.
medium line 415

Access to system keychain/keyring

SourceSKILL.md
415keyring: () => Keyring;
medium line 431

Access to system keychain/keyring

SourceSKILL.md
431keyring: signedIn.keyring(),
medium line 438

Access to system keychain/keyring

SourceSKILL.md
438keyring: signedIn.keyring(),
high line 462

Access to system keychain/keyring

SourceSKILL.md
462`keyring` is a callback because the same-owner keyring can rotate
high line 464

Access to system keychain/keyring

SourceSKILL.md
464`auth.state.keyring`. `server` is the API host alone (local-storage partition
high line 482

Access to system keychain/keyring

SourceSKILL.md
482returns `{ user: { id, email }, ownerId, keyring }` where the keyring comes from
high line 483

Access to system keychain/keyring

SourceSKILL.md
483`deriveKeyring(ownerId)`.
high line 519

Access to system keychain/keyring

SourceSKILL.md
519mismatch with `OwnerMismatch` (403). The keyring derivation's HKDF label IS the
high line 520

Access to system keychain/keyring

SourceSKILL.md
520`ownerId`: personal owners get a per-user keyring, every member of a shared
high line 521

Access to system keychain/keyring

SourceSKILL.md
521deployment shares one keyring.
high line 537

Access to system keychain/keyring

SourceSKILL.md
537`keyring` available.
high line 546

Access to system keychain/keyring

SourceSKILL.md
546`encryptionKeys` / `EncryptionKeys`. They do not exist. The term is `keyring`
high line 547

Access to system keychain/keyring

SourceSKILL.md
547/ `Keyring`, and workspace binding goes through `createSession` / `SignedIn`.
Scanned on Jun 3, 2026
View Security Dashboard
Installation guide →
GitHub Stars 4.6K
Rate this skill
Categorydevelopment
UpdatedJune 10, 2026
EpicenterHQ/epicenter