docs: mark 4.1 and 4.4 as completed in PLAN.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-16 20:34:17 +01:00
parent 0a4eac188a
commit faf6e2abd7

22
PLAN.md
View File

@@ -191,11 +191,11 @@ Goal: Add the entertaining shell implementations.
Goal: Make the web UI great and add operational niceties. Goal: Make the web UI great and add operational niceties.
### 4.1 Enhanced Web UI ### 4.1 Enhanced Web UI
- GeoIP lookups and world map visualization of attack sources - GeoIP lookups and world map visualization of attack sources
- Charts: attempts over time, hourly patterns, credential trends - Charts: attempts over time, hourly patterns, credential trends
- Session detail view with full command log - Session detail view with full command log
- Filtering and search - Filtering and search
### 4.2 Operational ✅ ### 4.2 Operational ✅
- Prometheus metrics endpoint ✅ - Prometheus metrics endpoint ✅
@@ -209,15 +209,15 @@ Goal: Make the web UI great and add operational niceties.
- Store country/city with each attempt ✅ - Store country/city with each attempt ✅
- Aggregate stats by country ✅ - Aggregate stats by country ✅
### 4.4 Capture SSH Exec Commands ### 4.4 Capture SSH Exec Commands
Many bots send a command directly via `ssh user@host <command>` (an SSH "exec" request) rather than requesting an interactive shell. Currently these are rejected and the command is lost. We should capture them. Many bots send a command directly via `ssh user@host <command>` (an SSH "exec" request) rather than requesting an interactive shell. Currently these are rejected and the command is lost. We should capture them.
- Handle `"exec"` request type in the server's request loop (alongside `"pty-req"` and `"shell"`) - Handle `"exec"` request type in the server's request loop (alongside `"pty-req"` and `"shell"`)
- Parse the command string from the exec payload - Parse the command string from the exec payload
- Add an `exec_command` column (nullable) to the `sessions` table via a new migration - Add an `exec_command` column (nullable) to the `sessions` table via a new migration
- Store the command on the session record before closing the channel - Store the command on the session record before closing the channel
- Optionally return plausible fake output for common commands (e.g. `uname`, `id`, `cat /etc/passwd`) to encourage further interaction - Optionally return plausible fake output for common commands (e.g. `uname`, `id`, `cat /etc/passwd`) to encourage further interaction
- Surface exec commands in the web UI (session detail view) - Surface exec commands in the web UI (session detail view)
#### 4.4.1 Fake Exec Output #### 4.4.1 Fake Exec Output
Return plausible fake output for exec commands to encourage bots to interact further. Return plausible fake output for exec commands to encourage bots to interact further.