Skip to content

feat: publish the personal CyberStrike operational workbench - #3

Merged
spetro511 merged 4 commits into
mainfrom
mirror/upstream-134-live-workbench
Sep 3, 2026
Merged

feat: publish the personal CyberStrike operational workbench#3
spetro511 merged 4 commits into
mainfrom
mirror/upstream-134-live-workbench

Conversation

@spetro511

@spetro511 spetro511 commented Sep 3, 2026

Copy link
Copy Markdown
Owner

What does this PR do?

This updates spetro511/CyberStrike as Suren Sahayachny's enhanced distribution of the original open-source CyberStrike project. The root README explicitly credits CyberStrikeus/CyberStrike and its contributors, states that Suren did not create the original project, and explains the fork's centralized operational Web UI and managed Kali workflow.

The code adds the reactive Activity, Mission, Topology, Memory, observer, and managed Nmap functionality developed for the fork. Nmap scans now require managed approval, save canonical XML, and immediately project hosts/services into Topology. Standard and elevated approvals are isolated, with the browser showing the exact resolved command.

The upstream contribution remains separate: CyberStrikeus/CyberStrike#134 contains no README changes.

Type of change

  • Bug fix
  • New feature / agent
  • Security tool / MCP server / Bolt plugin
  • Agent skill / knowledge base
  • UI / TUI improvement
  • Documentation
  • Refactor / performance
  • CI / infrastructure

Security impact

  • This PR adds or modifies tool execution (shell, file, network)
  • This PR changes agent permissions or scope
  • This PR modifies authentication / authorization logic
  • This PR has no security impact

How did you verify it works?

  • Full workspace typecheck passed.
  • Changed-area and focused Nmap/topology suites passed.
  • Production Web UI and Linux x64 builds passed.
  • A browser-approved managed scan produced 1 host and 6 services in Topology.
  • An elevated loopback profile displayed and executed the exact sudo -n /usr/bin/nmap command.
  • Two valid historical XML artifacts were imported into their original session.
  • The personalized README passed formatting, link, and attribution checks.

Checklist

  • bun turbo typecheck passes
  • Tested locally with at least one LLM provider
  • PR is focused on the personal operational-workbench distribution
  • No secrets, credentials, or API keys in the diff
  • Breaking changes are documented (if any)

Summary by CodeRabbit

  • New Features
    • Added a live Workbench status bar with activity counts, latest updates, and quick access to Mission, Topology, and Memory.
    • Added unread indicators and automatic refreshes for session panels.
    • Added detailed Nmap scan permission prompts, including target, profile, ports, and privilege information.
  • Bug Fixes
    • Improved activity recovery after refreshes, reconnects, and interrupted sessions.
    • Improved Nmap execution across privileged, Windows, and root environments.
    • Prevented direct Nmap commands from bypassing the guided scan workflow.
  • Documentation
    • Updated the README with fork-specific workbench, installation, remote access, and ethical-use guidance.

@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 21a1f36b-bb1e-4523-ac13-e8bfdf069055

📥 Commits

Reviewing files that changed from the base of the PR and between 6465108 and 58b97d0.

⛔ Files ignored due to path filters (2)
  • packages/sdk/js/src/v2/gen/sdk.gen.ts is excluded by !**/gen/**
  • packages/sdk/js/src/v2/gen/types.gen.ts is excluded by !**/gen/**
📒 Files selected for processing (27)
  • CHANGELOG.md
  • README.md
  • packages/app/src/app.tsx
  • packages/app/src/context/workbench.tsx
  • packages/app/src/pages/session.tsx
  • packages/app/src/pages/session/activity-panel.test.ts
  • packages/app/src/pages/session/activity-panel.tsx
  • packages/app/src/pages/session/activity.ts
  • packages/app/src/pages/session/memory-panel.tsx
  • packages/app/src/pages/session/mission-panel.tsx
  • packages/app/src/pages/session/session-prompt-dock.tsx
  • packages/app/src/pages/session/session-side-panel.tsx
  • packages/app/src/pages/session/terminal-panel.tsx
  • packages/app/src/pages/session/topology-panel.tsx
  • packages/app/src/pages/session/use-session-commands.tsx
  • packages/app/src/pages/session/workbench-bar.tsx
  • packages/cyberstrike/src/agent/prompt/methodology/common-methodology.txt
  • packages/cyberstrike/src/event/index.ts
  • packages/cyberstrike/src/server/routes/event-log.ts
  • packages/cyberstrike/src/tool/bash.ts
  • packages/cyberstrike/src/tool/nmap-scan.ts
  • packages/cyberstrike/src/topology/index.ts
  • packages/cyberstrike/test/agent/agent.test.ts
  • packages/cyberstrike/test/event/event.test.ts
  • packages/cyberstrike/test/tool/bash.test.ts
  • packages/cyberstrike/test/tool/nmap-scan.test.ts
  • packages/cyberstrike/test/topology/topology.test.ts

📝 Walkthrough

Walkthrough

The pull request adds a live session workbench with shared activity state, event-driven panel refresh, unread badges, and terminal activity mode. It also improves event streaming, routes raw Nmap execution through nmap_scan, adds privilege-aware approval metadata, expands topology guidance, and rewrites fork documentation.

Changes

Workbench and operational workflows

Layer / File(s) Summary
Event normalization and streaming
packages/cyberstrike/src/event/index.ts, packages/cyberstrike/src/server/routes/event-log.ts, packages/cyberstrike/test/event/event.test.ts
Events now preserve additional metadata, deduplicate per session, support timestamp-and-ID cursors, and clean up streams on client or system disposal.
Workbench state and activity routing
packages/app/src/app.tsx, packages/app/src/context/workbench.tsx, packages/app/src/pages/session/activity.*
A session-scoped context maintains bounded activity history, live synchronization, channel revisions, unread changes, and shared activity summaries and routing.
Session workbench surfaces and controls
packages/app/src/pages/session.tsx, packages/app/src/pages/session/workbench-bar.tsx, packages/app/src/pages/session/*panel.tsx, packages/app/src/pages/session/use-session-commands.tsx
The session UI adds status, activity, Mission, Topology, Memory, live refresh indicators, channel badges, and parent-controlled terminal activity state.
Nmap routing, approval, and execution
packages/cyberstrike/src/agent/prompt/methodology/common-methodology.txt, packages/cyberstrike/src/tool/bash.ts, packages/cyberstrike/src/tool/nmap-scan.ts, packages/app/src/pages/session/session-prompt-dock.tsx, packages/app/src/pages/session/topology-panel.tsx, packages/cyberstrike/src/topology/index.ts, packages/cyberstrike/test/*
Raw Nmap commands are rejected by Bash. nmap_scan now selects privilege-aware invocations and exposes executor details in approval metadata. Tests cover routing, scopes, invocation selection, permissions, and multi-host topology projection.

Fork documentation

Layer / File(s) Summary
Fork README and release notes
README.md, CHANGELOG.md
The README describes the personal fork, operational workbench, installation, remote access, provenance, ethical use, and license. The changelog records the related workbench, recovery, Nmap, and topology changes.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Agent
  participant NmapScan
  participant EventSystem
  participant WorkbenchUI
  Agent->>NmapScan: request approved scan
  NmapScan->>EventSystem: record scan and result events
  EventSystem->>WorkbenchUI: stream activity and channel updates
  WorkbenchUI->>WorkbenchUI: refresh Mission, Topology, and Memory surfaces
Loading

Suggested reviewers: badchars

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mirror/upstream-134-live-workbench

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@amazon-q-developer amazon-q-developer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR successfully mirrors upstream security workbench enhancements with proper Nmap execution control and improved event streaming reliability. The implementation includes approval-gated Nmap scanning, proper SSE stream cleanup with disposal handling, and persistent activity tracking. The changes maintain good security practices with validation checks and permission gates.

Key enhancements verified:

  • Nmap execution properly blocked in bash tool with clear error messages directing users to nmap_scan
  • Event stream lifecycle improved with onDispose handling for graceful shutdown
  • Activity pagination enhanced with beforeID support for stable cursor-based navigation
  • Topology projection correctly refactored with improved routing trace handling

The code is well-tested with 155 tests covering the changed areas. All security controls are appropriately implemented.


You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.

spetro511 and others added 4 commits September 3, 2026 02:15
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@spetro511
spetro511 force-pushed the mirror/upstream-134-live-workbench branch from 60772bc to 58b97d0 Compare September 3, 2026 06:17
@spetro511 spetro511 changed the title feat: mirror live security workbench contribution feat: publish the personal CyberStrike operational workbench Sep 3, 2026
@spetro511
spetro511 marked this pull request as ready for review September 3, 2026 06:18
@spetro511
spetro511 merged commit b1b4f41 into main Sep 3, 2026
1 check was pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants