Skip to content

feat(vulnerabilities): add grouped browsing and a review workspace - #400

Merged
Ed1s0nZ merged 4 commits into
AIPentest:mainfrom
Sycun:codex/vulnerability-workspace
Nov 13, 2026
Merged

Ed1s0nZ merged 4 commits into
AIPentest:mainfrom
Sycun:codex/vulnerability-workspace

Conversation

@Sycun

@Sycun Sycun commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

Vulnerability review currently paginates individual records and displays them as expandable cards. This change adds compact horizontal finding lists, domain/task navigation and an on-demand detail drawer for reviewing findings and their evidence.

  • Provide domain, task and raw-finding views. Domain and task pages contain complete groups, with sorting and filtering applied before pagination. Task navigation groups subtasks under their queue. All three views use the same compact row with selection, severity, a single-line title and summary, status and a detail action. Retest, download, edit and delete actions are available in the drawer.
  • Persist normalized multi-target data and backfill existing records at startup. Prefer domain groups when a report also names infrastructure IPs, retain IP-only targets, and filter version strings and script names from target descriptions. Derive root domains with the existing public-suffix dependency.
  • Load summaries for list requests and retrieve full evidence through the context endpoint. The drawer exposes affected targets, same-project inventory matches, source conversations, project facts, merge members and history.
  • Add manual same-project report grouping and splitting with reasons, transactional access checks and event history. Original records remain individually available in the raw view. Project reassignment detaches a record from its previous group.
  • Save finding snapshots when creating retest branches and append structured retest results. Replayed identical results are idempotent, including after a later manual status change.
  • Support severity/latest sorting, export of the displayed scope, stable tree-panel height, aligned selection and severity badges, bounded long labels, full-target copying, dark/narrow layouts and four interface languages. The square detail drawer closes through its backdrop, close button or Escape.

The additive schema update introduces normalized-target/version fields, optional case linkage, case events, retest results and retest snapshots. Startup backfill reprocesses older derived targets transactionally from the saved target text. Existing list API calls retain full-record responses unless they request summary=true.

Validation on the branch based on upstream main passed.

  • go test -race ./internal/database ./internal/handler ./internal/app
  • go build ./...
  • node --test web/static/js/*.test.cjs — 338 tests
  • Focused regressions cover legacy backfill, multi-target grouping, domain/IP classification, group pagination, scoped access, merge/split history, project boundaries, retest snapshots and retry idempotency.
  • Browser checks with mock API data cover all three views, task/queue selection and search, compact rows in all views, long-title truncation, drawer navigation and deletion, displayed-scope export, backdrop dismissal, checkbox alignment, 375–1600px layouts and unchanged panel height after collapsing a tree branch.
  • git diff --check

新增按域名、按任务和原始漏洞三个入口,统一为紧凑横向条目,展示标题、单行摘要、状态和详情入口。复测、下载、编辑和删除操作集中到详情抽屉。分组视图按完整域名或任务分页,并补齐旧数据目标识别、人工归并与拆分、复测快照和历史记录。包含稳定的左侧面板高度、长域名显示、严重度配色、直角抽屉及点击遮罩关闭等交互修正。

@Ed1s0nZ
Ed1s0nZ merged commit a34d500 into AIPentest:main Nov 13, 2026
7 checks passed
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