livewithlively/lively
AI가 자동으로 축적·관리하는 정규화된 업무 맥락 저장소 — 구성원의 AI에게 필요한 맥락을 주입해, 모두가 편차 없이 최상의 AI 성능을 씁니다 · A work-context store that AI accumulates and maintains, injected into every member's AI
- capability exposure inferred + 35
- tool safety inferred + 12
- trust mitigators mixed − 3
inferred mixed
The A–E grade is our heuristic synthesis — a "review this" prompt, not a verdict. Each factor is tagged by what backs it: attested (a verifiable record), reported (a third party's claim), or inferred (our own heuristic, e.g. permissions). See methodology.
grade last moved 1w ago · see ecosystem CVEs →
- D · 64 → C · 44
- C · 56 → D · 64
- C · 59 → C · 56
No known CVEs for this server.
- high dangerous code
committed secret: Slack token · dynamic exec: new Function() · obfuscated payload: dynamic require()/import()
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
- low dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
analyzed commit 0031e55 · analyzer v33 · 1d ago
skills & prompt files 2
danger signals24
- dynamic code execution new Function() livewithlively-lively-0031e55/desktop/main/desktop-core.test.mjs :2095
new Function("location", code)(loc); - dynamic code execution new Function() livewithlively-lively-0031e55/kit/hooks/opencode-plugin.test.mjs :43
const re = new Function(`return ${m[1]}`)(); - dynamic code execution new Function() livewithlively-lively-0031e55/scripts/auto-resume-ceiling.test.mjs :38
const judge = new Function(`${constsSrc}\n${bundle.slice(start, end)}\nreturn judgeAutoResume;`)(); - dynamic code execution new Function() livewithlively-lively-0031e55/scripts/dash-layout-migration.test.mjs :48
const dashLayout = new Function("DASH_LAYOUT_KEY", "DASH_LAYOUT_VER", `${chunk}; return dashLayout;`)(KEY, VER); - dynamic code execution new Function() livewithlively-lively-0031e55/scripts/dash-widget-contracts.test.mjs :47
const sessPaintFilterChip = new Function(`${paintSrc}; return sessPaintFilterChip;`)(); - dynamic code execution new Function() livewithlively-lively-0031e55/src/connectors/generic/parser-sandbox.ts :90
const fn = new Function("input", "console", script + "\\n;return (typeof parse === 'function') ? parse(input) : (typeof __result !== 'undefined' ? __result : undefined);"); - dynamic code execution new Function() livewithlively-lively-0031e55/src/org/liv/invitee-onboarding.test.ts :49
const compile = (params: string[], body: string): Fn => new Function(...params, body) as unknown as Fn; - dynamic code execution new Function() livewithlively-lively-0031e55/src/org/liv/onboarding-intro.test.ts :33
const compile = (params: string[], body: string): Fn => new Function(...params, body) as unknown as Fn; - dynamic code execution new Function() livewithlively-lively-0031e55/src/org/tenancy/workspace-ai-login-notice.test.ts :67
return new Function("managed", m![1]) as (managed: boolean) => string; - dynamic code execution new Function() livewithlively-lively-0031e55/src/org/tenancy/workspace-local-state-isolation.test.ts :52
return new Function("base", "__WS__", body) as (base: string, ws: string) => string; - dynamic code execution new Function() livewithlively-lively-0031e55/src/org/tenancy/workspace-people.test.ts :52
const webKind = new Function("n", `return ${m![1]};`) as (n: number) => string; - dynamic code execution new Function() livewithlively-lively-0031e55/src/sessions/inbox-owner-isolation.test.ts :56
return new Function("s", "__ME__", `${body}`) as (s: Record<string, unknown>, meId: string) => boolean; - dynamic code execution new Function() livewithlively-lively-0031e55/src/terminal/harness-io/codex-bridge-code.test.ts :24
const bridge: string = new Function("port", `return [${m![1]}];`)(39_777).join(""); - suspicious endpoint 169.254.169.254 (cloud metadata) livewithlively-lively-0031e55/src/mcp/mcp-proxy.test.ts :75
await rejectsWith(() => F("https://169.254.169.254/mcp"), /차단된 host/); - suspicious endpoint 93.184.216.34 livewithlively-lively-0031e55/src/mcp/mcp-proxy.test.ts :92
await rejectsWith(() => Fip("https://93.184.216.34/mcp"), /자기 자신/); // 핀된 IP 가 self IP 집합에 속함 - over-broad OAuth scope https://mail.google.com/ livewithlively-lively-0031e55/src/capabilities/google-connect.test.ts :42
t("★ P5b Gmail 전체 접근(https://mail.google.com/)도 Gmail 동의다 — 접두가 다르다", () => { - over-broad OAuth scope https://mail.google.com/ livewithlively-lively-0031e55/src/org/credentials/google-oauth.test.ts :314
assert.equal(googleScopeCovers("https://mail.google.com/", "gmail"), true); - over-broad OAuth scope https://mail.google.com/ livewithlively-lively-0031e55/src/org/credentials/google-oauth.ts :78
gmail: ["/auth/gmail.", "https://mail.google.com/"], - over-broad OAuth scope https://mail.google.com/ livewithlively-lively-0031e55/src/org/delivery/default-content.ts :604
URL, Slack 채널/DM URL, Gmail thread 링크(`https://mail.google.com/mail/u/0/#inbox/<threadId>`), GitLab/GitHub URL 등. URL이 없는 출처(`[U]`, `[추론]`, `[일반]`, `[wiki]`)는 그렇다고 명시.\n```\n\n## 적용하지 않는 경우\n- 한 사람이 직 - over-broad OAuth scope gmail.modify livewithlively-lively-0031e55/src/org/delivery/mcp-server-presets.test.ts :136
assert.ok(toks.has("https://www.googleapis.com/auth/gmail.modify"), "gmail.modify 누락(gmailmcp create_draft 가 요구)"); - over-broad OAuth scope https://mail.google.com/ livewithlively-lively-0031e55/src/org/delivery/mcp-server-presets.test.ts :137
assert.ok(!toks.has("https://mail.google.com/"), "전체 접근 scope(mail.google.com) 포함됨"); - over-broad OAuth scope https://www.googleapis.com/auth/drive livewithlively-lively-0031e55/src/org/delivery/mcp-server-presets.test.ts :142
assert.ok(!d.has("https://www.googleapis.com/auth/drive"), "drive 전체 scope 포함됨"); - over-broad OAuth scope gmail.modify livewithlively-lively-0031e55/src/org/delivery/mcp-server-presets.ts :153
oauth_scope: "https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.compose https://www.googleapis.com/auth/gmail.modify", - committed secret Slack token livewithlively-lively-0031e55/src/mcp/mcp-proxy.test.ts :63
xoxb-l…(19 chars, redacted)
Heuristic, inferred signals — false positives (legitimately powerful tools, forks, language ports) are expected. Treat each as "review this", not a verdict. See the ecosystem-wide picture on the security hub, or the fleet security of livewithlively.