Commit Graph

97 Commits

Author SHA1 Message Date
ezl-keygraph 45acb16711 refactor: remove orchestration layer (#45)
* refactor: remove orchestration layer and simplify CLI

Remove the complex orchestration layer including checkpoint management,
rollback/recovery commands, and session management commands. This
consolidates the execution logic directly in shannon.ts for a simpler
fire-and-forget execution model.

Changes:
- Remove checkpoint-manager.ts and rollback functionality
- Remove command-handler.ts and cli/prompts.ts
- Simplify session-manager.ts to just agent definitions
- Consolidate orchestration logic in shannon.ts
- Update CLAUDE.md documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: move session lock logic to shannon.ts, simplify session-manager

- Reduce session-manager.ts to only AGENTS, AGENT_ORDER, getParallelGroups()
- Move Session interface and lock file functions to shannon.ts
- Simplify Session to only: id, webUrl, repoPath, status, startedAt
- Remove unused types/session.ts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: use crypto.randomUUID() for session ID generation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 22:58:17 +05:30
ezl-keygraph 8381198c41 feat: add configurable output directory with --output flag (#41)
* feat: add configurable output directory with --output flag

Add --output CLI flag to specify custom output directory for session
folders containing audit logs, prompts, agent logs, and deliverables.

Changes:
- Add --output <path> CLI flag parsing
- Update generateAuditPath() to use custom path when provided
- Add consolidateOutputs() to copy deliverables to session folder
- Update Docker examples with volume mounts for output directories
- Default remains ./audit-logs/ when --output is not specified

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: add configurable output directory with --output flag

Add --output CLI flag to specify custom output directory for session
folders containing audit logs, prompts, agent logs, and deliverables.

Changes:
- Add --output <path> CLI flag parsing
- Store outputPath in Session interface for persistence
- Update generateAuditPath() to use custom path when provided
- Pass outputPath through pre-recon and checkpoint-manager
- Add consolidateOutputs() to copy deliverables to session folder
- Update Docker examples with volume mount instructions
- Default remains ./audit-logs/ when --output is not specified

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: add gitkeep and fix formatting

* fix: correct docker run command formatting in README

Remove invalid inline comments after backslash continuations in docker
run commands. Comments cannot appear after backslash line continuations
in shell scripts, as the backslash escapes the newline character.

Reorganized comments to appear on separate lines before or after the
command block for better clarity and proper shell syntax.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-08 23:50:42 +05:30
ezl-keygraph 3ac07a4718 feat: typescript migration (#40)
* chore: initialize TypeScript configuration and build setup

- Add tsconfig.json for root and mcp-server with strict type checking
- Install typescript and @types/node as devDependencies
- Add npm build script for TypeScript compilation
- Update main entrypoint to compiled dist/shannon.js
- Update Dockerfile to build TypeScript before running
- Configure output directory and module resolution for Node.js

* refactor: migrate codebase from JavaScript to TypeScript

- Convert all 37 JavaScript files to TypeScript (.js -> .ts)
- Add type definitions in src/types/ for agents, config, errors, session
- Update mcp-server with proper TypeScript types
- Move entry point from shannon.mjs to src/shannon.ts
- Update tsconfig.json with rootDir: "./src" for cleaner dist output
- Update Dockerfile to build TypeScript before runtime
- Update package.json paths to use compiled dist/shannon.js

No runtime behavior changes - pure type safety migration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: update CLI references from ./shannon.mjs to shannon

- Update help text in src/cli/ui.ts
- Update usage examples in src/cli/command-handler.ts
- Update setup message in src/shannon.ts
- Update CLAUDE.md documentation with TypeScript file structure
- Replace all ./shannon.mjs references with shannon command

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: remove unnecessary eslint-disable comments

ESLint is not configured in this project, making these comments redundant.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 00:18:25 +05:30
Arjun Malleswaran 7d91373fdb Merge pull request #39 from KeygraphHQ/keygraphVarun-patch-1
Update README.md
2026-01-05 14:47:54 -08:00
keygraphVarun 82fbf55843 Update README.md
docs: rename Benchmark Results to Sample Reports, add link to XBOW benchmark
2026-01-05 13:04:33 -08:00
Khaushik-keygraph 8e9f6c3a0f Merge pull request #35 from KeygraphHQ/fix-dockerfile-linux-compatible
fix: Add Linux support for Docker volume permissions
2025-12-23 00:21:03 +05:30
Khaushik-keygraph 11fdb69826 fix: Add Linux support for Docker volume permissions 2025-12-20 23:02:24 +05:30
Arjun Malleswaran 37157244ee Merge pull request #30 from KeygraphHQ/fix-community-github-links
docs: fix GitHub links in Community & Support section
2025-12-16 22:51:04 -08:00
ajmallesh 0068b34859 docs: fix GitHub links in Community & Support section
Update GitHub Issues and Discussions links to use correct
organization name (KeygraphHQ instead of keygraph).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-12-16 22:48:54 -08:00
Arjun Malleswaran 98974d48cc Merge pull request #27 from KeygraphHQ/update-discord-link
docs: update Discord invite links
2025-12-16 13:34:22 -08:00
ajmallesh 10e602ec87 docs: update Discord invite links 2025-12-16 13:33:02 -08:00
Arjun Malleswaran dce9578a8e Merge pull request #26 from KeygraphHQ/keygraphVarun-patch-update-readme
clarify contributions
2025-12-16 13:15:26 -08:00
keygraphVarun b0cd70b67c clarify contributions 2025-12-16 13:14:29 -08:00
Arjun Malleswaran c9ee50123a Merge pull request #21 from KeygraphHQ/bug-fixes
Docker and config path fixes
2025-12-15 10:41:12 -08:00
ajmallesh 39766d0afc fix: support absolute config paths in checkpoint manager
Co-Authored-By: Khaushik-keygraph <khaushik.contractor@keygraph.io>
2025-12-15 10:34:25 -08:00
ajmallesh 515ade8302 fix: configure git to trust all directories in Docker
Co-Authored-By: Khaushik-keygraph <khaushik.contractor@keygraph.io>
2025-12-15 10:34:25 -08:00
ajmallesh 26b42ecd67 docs: add Docker instructions for testing local applications
Co-Authored-By: Khaushik-keygraph <khaushik.contractor@keygraph.io>
2025-12-15 10:34:24 -08:00
Khaushik-keygraph 37409a24fb chore: added disable loader functionality 2025-12-10 00:59:56 +05:30
Arjun Malleswaran 42687d30fb Merge pull request #19 from KeygraphHQ/additional-flags
chore: added flag additions for minimizing logs
2025-12-09 10:33:36 -08:00
Khaushik-keygraph ad0d1a04e9 chore: added flag additions for minimizing logs 2025-12-09 23:59:12 +05:30
Arjun Malleswaran 0d3812cdd2 Merge pull request #18 from KeygraphHQ/16-windows-defender-flags-benchmark-deliverables-as-backdoorphpperhetshell-during-local-use
docs: add Windows Defender false positive guidance
2025-12-08 10:20:51 -08:00
ajmallesh cecb64729f docs: add Windows Defender false positive guidance
Closes #16
2025-12-02 19:07:37 -08:00
ajmallesh c7de6636d9 docs: update Discord invite links 2025-12-01 09:24:19 -08:00
ajmallesh 7c2edeb4c0 chore: change license to AGPL-3.0 2025-11-26 18:45:36 -08:00
ajmallesh 9d20d94dda docs: clarify Shannon is a white-box pentesting tool
- Add prominent callout that Shannon Lite is designed for white-box
  (source-available) application security testing
- Update XBOW benchmark description to "hint-free, source-aware"
- Clarify benchmark comparison context (white-box vs black-box results)
- Update benchmark performance comparison image

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 12:37:55 -08:00
Khaushik-keygraph a804c94834 chore: added licensing to dockerfile 2025-11-22 20:46:15 +05:30
keygraphVarun 20cdf0b026 fix link 2025-11-22 20:43:09 +05:30
keygraphVarun 7e0b2b28fe cleanup 2025-11-22 20:43:09 +05:30
keygraphVarun a52c1ab7c3 consistency on score 2025-11-22 20:43:09 +05:30
ajmallesh 719bf03293 fix: resolve Docker build failure and clarify env var configuration
- Remove .env file with incorrect CLAUDE_CODE_MAX_TOKENS variable
- Remove .env copy from Dockerfile that was causing build to fail
- Update README to distinguish local (export) vs Docker (-e) env var usage
- Add CLAUDE_CODE_MAX_OUTPUT_TOKENS to all Docker run examples

The correct variable is CLAUDE_CODE_MAX_OUTPUT_TOKENS (not CLAUDE_CODE_MAX_TOKENS)
and should be passed at runtime via -e flag for Docker or export for local runs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 10:28:44 -08:00
Khaushik-keygraph 23618f1fd1 fix: removed comments 2025-11-13 20:33:58 +05:30
keygraphVarun 68ec5ccc5a style changes 2025-11-13 20:28:15 +05:30
keygraphVarun f4f320dcb5 Link to benchmark 2025-11-13 20:27:26 +05:30
ajmallesh 614caa1787 chore: add licensing comments to prompts 2025-11-13 17:53:41 +05:30
ajmallesh acc4a1b032 Update license references from BSL to MPL in documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 17:48:05 +05:30
Arjun Malleswaran 323720f3b0 Merge pull request #14 from KeygraphHQ/license-change
License change
2025-11-13 16:57:18 +05:30
Arjun Malleswaran 98e79d0125 Update LICENSE 2025-11-13 16:56:19 +05:30
ajmallesh e4eb59870a chore: add MPL license comments 2025-11-13 16:55:13 +05:30
Arjun Malleswaran 6e7a7ec1cd Update README.md 2025-11-04 08:47:18 -08:00
Arjun Malleswaran b5c286fc80 Update README.md 2025-11-04 08:46:15 -08:00
ajmallesh fe351604f9 Update README.md 2025-11-03 20:23:16 -08:00
ajmallesh bfaffe89e6 Merge branch 'main' of github.com:KeygraphHQ/shannon 2025-11-03 20:22:27 -08:00
ajmallesh 5f24311a4e Update README.md 2025-11-03 20:22:18 -08:00
Arjun Malleswaran 236c4d2a2f Merge pull request #9 from KeygraphHQ/adding-xben-results
Update README.md
2025-11-03 20:19:55 -08:00
ajmallesh ce0d7b96c2 Update README.md 2025-11-03 20:16:08 -08:00
Arjun Malleswaran b45e3e2844 Merge pull request #7 from KeygraphHQ/adding-xben-results
Adding xben results
2025-11-03 20:04:45 -08:00
ajmallesh a909572596 Update README.md 2025-11-03 20:04:21 -08:00
ajmallesh bb4aa03dd1 docs: add benchmarks README 2025-11-03 20:03:06 -08:00
ajmallesh abfc4eba82 Rename SQLi/Command Injection to Injection throughout README
Consolidates SQL Injection and Command Injection references to the unified "Injection" terminology for consistency with agent naming and OWASP categorization.

Changes:
- Updated feature descriptions and vulnerability lists
- Modified architecture diagrams
- Simplified targeted vulnerability scope

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 16:56:40 -08:00
ajmallesh d5b064e0c0 Add audit logs and update gitignore for xben results
Updates .gitignore to only ignore top-level audit-logs/ directory, allowing xben-benchmark-results audit logs to be tracked. This enables full reproducibility of benchmark runs with complete session data, prompts, and agent execution logs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 16:29:56 -08:00