Commit Graph

237 Commits

Author SHA1 Message Date
ezl-keygraph c408eabc62 feat: migrate from MCP tools to CLI based tools (#252)
* feat: migrate from MCP tools to CLI tools

* fix: restore browser action emoji formatters for CLI output

Adapt formatBrowserAction for playwright-cli commands, replacing the old
mcp__playwright__browser_* tool name matching removed during migration.
2026-03-22 13:12:24 +05:30
ezl-keygraph 01dc49bbd6 docs: update announcement banner to npx availability 2026-03-19 04:22:01 +05:30
ezl-keygraph a6fbb4832e docs: update README setup instructions for dual CLI modes 2026-03-19 03:21:06 +05:30
ezl-keygraph 4436459310 docs: add CLI package README stub 2026-03-19 01:22:31 +05:30
ezl-keygraph 45581a7882 fix: remove redundant update command
Image is already auto-pulled by `ensureImage()` during `start` when the
pinned version tag is missing locally. Manual `update` was unnecessary.
2026-03-19 01:21:45 +05:30
ezl-keygraph 35b5192837 docs: normalize README commands to mode-neutral shorthand
Add a substitution note after Quick Start sections so all subsequent
examples use bare `shannon` instead of mixing `./shannon` and
`npx @keygraph/shannon`. Mode-specific commands (build, update,
uninstall) get inline annotations. Also fixes a broken command in the
Custom Base URL section.
2026-03-19 00:23:02 +05:30
ezl-keygraph 48225a077b fix: remove redundant checkout and pnpm steps from beta release workflow 2026-03-18 22:53:24 +05:30
ezl-keygraph 167f3c3ccd feat: add beta release and rollback workflows with cosign signing 2026-03-18 22:07:58 +05:30
ezl-keygraph a513aad161 fix: remove environment gates and add NPM_TOKEN to publish step 2026-03-18 16:09:40 +05:30
ezl-keygraph 762795c111 feat: add custom base URL support for Anthropic-compatible proxies
Support ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN to route SDK requests
through LiteLLM or any Anthropic-compatible proxy. Adds TUI wizard
option, TOML config mapping, credential validation, and preflight
endpoint reachability check via SDK query.
2026-03-18 15:59:08 +05:30
ezl-keygraph 916a085d79 fix: use session.json for workflow ID on resume instead of parsing workflow.log
On resume, workflow.log already exists with stale headers from the
previous run. The CLI poll found '====' immediately and extracted the
old workflow ID, producing a wrong Temporal Web UI URL.

Read the workflow ID from session.json instead — the worker writes
resume attempts there atomically. For fresh runs, poll until
originalWorkflowId appears. For resumes, poll until a new
resumeAttempts entry is appended.
2026-03-18 15:58:45 +05:30
ezl-keygraph 6860c56f42 fix: replace POSIX sleep binary with cross-platform async sleep
execFileSync('sleep') is unavailable on Windows. Use node:timers/promises
setTimeout instead, making ensureInfra async.
2026-03-18 15:58:45 +05:30
ezl-keygraph 955eae5d65 fix: remove duplicate environment gate from merge-docker job
Move DOCKERHUB_USERNAME from vars to secrets so merge-docker can access
credentials without its own environment scope. This eliminates the
redundant double approval since build-docker already gates on
release-publish.
2026-03-18 15:58:45 +05:30
ezl-keygraph ea7c74f33b fix: resolve unsubstituted placeholders in report prompt
Remove unused {{GITHUB_URL}} placeholder and wire up {{AUTH_CONTEXT}}
with structured auth context (login type, username, URL, MFA status).
2026-03-18 15:58:45 +05:30
ezl-keygraph b27fdac0f9 fix: skip POSIX permission check on Windows
writeFileSync mode option is ignored on Windows, so config.toml
gets 0o666 and the guard rejects it.
2026-03-18 15:58:45 +05:30
ezl-keygraph 92204adbaa fix: resolve SessionMutex race condition with 3+ concurrent waiters 2026-03-18 15:58:45 +05:30
ezl-keygraph 12ce802770 fix: use native ARM64 runners for Docker multi-platform builds
Replace QEMU emulation with parallel native builds using a matrix
strategy (ubuntu-latest for amd64, ubuntu-24.04-arm for arm64).
Each platform pushes by digest, then a merge job creates the
multi-arch manifest list before signing with cosign.
2026-03-18 15:58:45 +05:30
ezl-keygraph 96732306a8 feat: mark GitHub release as latest during rollback 2026-03-18 15:58:45 +05:30
ezl-keygraph 2e7c6b4cb7 fix: align TypeScript config types with JSON Schema
- SuccessCondition.type: use schema values (url_contains,
  element_present, url_equals_exactly, text_contains) instead of
  stale values (url, cookie, element, redirect)
- Authentication.login_flow: mark optional to match schema which
  does not require it
2026-03-18 15:58:45 +05:30
ezl-keygraph f720b7d752 style: fix biome formatting in docker.ts 2026-03-18 15:58:45 +05:30
ezl-keygraph 117a9d859d fix: show resumed workflow ID in splash screen URL
When resuming a workflow, the Temporal Web UI link pointed to the old
(terminated) workflow ID. Now extracts "New Workflow ID" from the resume
header in workflow.log, falling back to the original ID for fresh scans.
2026-03-18 15:58:45 +05:30
ezl-keygraph de8b7c368d fix: resolve Docker bind mount permission errors on Linux
Use entrypoint-based UID remapping instead of --user flag so the
container's pentest user matches the host UID/GID, keeping bind-mounted
volumes writable. Git config moved to --system level to survive remapping.
2026-03-18 15:58:45 +05:30
ezl-keygraph d89dbcd58b feat: add optional model customization to Anthropic setup 2026-03-18 15:58:45 +05:30
ezl-keygraph a8ab9d8b1c fix: handle Esc cancellation in Bedrock setup flow
Replace p.group() with individual prompts and per-field cancel checks,
matching the pattern used by all other provider setup flows.
2026-03-18 15:58:45 +05:30
ezl-keygraph ade31455b7 fix: pin pnpm to 10.12.1 in Dockerfile for catalog support 2026-03-18 15:58:45 +05:30
ezl-keygraph 53b4c6b83f fix: resolve all biome warnings and formatting issues
- Remove unnecessary non-null assertions where values are guaranteed
- Replace array index access with .at() for safer element retrieval
- Use local variables to avoid repeated process.env lookups
- Replace any types with unknown in functional utilities
- Use nullish coalescing for TOTP hash byte access
- Auto-format security patches to match biome config
2026-03-18 15:58:45 +05:30
ezl-keygraph 181f24cfcc refactor: migrate to Turborepo + pnpm + Biome monorepo
Restructure into apps/worker, apps/cli, packages/mcp-server with
Turborepo task orchestration, pnpm workspaces, Biome linting/formatting,
and tsdown CLI bundling.

Key changes:
- src/ -> apps/worker/src/, cli/ -> apps/cli/, mcp-server/ -> packages/mcp-server/
- prompts/ and configs/ moved into apps/worker/
- npm replaced with pnpm, package-lock.json replaced with pnpm-lock.yaml
- Dockerfile updated for pnpm-based builds
- CLI logs command rewritten with chokidar for cross-platform reliability
- Router health checking added for auto-detected router mode
- Centralized path resolution via apps/worker/src/paths.ts
2026-03-18 15:58:45 +05:30
ezl-keygraph 9b1abd9ec0 feat: integrate npx CLI, CI/CD, and ephemeral worker architecture
Bring in changes from shannon-npx: npx-distributable CLI package (cli/),
semantic-release CI/CD workflows, ephemeral per-scan worker containers,
TOML config support, setup wizard, and workspace management.

Preserves all shannon-only changes: security hardening (localhost-bound
ports, MCP env allowlist, path traversal guard), updated benchmarks
(XBEN 19/31/35/44), README assets, and prompt injection disclaimer.

Applies security hardening to cli/infra/compose.yml as well.
2026-03-18 15:57:57 +05:30
ezl-keygraph ae4bd45a30 feat: add custom base URL support for Anthropic-compatible endpoints (#246)
Support ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN in .env to route
SDK requests through proxies or gateways. Preflight now validates the
custom endpoint is reachable instead of skipping credential checks.
2026-03-18 00:53:44 +05:30
Arjun Malleswaran 629c52ed3b Merge pull request #230 from KeygraphHQ/patching-benchmark
chore: upload correct benchmarks for XBEN 19/31/35/44
2026-03-09 19:30:51 -07:00
ajmallesh 3dd4056dc3 chore: upload correct benchmarks for XBEN 19/31/35/44 2026-03-09 19:07:21 -07:00
Arjun Malleswaran 17df89a48f Merge pull request #224 from ajmallesh/security/tighten-docker-env-isolation
Hardening local defaults
2026-03-07 11:56:35 -08:00
ajmallesh 58afb767c6 docs: simplify prompt injection disclaimer in README 2026-03-07 11:48:59 -08:00
ajmallesh 023cc953db security: tighten Docker isolation and subprocess env
- Pin @playwright/mcp to 0.0.68 instead of @latest to prevent supply chain risk
- Restrict MCP subprocess env to allowlist (PATH, HOME, NODE_PATH, DISPLAY, XDG_*) instead of spreading process.env
- Add path traversal guard to @include() directive in prompt templates
- Bind all Docker ports to 127.0.0.1 to prevent network exposure
- Remove ipc: host — shm_size: 2gb already covers Chromium shared memory needs
- Add prompt injection disclaimer for untrusted repositories to README
2026-03-06 17:20:39 -08:00
nelliekeygraph 01165382ed Merge pull request #220 from KeygraphHQ/Readme-Update
Readme update
2026-03-06 13:42:49 -08:00
george-keygraph 4c6750541b Update README.md 2026-03-06 11:38:53 -08:00
george-keygraph 2feff83b6e Add files via upload 2026-03-06 11:38:18 -08:00
george-keygraph 96b2728318 Delete assets/keygraph_button.png 2026-03-06 11:38:06 -08:00
george-keygraph 595b2ada78 Update README.md 2026-03-06 11:36:43 -08:00
george-keygraph c68ee44103 Add files via upload 2026-03-06 11:35:16 -08:00
Arjun Malleswaran fdd7d0af64 Merge pull request #216 from KeygraphHQ/Updated-README.md
Updated readme.md
2026-03-05 16:48:32 -08:00
george-keygraph 03377de469 Update README.md 2026-03-05 16:47:03 -08:00
george-keygraph 477ccd71aa Update README.md 2026-03-05 16:45:08 -08:00
george-keygraph 43aa6386a2 Add files via upload 2026-03-05 16:44:01 -08:00
Arjun Malleswaran 6ad2c9d5c1 Merge pull request #206 from KeygraphHQ/keygraphVarun-patch-1
update image
2026-03-04 18:40:22 -08:00
keygraphVarun 53bb10c450 Update README.md 2026-03-04 18:39:05 -08:00
keygraphVarun ce98c749f5 update image 2026-03-04 18:38:11 -08:00
keygraphVarun ba8f737d02 Delete assets/github-banner.png 2026-03-04 18:37:54 -08:00
keygraphVarun a01b130281 update image 2026-03-04 18:36:34 -08:00
Arjun Malleswaran ff7874815a Merge pull request #205 from KeygraphHQ/keygraphVarun-patch-4
Update README.md
2026-03-04 18:30:39 -08:00