github TypeScript analyzed 1a6c8f6

KunAgent/Kun

github

Local-first AI agent workspace for coding, writing, design, research, and automation — one runtime for desktop GUI and TUI.

maintainer
KunAgent
license
NOASSERTION
first seen
2026-08-01
last seen
2026-08-01
releases · 30d
46
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged committed secret ×2, dynamic code execution ×4 in KunAgent/Kun
capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 1a6c8f6 · analyzer v28 · 1h ago

skills & prompt files 14

danger signals9

code evidence vv0.2.33 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 2987

filesystem 133

  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/file/atomic-write.ts :2 import { mkdir, rename, rm, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/file/file-session-store.ts :1 import { appendFile, mkdir, readFile, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/file/file-thread-store.ts :1 import { mkdir, readFile, readdir, rm, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/hybrid/hybrid-thread-documents.ts :1 import { readFile, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/hybrid/hybrid-thread-store.ts :1 import { mkdir, open, readdir, rename, rm, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/model/gemini-cli-oauth.ts :2 import { readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/model/route-pool-model-client.ts :1 import { mkdir, readFile, rename, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-bash-tool.ts :1 import { mkdir } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-file-tools.ts :1 import { constants } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-lsp-tool.ts :17 import { readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-read-tool.ts :1 import { createReadStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-repo-map-tool.ts :1 import type { Dirent, Stats } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-search-tools.ts :1 import { readFile, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-tool-operations.ts :1 import { existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-tool-types.ts :1 import { stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-tool-utils.ts :1 import { existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-verify-tool.ts :1 import { access, readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/component-design-tool-provider.ts :2 import { mkdir, readFile, readdir, stat, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/create-plan-tool.ts :2 import { mkdir, readdir, rename, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/design-svg-tool.ts :2 import { readFile, rename, unlink, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/file-mutation-queue.ts :2 import { mkdir, readFile, realpath, rm, stat, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/im-attachment-tool.ts :1 import { realpath, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/image-gen-tool-provider.ts :2 import { mkdir, readFile, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/lsp-servers.ts :2 import { existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-oauth-store.ts :6 import { chmod, mkdir, readFile, rename, rm, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-stdio-environment.ts :1 import { readdirSync, statSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/media-gen-tool-provider.ts :2 import { mkdir, readFile, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/office-cli-tool-provider.ts :3 import { createReadStream, existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/output-accumulator.ts :2 import { createWriteStream, type WriteStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/ppt-master-tool.ts :3 import { existsSync, readFileSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/sandbox-policy.ts :2 import type { BigIntStats } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/task-graph-tool.ts :15 import { mkdir, readFile, rename, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/windows-shell-resolver.ts :2 import { existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/workspace-path.ts :1 import { lstat, readlink, realpath } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/adapters/workspace/local-workspace-inspector.ts :1 import { existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/artifacts/artifact-store.ts :13 import { chmod, mkdir, readFile, readdir, rename, rm, writeFile, stat as fsStat, open as fsOpen } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/attachments/attachment-store.ts :2 import { chmod, mkdir, readFile, readdir, rm, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/cli/extension-cli.ts :5 import { open, mkdtemp, readFile, rm, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/cli/gui-settings-bridge.ts :2 import { chmod, mkdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/cli/replay-entry.ts :2 import { mkdir, readFile, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/cli/self-update.ts :3 import { createReadStream, createWriteStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/cli/shared-runtime.ts :2 import { closeSync, openSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/config/kun-config.ts :1 import { existsSync, readFileSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/config/project-config.ts :2 import { constants } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/delegation/delegation-runtime.ts :1 import { chmod, mkdir, readFile, readdir, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/delegation/workspace-agents.ts :1 import { constants, type Dirent } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/archive.ts :13 } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/atomic-json.ts :1 import { readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/bundled-extension-seeder.ts :2 import { createReadStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/host-process.ts :3 import { realpath } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/host-runner.ts :1 import { lstat, realpath } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/index-client.ts :2 import { mkdir, rm, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/log-writer.ts :1 import { appendFile, mkdir, rename, rm, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/package-manager.ts :2 import { chmod, lstat, mkdir, readdir, rename, rm } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/state-migration-coordinator.ts :2 import { chmod, lstat, mkdir, readdir, rename, rm } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/extensions/state-store.ts :2 import { access, mkdir, readdir, rm } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-learning-service.ts :1 import { mkdir, readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-planning-draft-store.ts :1 import { mkdir, readFile, readdir } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-run-index.ts :1 import { readFile, readdir } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-run-store.ts :2 import { mkdir, open, readFile, rm, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-thread-reference-store.ts :1 import { mkdir, readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/graph/graph-write-coordinator.ts :3 import { mkdir, readFile, realpath, rm } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/graph/project-agent-registry-policy.ts :3 import { realpath } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/graph/project-agent-registry-storage.ts :1 import { mkdir, readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/graph/project-agent-registry.ts :1 import { readdir } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/hooks/builtins/design-quality-hook.ts :12 import { readFileSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/instructions/instruction-runtime.ts :1 import { constants } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/loop/model-step-service.ts :2 import { mkdir, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/loop/turn-attachment-service.ts :1 import { readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/memory/memory-store.ts :1 import { chmod, mkdir, readFile, readdir, rm } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/review/git-review-target.ts :2 import { lstat, readdir, realpath } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/runtime/agent-sdk/agent-sdk-runtime-factory.ts :83 import { mkdir } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/runtime/agent-sdk/agent-sdk-runtime.ts :12 import { existsSync, realpathSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/runtime/delegated-session-binding.ts :2 import { mkdir, readFile, rename, rm, unlink, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/security/secret-store.ts :16 import type { Dirent } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/server/routes/migrations.ts :1 import { createReadStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/server/runtime-build-identity.ts :1 import { readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/server/runtime-data-dir-lease.ts :2 import { open, readFile, rename, rm, unlink } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/server/runtime-discovery.ts :2 import { chmod, mkdir, open, readFile, rm, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/server/runtime-factory.ts :1 import { chmod, mkdir, readFile, rename, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/background-shell-output.ts :1 import { chmod, mkdir, readFile, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/claude-connection-service.ts :2 import { createWriteStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-credential-store.ts :2 import { chmod, mkdir, open, readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-host-broker.ts :2 import { readFile, readdir, realpath, stat, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-archive-service.ts :2 import { createReadStream, createWriteStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-ffmpeg-service.ts :2 import { lstat, mkdir, readdir, rename, rm, stat, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-handle-service.ts :2 import { lstat, mkdir, realpath, rm, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-process-service.ts :2 import { access, realpath, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/extension-visual-analysis-service.ts :2 import { mkdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/model-request-trace-store.ts :1 import { createReadStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/official-provider-cli.ts :3 import { createWriteStream, existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/opencode-go-local-quota.ts :1 import { access } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/provider-subscription-quota.ts :2 import { readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/runtime-migration-import-service.ts :2 import { createReadStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/runtime-migration-service.ts :2 import { createReadStream, createWriteStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/thread-service.ts :1 import { readFile, realpath, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/thread-store-doctor.ts :2 import { lstat, open, opendir } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/thread-store-repair.ts :2 import { constants } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/services/workspace-checkpoint-gate.ts :1 import { readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/skills/skill-runtime.ts :1 import { constants, type Dirent } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/supplychain/publisher-trust-store.ts :1 import { readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/telemetry/agent-observability.ts :2 import { appendFile, chmod, mkdir } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/tui/clipboard-image.ts :2 import { mkdtemp, readFile, rm, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/tui/controller.ts :31 } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/tui/file-mentions.ts :9 import { readdir } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/tui/keymap.ts :8 import { readFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/tui/operations.ts :2 import { constants } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/kun/src/tui/persistence.ts :1 import { chmod, mkdir, readFile, rename, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/tui/pi-app.ts :26 import { mkdir, unlink, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/kun/src/version.ts :2 import { readFileSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/packages/create-kun-extension/src/scaffold.mjs :1 import { access, cp, mkdir, readFile, readdir, rename, rm, stat, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/agent-sdk-installer.ts :12 import { createWriteStream, existsSync, mkdirSync, rmSync, chmodSync, statSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/antigravity-cli.ts :18 } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/app-icon.ts :1 import { readFileSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/browser-use/browser-use-host.ts :1 import { appendFile, mkdir } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/bundled-extension-resources.ts :1 import { existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/claude-subscription-auth.ts :11 import { existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/claude-subscription-models.ts :10 import { existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/claw-schedule-mcp-config.ts :1 import { mkdir, readFile, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/cli-install-service.ts :18 } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/credential-recovery.ts :2 import { lstat, mkdir, readFile, rename, rm } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/cursor-subscription-models.ts :2 import { existsSync } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/archive-security.ts :2 import { mkdir, rm, statfs } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/data-migration-controller.ts :1 import { createReadStream, createWriteStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/export-inventory.ts :2 import { createReadStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/export-orchestrator.ts :2 import { mkdir, rm, stat } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/import-orchestrator.ts :2 import { mkdir, rm } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/import-planner.ts :2 import { lstat, mkdir, readdir, readlink, realpath, rm, statfs, symlink, writeFile } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/import-transaction.ts :9 import { lstat, rm } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/kunpack-container.ts :1 import { constants as fsConstants, createReadStream, createWriteStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/kunpack-crypto.ts :7 import { open, rm } from 'node:fs/promises'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/kunpack-zip.ts :2 import { createReadStream, createWriteStream } from 'node:fs'
  • fs KunAgent-Kun-1a6c8f6/src/main/data-migration/migration-reports.ts :1 import { open, mkdir, readdir, readFile, rm } from 'node:fs/promises'

shell / exec 42

  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/model/gemini-cli-oauth.ts :1 import { execFile } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-bash-tool.ts :3 import { type ChildProcessWithoutNullStreams } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-tool-utils.ts :3 import { spawn, spawnSync, type ChildProcess, type SpawnOptions } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/builtin-verify-tool.ts :2 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/design-svg-validation.ts :213 `^(?:[A-Za-z_][\\w:.-]*\\.)?(${COMMON_SMIL_EVENT_PATTERN})([+-].+)?$`,
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/lsp-client.ts :15 import { spawn, type ChildProcess } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/lsp-servers.ts :1 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-oauth-provider.ts :10 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/office-cli-tool-provider.ts :2 import { spawn, type ChildProcess } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/ppt-master-tool.ts :1 import { spawn, type ChildProcess } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/windows-shell-resolver.ts :1 import { spawnSync } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/adapters/workspace/local-workspace-inspector.ts :3 import { execFile, type ExecFileOptions } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/cli/self-update.ts :1 import { execFile, execFileSync, spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/cli/shared-runtime.ts :7 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/extensions/host-process.ts :1 import { fork, type ChildProcess } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/graph/graph-check-verifier.ts :2 import { execFile } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/graph/graph-thread-reference-store.ts :41 fork(sourceThreadId: string, targetThreadId: string): Promise<GraphThreadReference[]> {
  • shell KunAgent-Kun-1a6c8f6/kun/src/graph/graph-write-coordinator.ts :1 import { execFile } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/graph/project-agent-registry-policy.ts :2 import { execFile } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/hooks/builtins/design-quality-hook.ts :41 return new RegExp(`^${escaped}$`).test(normalized)
  • shell KunAgent-Kun-1a6c8f6/kun/src/hooks/hook-engine.ts :1 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/loop/plan-mode.ts :146 * stale — e.g. carried in by a conversation fork (the fork keeps the source
  • shell KunAgent-Kun-1a6c8f6/kun/src/review/git-review-target.ts :1 import { execFile } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/runtime/antigravity/antigravity-cli-runtime.ts :1 import { spawn, type ChildProcess } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/security/secret-store.ts :15 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/services/claude-connection-service.ts :1 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/services/extension-media-process-service.ts :5 import { spawn, type ChildProcessByStdio } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/services/official-provider-cli.ts :1 import { spawn, type ChildProcess } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/services/provider-subscription-quota.ts :1 import { execFile } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/services/thread-service.ts :590 async fork(threadId: string, options: ForkThreadOptions = {}): Promise<ThreadRecord> {
  • shell KunAgent-Kun-1a6c8f6/kun/src/skills/skill-runtime.ts :987 const match = new RegExp(`^${key}:\\s*(.+?)\\s*$`, 'm').exec(yaml)
  • shell KunAgent-Kun-1a6c8f6/kun/src/tui/clipboard-image.ts :1 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/tui/controller.ts :34 import { execFile as execFileCallback } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/tui/file-mentions.ts :8 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/tui/operations.ts :1 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/kun/src/tui/pi-app.ts :25 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/src/main/agent-sdk-installer.ts :11 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/src/main/antigravity-cli.ts :8 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/src/main/claude-subscription-auth.ts :10 import { spawn, type ChildProcess } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/src/main/claude-subscription-models.ts :9 import { spawn } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/src/main/cli-install-service.ts :8 import { execFile } from 'node:child_process'
  • shell KunAgent-Kun-1a6c8f6/src/main/cursor-subscription-models.ts :1 import { spawn } from 'node:child_process'

network 21

  • net KunAgent-Kun-1a6c8f6/kun/src/adapters/model/proxy-fetch.ts :1 import { request as httpRequest } from 'node:http'
  • net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/image-gen-tool-provider.ts :814 return await fetch(url, { method: 'POST', ...init(includeResponseFormat, includeQuality), signal })
  • net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-oauth-provider.ts :12 import { createServer } from 'node:http'
  • net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/mcp-transport.ts :264 return fetch(input, { ...init, headers: mergedHeaders })
  • net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/media-gen-tool-provider.ts :1100 return await fetch(url, init)
  • net KunAgent-Kun-1a6c8f6/kun/src/adapters/tool/web-tool-provider.ts :2 import { request as httpRequest, type IncomingMessage } from 'node:http'
  • net KunAgent-Kun-1a6c8f6/kun/src/cli/serve-entry.ts :156 const res = await fetch(url, {
  • net KunAgent-Kun-1a6c8f6/kun/src/extensions/safe-network-fetch.ts :3 import { isIP, type LookupFunction } from 'node:net'
  • net KunAgent-Kun-1a6c8f6/kun/src/hooks/hook-config.ts :66 const response = await fetch(`${entry.baseUrl}/workflow/internal/hook-run`, {
  • net KunAgent-Kun-1a6c8f6/kun/src/ports/web-provider.ts :68 async fetch(request: WebFetchRequest): Promise<WebFetchResult> {
  • net KunAgent-Kun-1a6c8f6/kun/src/server/loopback-host.ts :1 import { isIP } from 'node:net'
  • net KunAgent-Kun-1a6c8f6/kun/src/server/node-http-server.ts :1 import { createServer, type IncomingMessage, type Server, type ServerResponse } from 'node:http'
  • net KunAgent-Kun-1a6c8f6/kun/src/services/model-connection-oauth.ts :2 import { createServer, type Server } from 'node:http'
  • net KunAgent-Kun-1a6c8f6/kun/src/services/model-connection-registry.ts :1067 const response = await fetch(url, {
  • net KunAgent-Kun-1a6c8f6/packages/extension-api/src/services.ts :242 fetch(request: NetworkRequest, options?: HostRequestOptions): Promise<NetworkResponse>
  • net KunAgent-Kun-1a6c8f6/src/main/browser-use/browser-use-bridge-service.ts :7 } from 'node:http'
  • net KunAgent-Kun-1a6c8f6/src/main/browser-use/network-policy.ts :9 } from 'node:http'
  • net KunAgent-Kun-1a6c8f6/src/main/claw-platform-install.ts :54 const res = await fetch(url, {
  • net KunAgent-Kun-1a6c8f6/src/main/claw-runtime-helpers.ts :1 import type { IncomingMessage, ServerResponse } from 'node:http'
  • net KunAgent-Kun-1a6c8f6/src/main/claw-runtime.ts :1 import { createServer, type IncomingMessage, type Server, type ServerResponse } from 'node:http'
  • net KunAgent-Kun-1a6c8f6/src/main/codex-auth.ts :1 import { createServer, type Server } from 'node:http'

secrets 1

  • secrets KunAgent-Kun-1a6c8f6/kun/src/cli/replay-entry.ts :50 token: process.env.KUN_RUNTIME_TOKEN,

database 3

  • db KunAgent-Kun-1a6c8f6/kun/src/adapters/hybrid/hybrid-thread-index.ts :1 import type { Database as BetterSqliteDatabase } from 'better-sqlite3'
  • db KunAgent-Kun-1a6c8f6/kun/src/adapters/hybrid/hybrid-thread-store.ts :3 import type { Database as BetterSqliteDatabase, Statement } from 'better-sqlite3'
  • db KunAgent-Kun-1a6c8f6/kun/src/services/thread-store-doctor.ts :7 import type { Database as BetterSqliteDatabase } from 'better-sqlite3'

install hooks 5

  • postinstall KunAgent-Kun-1a6c8f6/package.json :72 node ./scripts/postinstall.cjs
  • prepack KunAgent-Kun-1a6c8f6/packages/create-kun-extension/package.json :16 npm run build
  • prepack KunAgent-Kun-1a6c8f6/packages/extension-api/package.json :33 npm run schema:check
  • prepack KunAgent-Kun-1a6c8f6/packages/extension-react/package.json :25 npm run build
  • prepack KunAgent-Kun-1a6c8f6/packages/extension-test/package.json :25 npm run build

declared dependencies 89

  • @modelcontextprotocol/sdk@^1.29.0
  • @computer-use/nut-js@^4.2.0
  • @google/design.md@0.3.0
  • @kun/extension-api@1.2.0
  • @kun/provider-catalog@0.1.0
  • @larksuiteoapi/node-sdk@^1.71.1
  • @napi-rs/canvas@^0.1.100
  • @tencent-weixin/openclaw-weixin@2.4.3
  • @tesseract.js-data/eng@^1.0.0
  • better-sqlite3@12.11.1
  • bindings@1.5.0
  • diff@^8.0.4
  • electron-store@^10.1.0
  • electron-updater@^6.8.9
  • extract-zip@^2.0.1
  • file-uri-to-path@2.0.0
  • html-to-docx@^1.8.0
  • ipaddr.js@^2.4.0
  • node-pty@^1.1.0
  • openclaw@file:vendor/openclaw-shim
  • pdfjs-dist@^5.4.394
  • proxy-agent@^8.0.2
  • react@^19.0.0
  • react-dom@^19.0.0
  • react-markdown@^10.1.0
  • remark-gfm@^4.0.1
  • sharp@^0.35.3
  • tesseract.js@^7.0.0
  • yaml@2.9.0
  • yauzl@^3.4.0
  • yazl@^3.3.1
  • zod@^4.4.3
  • @aws-sdk/client-s3@^3.1049.0
  • @codemirror/commands@^6.10.3
  • @codemirror/lang-markdown@^6.5.0
  • @codemirror/language@^6.12.3
  • @codemirror/language-data@^6.5.2
  • @codemirror/merge@^6.12.2
  • @codemirror/state@^6.6.0
  • @codemirror/view@^6.43.0
  • @eslint/js@^10.0.1
  • @floating-ui/dom@^1.7.6
  • @streamdown/math@^1.0.2
  • @tiptap/core@^3.26.0
  • @tiptap/extension-code-block@^3.26.0
  • @tiptap/extension-image@^3.26.0
  • @tiptap/extension-list@^3.26.0
  • @tiptap/extension-table@^3.26.0
  • @tiptap/markdown@^3.26.0
  • @tiptap/pm@^3.26.0
  • @tiptap/react@^3.26.0
  • @tiptap/starter-kit@^3.26.0
  • @types/better-sqlite3@^7.6.13
  • @types/html-to-docx@^1.8.1
  • @types/react@^19.0.10
  • @types/react-dom@^19.0.4
  • @types/react-test-renderer@19.0.0
  • @types/yauzl@^3.4.0
  • @types/yazl@^3.3.1
  • @vitejs/plugin-react@^4.3.4
  • @xterm/addon-fit@^0.11.0
  • @xterm/addon-web-links@^0.12.0
  • @xterm/xterm@^6.0.0
  • @xyflow/react@^12.11.0
  • autoprefixer@^10.4.21
  • electron@43.1.0
  • electron-vite@^3.1.0
  • eslint@^10.4.0
  • eslint-plugin-react-hooks@^7.1.1
  • globals@^17.6.0
  • i18next@^25.4.2
  • jimp@^1.6.1
  • lucide-react@^0.544.0
  • parse5@^7.3.0
  • playwright-core@1.61.1
  • postcss@^8.5.3
  • qrcode.react@^4.2.0
  • react-i18next@^15.7.4
  • react-test-renderer@19.0.0
  • rehype-harden@^1.1.8
  • rehype-raw@^7.0.0
  • shiki@^3.23.0
  • streamdown@^2.5.0
  • tailwindcss@^3.4.17
  • typescript@^5.8.2
  • typescript-eslint@^8.59.4
  • vite@^6.2.0
  • vitest@^4.1.7
  • zustand@^5.0.3

clipboard 3

  • clipboard shell call KunAgent-Kun-1a6c8f6/kun/src/tui/clipboard-image.test.ts :60 expect(command).toBe('wl-paste')
  • clipboard shell call KunAgent-Kun-1a6c8f6/kun/src/tui/clipboard-image.ts :106 'wl-paste',
  • clipboard shell call KunAgent-Kun-1a6c8f6/kun/src/tui/operations.ts :51 export type ClipboardMethod = 'pbcopy' | 'wl-copy' | 'xclip' | 'xsel' | 'clip.exe'

cursor-plugin 2

  • opaque (low) KunAgent-Kun-1a6c8f6/.cursor/commands/opsx-apply.md bundled .cursor/ plugin descriptor (KunAgent-Kun-1a6c8f6/.cursor/commands/opsx-apply.md) — presence-detected; review the descriptor
  • opaque (low) KunAgent-Kun-1a6c8f6/.cursor/skills/openspec-apply-change/SKILL.md bundled .cursor/ plugin descriptor (KunAgent-Kun-1a6c8f6/.cursor/skills/openspec-apply-change/SKILL.md) — presence-detected; review the descriptor

transport_posture 2

  • binds all interfaces (0.0.0.0) KunAgent-Kun-1a6c8f6/kun/src/server/routes/openai-model-gateway.test.ts :55 expect(ServeOptionsSchema.safeParse({ ...DEFAULT_SERVE_OPTIONS, dataDir: '/tmp/kun', host: '0.0.0.0', localModelGateway: { enabled: true } }).success).toBe(false)
  • binds all interfaces (0.0.0.0) KunAgent-Kun-1a6c8f6/kun/tests/contracts.test.ts :670 host: '0.0.0.0',