diff --git a/packages/go/openapi/doc/openapi.json b/packages/go/openapi/doc/openapi.json index b8b5ffcf4163..a93504401ddf 100644 --- a/packages/go/openapi/doc/openapi.json +++ b/packages/go/openapi/doc/openapi.json @@ -18517,7 +18517,7 @@ "parameters": [ { "name": "sort_by", - "description": "Sortable columns are `severity`, `finding_type`, `finding`, `title`, `platform`, `environment_id`, `environment_name`,\n`asset_group_tag_id`, `zone_name`, `source_principal_id`, `source_principal_kind`, `source_principal_name`, `target_principal_id`, `target_principal_kind`, `target_principal_name`, `status`, `first_seen`, `last_seen`.\n", + "description": "Sortable columns are `severity`, `finding_type`, `finding`, `title`, `platform`, `environment_id`, `environment_name`,\n`asset_group_tag_id`, `zone_name`, `source_principal_id`, `source_principal_kind`, `source_principal_name`, `target_principal_id`, `target_principal_kind`, `target_principal_name`, `status`, `id`, `first_seen`, `last_seen`.\n", "in": "query", "schema": { "$ref": "#/components/schemas/api.params.query.sort-by" @@ -18789,6 +18789,10 @@ "orphaned" ] }, + "id": { + "type": "integer", + "description": "Unique identifier of the finding." + }, "first_seen": { "type": "string", "format": "date-time", @@ -18831,6 +18835,7 @@ "target_principal_kind": "User", "target_principal_name": "Domain Admin", "status": "active", + "id": 101, "first_seen": "2026-04-11T00:30:18.491666Z", "last_seen": "2026-04-14T16:57:35.675609Z" }, @@ -18851,6 +18856,7 @@ "target_principal_kind": "User", "target_principal_name": "Backup Admin", "status": "accepted", + "id": 102, "first_seen": "2026-04-11T00:30:18.491666Z", "last_seen": "2026-04-14T16:57:35.675609Z" } diff --git a/packages/go/openapi/src/paths/attack-paths.attack-paths-findings.yaml b/packages/go/openapi/src/paths/attack-paths.attack-paths-findings.yaml index 319b1390330f..620805ff1781 100644 --- a/packages/go/openapi/src/paths/attack-paths.attack-paths-findings.yaml +++ b/packages/go/openapi/src/paths/attack-paths.attack-paths-findings.yaml @@ -28,7 +28,7 @@ get: - name: sort_by description: | Sortable columns are `severity`, `finding_type`, `finding`, `title`, `platform`, `environment_id`, `environment_name`, - `asset_group_tag_id`, `zone_name`, `source_principal_id`, `source_principal_kind`, `source_principal_name`, `target_principal_id`, `target_principal_kind`, `target_principal_name`, `status`, `first_seen`, `last_seen`. + `asset_group_tag_id`, `zone_name`, `source_principal_id`, `source_principal_kind`, `source_principal_name`, `target_principal_id`, `target_principal_kind`, `target_principal_name`, `status`, `id`, `first_seen`, `last_seen`. in: query schema: $ref: "./../schemas/api.params.query.sort-by.yaml" @@ -205,6 +205,9 @@ get: type: string description: Finding status. enum: [active, accepted, remediated, deprecated, orphaned] + id: + type: integer + description: Unique identifier of the finding. first_seen: type: string format: date-time @@ -237,6 +240,7 @@ get: target_principal_kind: "User" target_principal_name: "Domain Admin" status: "active" + id: 101 first_seen: "2026-04-11T00:30:18.491666Z" last_seen: "2026-04-14T16:57:35.675609Z" - severity: "high" @@ -255,6 +259,7 @@ get: target_principal_kind: "User" target_principal_name: "Backup Admin" status: "accepted" + id: 102 first_seen: "2026-04-11T00:30:18.491666Z" last_seen: "2026-04-14T16:57:35.675609Z" 400: diff --git a/packages/javascript/bh-shared-ui/src/components/AppIcon/Icons/LinesWithMagnifyingGlass.tsx b/packages/javascript/bh-shared-ui/src/components/AppIcon/Icons/LinesWithMagnifyingGlass.tsx new file mode 100644 index 000000000000..221188f3bdcc --- /dev/null +++ b/packages/javascript/bh-shared-ui/src/components/AppIcon/Icons/LinesWithMagnifyingGlass.tsx @@ -0,0 +1,33 @@ +// Copyright 2026 Specter Ops, Inc. +// +// Licensed under the Apache License, Version 2.0 +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// SPDX-License-Identifier: Apache-2.0 + +import React from 'react'; +import { BasePath, BaseSVG, BaseSVGProps } from './utils'; + +export const LinesWithMagnifyingGlass: React.FC = (props) => { + return ( + + + + ); +}; diff --git a/packages/javascript/bh-shared-ui/src/components/AppIcon/Icons/index.ts b/packages/javascript/bh-shared-ui/src/components/AppIcon/Icons/index.ts index 0827c22bd137..19414d497676 100644 --- a/packages/javascript/bh-shared-ui/src/components/AppIcon/Icons/index.ts +++ b/packages/javascript/bh-shared-ui/src/components/AppIcon/Icons/index.ts @@ -40,6 +40,7 @@ export * from './Info'; export * from './LargeRightArrow'; export * from './LineChart'; export * from './LinedPaper'; +export * from './LinesWithMagnifyingGlass'; export * from './Lock'; export * from './Logout'; export * from './MagnifyingGlass'; diff --git a/packages/javascript/doodle-ui/src/components/DataTable/DataTable.tsx b/packages/javascript/doodle-ui/src/components/DataTable/DataTable.tsx index 51420bbdce80..8b4883b431ce 100644 --- a/packages/javascript/doodle-ui/src/components/DataTable/DataTable.tsx +++ b/packages/javascript/doodle-ui/src/components/DataTable/DataTable.tsx @@ -191,6 +191,7 @@ const DataTable = (props: DataTableProps) => { initialState: defaultInitialState, columnResizeMode: 'onChange', enableColumnResizing: enableResizing, + getRowId: (row) => (row as Row)?.id, state: { ...(columnPinning && { columnPinning }), ...(columnSizing && { columnSizing }), diff --git a/packages/javascript/js-client-library/src/responses.ts b/packages/javascript/js-client-library/src/responses.ts index ddd72e0e1016..8c71aca72968 100644 --- a/packages/javascript/js-client-library/src/responses.ts +++ b/packages/javascript/js-client-library/src/responses.ts @@ -449,6 +449,7 @@ export type FindingSchemaResponse = PaginatedResponse<{ findings: FindingSchema[ export type GraphKindsResponse = BasicResponse<{ kinds: string[] }>; export type UnifiedFinding = { + id: number; severity: string; finding: string; title: string;