World's most advanced database DevSecOps solution for Developer, Security, DBA and Platform Engineering teams. The GitHub/GitLab for database DevSecOps.
883 matches across 12 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | frontend/pnpm-workspace.yaml | 1 | peerDependencyRules: |
| LOW | frontend/pnpm-workspace.yaml | 21 | # glob@7 → inflight@1.0.6 transitive chain. inflight is unmaintained |
| LOW | frontend/src/types/sqlEditor/tab.ts | 41 | |
| LOW | frontend/src/types/proto-es/google/type/expr_pb.d.ts | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/google/type/expr_pb.js | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/google/api/client_pb.d.ts | 1 | // Copyright 2025 Google LLC |
| LOW | …d/src/types/proto-es/google/api/field_behavior_pb.d.ts | 1 | // Copyright 2025 Google LLC |
| LOW | …end/src/types/proto-es/google/api/field_behavior_pb.js | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/google/api/resource_pb.js | 1 | // Copyright 2025 Google LLC |
| LOW | …ontend/src/types/proto-es/google/api/annotations_pb.js | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/google/api/resource_pb.d.ts | 1 | // Copyright 2025 Google LLC |
| LOW | …tend/src/types/proto-es/google/api/annotations_pb.d.ts | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/google/api/http_pb.js | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/google/api/client_pb.js | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/google/api/http_pb.d.ts | 1 | // Copyright 2025 Google LLC |
| LOW | …types/proto-es/google/api/expr/v1alpha1/syntax_pb.d.ts | 1 | // Copyright 2025 Google LLC |
| LOW | …c/types/proto-es/google/api/expr/v1alpha1/syntax_pb.js | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/google/rpc/status_pb.d.ts | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/google/rpc/status_pb.js | 1 | // Copyright 2025 Google LLC |
| LOW | frontend/src/types/proto-es/buf/validate/validate_pb.js | 1 | // Copyright 2023-2025 Buf Technologies, Inc. |
| LOW | …ntend/src/types/proto-es/buf/validate/validate_pb.d.ts | 1 | // Copyright 2023-2025 Buf Technologies, Inc. |
| LOW | frontend/src/plugins/ai/index.ts | 1 | // Plugin-wide barrel. Only re-exports framework-agnostic surfaces here |
| LOW | frontend/src/plugins/ai/react/index.ts | 1 | // React-only barrel for the AI plugin. The plugin's root `index.ts` |
| LOW | frontend/src/utils/string.ts | 1 | export const escapeMarkdown = (md: string): string => { |
| LOW | frontend/src/utils/sql-download/filename.ts | 41 | // U+202A-202E: bidi embed/override |
| LOW | frontend/src/utils/sql-download/value.ts | 121 | HEX[(n >> 8) & 0xf] + |
| LOW | frontend/src/views/sql-editor/Sheet/context.ts | 881 | }); |
| LOW | frontend/src/react/ReactPageMount.vue | 41 | }); |
| LOW | frontend/src/react/explain-visualizer/main.tsx | 1 | import "bootstrap/dist/css/bootstrap.css"; |
| LOW | frontend/src/react/components/ProjectSelect.tsx | 41 | const [projects, setProjects] = useState<Project[]>([]); |
| LOW | …omponents/sql-editor/ConnectionPane/ConnectionPane.tsx | 881 | // overwrite the tree with a stale flag (e.g. user toggles the checkbox |
| LOW | …omponents/sql-editor/ConnectionPane/ConnectionPane.tsx | 1121 | // Match `data-row-interactive` first because tooltip / permission |
| LOW | frontend/src/react/components/ui/tree.tsx | 61 | disableDrag = true, |
| LOW | frontend/src/react/components/ui/tree.tsx | 81 | // a "Columns" node with hundreds of descendants that doubled the cost |
| LOW | …/src/react/components/database/CreateDatabaseSheet.tsx | 161 | ), |
| LOW | frontend/src/react/hooks/useColumnWidths.ts | 41 | startWidth: number; |
| LOW | frontend/src/react/pages/settings/RequestRoleSheet.tsx | 301 | showDatabases && |
| LOW | …pages/project/ProjectPlanDashboardPage.columns.test.ts | 1 | import { describe, expect, test } from "vitest"; |
| LOW | frontend/src/store/workspaceSwitchChannel.ts | 1 | // Single BroadcastChannel instance shared by both the Vue and React workspace |
| LOW | frontend/src/store/modules/v1/policy.ts | 281 | // getEmptyRolloutPolicy returns a default rollout policy for UI display purposes. |
| LOW | backend/tests/webhook_helpers_test.go | 641 | } |
| LOW | backend/tests/collision_helper_test.go | 41 | |
| LOW | backend/tests/collision_helper_test.go | 281 | // fast in that case. |
| LOW | backend/tests/collision_helper_test.go | 321 | // so task_run collision is NOT evidence of PCR collision — the two |
| LOW | backend/tests/tenant_test.go | 21 | // KEY CONCEPTS: |
| LOW | backend/tests/cross_project_delete_test.go | 61 | // TestCollisionDeleteInstanceNoCrossProjectCorruption verifies that deleting |
| LOW | backend/tests/cross_project_delete_test.go | 101 | // Asymmetric counts here would indicate a cross-project bug in the |
| LOW | backend/plugin/webhook/teams/app.go | 1 | // This file implements Teams direct messaging using Microsoft Graph API and Bot Framework. |
| LOW | backend/plugin/idp/ldap/ldap.go | 21 | // IdentityProviderConfig is the configuration to be consumed by the LDAP |
| LOW | backend/plugin/advisor/sql_review.go | 21 | // How to add a SQL review rule: |
| LOW | backend/plugin/advisor/advisor.go | 61 | |
| LOW | …gin/advisor/oracle/rule_statement_disallow_truncate.go | 21 | // truncate_table_partition : TRUNCATE (partition_extended_names | subpartition_extended_names) ... ; |
| LOW | …statement_where_disallow_functions_and_calculations.go | 601 | } |
| LOW | …statement_where_disallow_functions_and_calculations.go | 681 | default: |
| LOW | …statement_where_disallow_functions_and_calculations.go | 1061 | // (e.g. `WITH orders AS (SELECT * FROM orders …)`) is NON-recursive and |
| LOW | …statement_where_disallow_functions_and_calculations.go | 1261 | |
| LOW | …statement_where_disallow_functions_and_calculations.go | 1281 | // |
| LOW | …n/advisor/oracle/test/statement_disallow_truncate.yaml | 1 | # SQL review rule: STATEMENT_DISALLOW_TRUNCATE (Oracle) |
| LOW | …statement_where_disallow_functions_and_calculations.go | 61 | // searchPath is the list of schemas to consult for unqualified table refs, |
| LOW | …statement_where_disallow_functions_and_calculations.go | 521 | // handleWithClause walks the CTE bodies AND maintains the cteStack with |
| 429 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …/tests/e2e/masking-exemption/masking-exemption.spec.ts | 410 | // Step 1: No exemption → data is masked |
| LOW | …/tests/e2e/masking-exemption/masking-exemption.spec.ts | 416 | // Step 2: Grant exemption via UI → data becomes unmasked |
| LOW | …/tests/e2e/masking-exemption/masking-exemption.spec.ts | 427 | // Step 3: Revoke exemption via UI → data becomes masked again |
| LOW | frontend/src/utils/util.ts | 178 | // Step 1: Escape HTML entities to prevent XSS (converts <, >, &, ", ', ` to entities) |
| LOW | frontend/src/utils/util.ts | 182 | // Step 2: Escape the search keyword and apply highlighting |
| LOW | frontend/src/utils/util.ts | 189 | // Step 3: Sanitize with DOMPurify as defense-in-depth (allowlist-based) |
| LOW | frontend/src/utils/util.ts | 214 | // Step 1: Escape HTML entities to prevent XSS |
| LOW | frontend/src/utils/util.ts | 220 | // Step 2: Build safe regex pattern and apply highlighting |
| LOW | frontend/src/utils/util.ts | 231 | // Step 3: Sanitize with DOMPurify as defense-in-depth (allowlist-based) |
| LOW | …src/react/plugins/agent/logic/skills/databaseChange.ts | 18 | ### Step 1: Create sheet(s) with SQL |
| LOW | …src/react/plugins/agent/logic/skills/databaseChange.ts | 40 | ### Step 2: Create a plan |
| LOW | …src/react/plugins/agent/logic/skills/databaseChange.ts | 104 | ### Step 3: Create an issue |
| LOW | …src/react/plugins/agent/logic/skills/databaseChange.ts | 120 | ### Step 4: Create a rollout |
| LOW | …rc/react/plugins/agent/logic/skills/grantPermission.ts | 25 | ### Step 1: List Available Roles |
| LOW | …rc/react/plugins/agent/logic/skills/grantPermission.ts | 48 | ### Step 2: Get Current IAM Policy |
| LOW | …rc/react/plugins/agent/logic/skills/grantPermission.ts | 74 | ### Step 3: Set IAM Policy |
| LOW | …src/react/components/sql-editor/WorksheetPane.test.tsx | 434 | // Step 1: enter multi-select and check a worksheet |
| LOW | …src/react/components/sql-editor/WorksheetPane.test.tsx | 446 | // Step 2: click the "move-worksheets" toolbar button to open the modal |
| LOW | …src/react/components/sql-editor/WorksheetPane.test.tsx | 462 | // Step 3: change the folder target via the mocked FolderForm's setter |
| LOW | …react/components/database/CreateDatabaseSheet.test.tsx | 335 | // Step 1: type a custom title. |
| LOW | …react/components/database/CreateDatabaseSheet.test.tsx | 339 | // Step 2: dbName preserved across manual title. |
| LOW | …react/components/database/CreateDatabaseSheet.test.tsx | 344 | // Step 3: clear title manually (invariant reset). |
| LOW | …react/components/database/CreateDatabaseSheet.test.tsx | 348 | // Step 4: clear dbName. |
| LOW | …react/components/database/CreateDatabaseSheet.test.tsx | 352 | // Step 5: retype dbName and verify each keystroke tracks. |
| LOW | …tend/src/react/pages/project/ProjectSyncSchemaPage.tsx | 352 | // Step 2: at least one target database with diff |
| LOW | …eact/pages/project/plan-detail/utils/rolloutPreview.ts | 54 | // Step 1: Extract all database targets from specs and expand database groups |
| LOW | …eact/pages/project/plan-detail/utils/rolloutPreview.ts | 58 | // Step 2: Fetch databases that are not cached |
| LOW | …eact/pages/project/plan-detail/utils/rolloutPreview.ts | 61 | // Step 3: Generate tasks from specs |
| LOW | …eact/pages/project/plan-detail/utils/rolloutPreview.ts | 64 | // Step 4: Get environment order from store |
| LOW | …eact/pages/project/plan-detail/utils/rolloutPreview.ts | 67 | // Step 5: Group tasks by environment and create stages |
| LOW | …eact/pages/project/plan-detail/utils/rolloutPreview.ts | 70 | // Step 6: Build and return the rollout |
| LOW | …ct/pages/project/export-center/DataExportPrepSheet.tsx | 108 | // Step 1: target selection |
| LOW | …ct/pages/project/export-center/DataExportPrepSheet.tsx | 119 | // Step 2: form fields |
| LOW | backend/runner/approval/runner.go | 172 | // Step 1: Determine approval source from issue type |
| LOW | backend/runner/approval/runner.go | 182 | // Step 2: Build CEL variables for evaluation |
| LOW | backend/runner/approval/runner.go | 192 | // Step 3: Inject risk level into CEL variables for CHANGE_DATABASE issues |
| LOW | backend/runner/approval/runner.go | 200 | // Step 4: Find matching approval template |
| LOW | backend/tests/gitops_test.go | 199 | // Step 1: Create a release containing migration files. |
| LOW | backend/tests/gitops_test.go | 222 | // Step 2: Create a plan with the release field set. |
| LOW | backend/tests/gitops_test.go | 253 | // Step 3: Create a rollout from the plan. |
| LOW | backend/tests/gitops_test.go | 521 | // Step 1: Create a release containing 3 simple migration files. |
| LOW | backend/tests/gitops_test.go | 557 | // Step 2: Create a plan targeting both test and prod databases. |
| LOW | backend/tests/gitops_test.go | 590 | // Step 3: Create a rollout from the plan. |
| LOW | backend/tests/gitops_test.go | 750 | // Step 1: Create a release with version 1.0.0 file. |
| LOW | backend/tests/gitops_test.go | 772 | // Step 2: Apply the release to a database. |
| LOW | backend/tests/gitops_test.go | 816 | // Step 3: Create a release with version 1.0.0 file but with different content. |
| LOW | backend/tests/gitops_test.go | 834 | // Step 4: Call CheckRelease with the modified release against the same target. |
| LOW | backend/tests/gitops_test.go | 845 | // Step 5: Expect that CheckRelease returns a warning about the changed file. |
| LOW | backend/tests/tenant_test.go | 159 | // Step 1: Get baseline's current schema. |
| LOW | backend/tests/tenant_test.go | 165 | // Step 2: Create new tenant database. |
| LOW | backend/tests/tenant_test.go | 170 | // Step 3: Initialize new tenant with baseline schema. |
| LOW | backend/tests/tenant_test.go | 220 | // Step 4: Find pending rollouts for baseline. |
| LOW | backend/tests/tenant_test.go | 247 | // Step 5: Add new tenant to pending rollouts (idempotent CreateRollout). |
| LOW | backend/tests/pg_sdl_rollout_test.go | 83 | // Step 1: Create initial schema with basic objects |
| LOW | backend/tests/pg_sdl_rollout_test.go | 115 | // Step 2: Update schema - add column and new table |
| LOW | backend/tests/pg_sdl_rollout_test.go | 157 | // Step 3: Remove objects - drop comments table and posts index |
| LOW | …d/plugin/advisor/tidb/advisor_statement_dml_dry_run.go | 97 | // Step 1: Run TiDB's native BATCH DRY RUN to validate the batch splitting. |
| LOW | …d/plugin/advisor/tidb/advisor_statement_dml_dry_run.go | 117 | // Step 2: Run EXPLAIN on the inner DML to validate the DML execution plan. |
| LOW | …d/plugin/parser/tsql/query_span_extractor_omni_test.go | 278 | // Step 1: DECLARE populates TempTables. |
| LOW | …d/plugin/parser/tsql/query_span_extractor_omni_test.go | 287 | // Step 2: SELECT from @t resolves via TempTables. |
| 102 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …ontend/src/plugins/ai/react/ChatView/Markdown/utils.ts | 144 | function footnoteDefinitionToReact( |
| LOW | frontend/src/utils/util.ts | 177 | export function getHighlightHTMLByKeyWords(s: string, k: string) { |
| LOW | frontend/src/utils/v1/position.ts | 4 | export function batchConvertPositionToMonacoPosition( |
| LOW | frontend/src/utils/v1/position.ts | 61 | export function convertPositionLineToMonacoLine(line: number) { |
| LOW | frontend/src/utils/sql-download/value.ts | 346 | export function xlsxStringFromStructpbValue( |
| LOW | frontend/src/react/mountProjectSidebar.ts | 65 | export async function updateProjectSidebarLocale( |
| LOW | frontend/src/react/app/SessionExpiredSurfaceGate.tsx | 7 | export function SessionExpiredSurfaceGate() { |
| LOW | …ntend/src/react/plugins/agent/components/AgentChat.tsx | 78 | function getToolCallDuplicateIndex( |
| LOW | …rc/react/plugins/agent/components/resize-capability.ts | 3 | export function supportsWindowBorderResize( |
| LOW | …eact/plugins/agent/components/ui/AgentDropdownMenu.tsx | 73 | export function AgentDropdownMenuSeparator({ |
| LOW | frontend/src/react/plugins/agent/dom/domTree.ts | 292 | function isNaiveControlTextElement(el: Element): boolean { |
| LOW | frontend/src/react/plugins/agent/dom/domTree.ts | 334 | function shouldRecurseIntoInteractive(el: Element): boolean { |
| LOW | frontend/src/react/plugins/agent/dom/domTree.ts | 380 | function getTableColumnHeaderLabel(el: Element): string | undefined { |
| LOW | frontend/src/react/plugins/agent/dom/domTree.ts | 546 | function shouldIndexInteractiveNode( |
| LOW | frontend/src/react/plugins/agent/dom/domTree.ts | 700 | function collectSemanticTextSegments(node: Node, segments: string[]): void { |
| LOW | frontend/src/react/plugins/agent/dom/domTree.ts | 757 | function collectNonInteractiveTextSegments( |
| LOW | frontend/src/react/plugins/agent/dom/domTree.ts | 780 | function extractNonInteractiveText(node: Node): string | undefined { |
| LOW | frontend/src/react/plugins/agent/dom/domTree.ts | 812 | function walkTableActionableDescendants( |
| LOW | frontend/src/react/plugins/agent/dom/domTree.ts | 1209 | function dedupeEquivalentAncestorLines(lines: DomLine[]): DomLine[] { |
| LOW | frontend/src/react/plugins/agent/dom/index.ts | 27 | export async function lazyExtractDomRefSuggestions(): Promise< |
| LOW | frontend/src/react/stores/app/workspace.ts | 102 | function appFeaturesFromDatabaseChangeMode(mode: DatabaseChangeMode) { |
| LOW | frontend/src/react/stores/app/utils.ts | 197 | export function projectResourceNameFromId(projectId: string | undefined) { |
| LOW | frontend/src/react/stores/app/database.ts | 29 | function instanceResourceNameFromDatabase(databaseName: string): string { |
| LOW | frontend/src/react/components/IssueTable.tsx | 320 | export function useIssueSearchScopeOptions( |
| LOW | frontend/src/react/components/IssueTable.tsx | 962 | export function BatchIssueStatusActionDrawer({ |
| LOW | …tend/src/react/components/ComponentPermissionGuard.tsx | 122 | export function useComponentPermissionState({ |
| LOW | frontend/src/react/components/BannersWrapper.tsx | 232 | function BannerUpgradeSubscription() { |
| LOW | …d/src/react/components/useCommonSearchScopeOptions.tsx | 26 | export function useCommonSearchScopeOptions( |
| LOW | …d/src/react/components/CreateWorkloadIdentitySheet.tsx | 104 | export function CreateWorkloadIdentitySheet( |
| LOW | …end/src/react/components/RoutePermissionGuardShell.tsx | 18 | export function RoutePermissionGuardShell({ |
| LOW | …t/components/sql-editor/QueryContextSettingPopover.tsx | 43 | export function QueryContextSettingPopover({ disabled = false }: Props) { |
| LOW | …act/components/sql-editor/AccessGrantRequestDrawer.tsx | 104 | function AccessGrantRequestDrawerInner({ |
| LOW | …omponents/sql-editor/ConnectionPane/ConnectionPane.tsx | 131 | function ConnectionPaneWithHoverState(props: Props) { |
| LOW | …omponents/sql-editor/ConnectionPane/ConnectionPane.tsx | 1268 | function readShowMissingFromStorage(email: string): boolean { |
| LOW | …omponents/sql-editor/ConnectionPane/ConnectionPane.tsx | 1278 | function writeShowMissingToStorage(email: string, value: boolean) { |
| LOW | …src/react/components/sql-editor/ConnectionPane/tree.ts | 86 | export function useSQLEditorTreeByEnvironment( |
| LOW | …/components/sql-editor/ResultView/SingleResultView.tsx | 814 | function getExplainTokenFromResult( |
| LOW | frontend/src/react/components/ui/combobox-position.ts | 3 | function shouldIgnorePortalDropdownScroll( |
| LOW | frontend/src/react/components/ui/combobox-position.ts | 30 | function isPortalDropdownStyleEqual( |
| LOW | frontend/src/react/components/ui/dropdown-menu.tsx | 64 | function DropdownMenuSubmenuContent({ |
| LOW | frontend/src/react/components/ui/dropdown-menu.tsx | 123 | function DropdownMenuSubmenuTrigger({ |
| LOW | …react/components/database/CreateDatabaseSheet.test.tsx | 234 | async function renderSheetWithoutFixedProject(): Promise<void> { |
| LOW | …act/components/database/DatabaseBatchOperationsBar.tsx | 51 | export function DatabaseBatchOperationsBar({ |
| LOW | …src/react/components/MarkdownEditor/MarkdownEditor.tsx | 264 | function applyMarkdownListContinuation( |
| LOW | …nd/src/react/components/auth/userPasswordValidation.ts | 14 | export function computePasswordValidation( |
| LOW | …ntend/src/react/components/instance/DataSourceForm.tsx | 1932 | function OracleSIDServiceNameInput({ |
| LOW | frontend/src/react/components/instance/InfoPanel.tsx | 181 | function getSnippetContentTranslation( |
| LOW | …/react/components/instance/CreateDataSourceExample.tsx | 321 | function EngineSpecificDescription({ |
| LOW | …c/react/components/instance/SshConnectionForm.test.tsx | 32 | function ControlledSshConnectionForm() { |
| LOW | …c/react/components/SchemaEditorLite/useScrollStatus.ts | 58 | export function useConsumePendingScrollToTable( |
| LOW | …c/react/components/SchemaEditorLite/useScrollStatus.ts | 88 | export function useConsumePendingScrollToColumn( |
| LOW | …react/components/SchemaEditorLite/SchemaEditorLite.tsx | 202 | function mergeTableMetadataToTarget({ |
| LOW | …maEditorLite/Panels/TableColumnEditor/DataTypeCell.tsx | 39 | export function DataTypeSuggestionsDatalist({ |
| LOW | …/SchemaEditorLite/Modals/EditColumnForeignKeySheet.tsx | 39 | export function EditColumnForeignKeySheet({ |
| LOW | frontend/src/react/pages/settings/MembersPage.tsx | 882 | function computeExpirationTimestamp(days?: number): number | undefined { |
| LOW | frontend/src/react/pages/settings/IDPDetailPage.tsx | 75 | function TestConnectionResultDialog({ |
| LOW | …eact/pages/settings/MemberBindingEnvironmentBanner.tsx | 6 | export function MemberBindingEnvironmentBanner({ |
| LOW | …ntend/src/react/pages/settings/ServiceAccountsPage.tsx | 396 | function CreateServiceAccountSheet(props: CreateServiceAccountSheetProps) { |
| LOW | frontend/src/react/pages/settings/GroupsPage.tsx | 79 | function normalizeMemberIdentifier(member: string): string { |
| LOW | …rc/react/pages/settings/MemberDatabaseResourceName.tsx | 11 | export function MemberDatabaseResourceName({ |
| 88 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …src/react/components/auth/EmailCodeSigninForm.test.tsx | 109 | setInputValue(emailInput!, "user@example.com"); |
| LOW | …src/react/components/auth/EmailCodeSigninForm.test.tsx | 121 | "user@example.com", |
| LOW | …src/react/components/auth/EmailCodeSigninForm.test.tsx | 136 | email: "user@example.com", |
| LOW | frontend/src/react/pages/settings/GroupsPage.tsx | 78 | // Accepts: "users/foo@bar.com", "foo@bar.com" → "users/foo@bar.com" |
| LOW | …ontend/src/react/pages/auth/OAuth2ConsentPage.test.tsx | 18 | value: { name: "workspaces/ws-1", title: "Acme Corp" } as |
| LOW | …ontend/src/react/pages/auth/OAuth2ConsentPage.test.tsx | 161 | title: "Acme Corp", |
| LOW | …ontend/src/react/pages/auth/OAuth2ConsentPage.test.tsx | 266 | expect(container.textContent).toContain("Acme Corp"); |
| LOW | …ontend/src/react/pages/auth/OAuth2ConsentPage.test.tsx | 275 | { name: "workspaces/ws-1", title: "Acme Corp" }, |
| LOW | …ontend/src/react/pages/auth/OAuth2ConsentPage.test.tsx | 296 | expect(container.textContent).toContain("Acme Corp"); |
| LOW | …ontend/src/react/pages/auth/OAuth2ConsentPage.test.tsx | 303 | { name: "workspaces/ws-1", title: "Acme Corp" }, |
| LOW | …ontend/src/react/pages/auth/OAuth2ConsentPage.test.tsx | 362 | { name: "workspaces/ws-1", title: "Acme Corp" }, |
| LOW | …ntend/src/react/pages/auth/PasswordForgotPage.test.tsx | 156 | setInputValue(input!, "foo@bar.com"); |
| LOW | …ntend/src/react/pages/auth/PasswordForgotPage.test.tsx | 169 | setInputValue(input, "foo@bar.com"); |
| LOW | …ntend/src/react/pages/auth/PasswordForgotPage.test.tsx | 176 | email: "foo@bar.com", |
| LOW | …ntend/src/react/pages/auth/PasswordForgotPage.test.tsx | 181 | query: { email: "foo@bar.com" }, |
| LOW | …ntend/src/react/pages/auth/PasswordForgotPage.test.tsx | 193 | setInputValue(input, "foo@bar.com"); |
| LOW | backend/plugin/idp/oauth2/oauth2_test.go | 125 | testName = "John Doe" |
| LOW | backend/plugin/idp/oauth2/oauth2_test.go | 176 | testName = "John Doe" |
| LOW | backend/plugin/idp/oidc/oidc_test.go | 191 | testName = "John Doe" |
| LOW | backend/plugin/idp/oidc/oidc_test.go | 245 | testName = "John Doe" |
| LOW | backend/plugin/idp/oidc/oidc_test.go | 320 | testName = "John Doe" |
| LOW | backend/plugin/mailer/smtp_test.go | 18 | To: []string{"user@example.com"}, |
| LOW | backend/plugin/mailer/smtp_test.go | 93 | To: []string{"user@example.com"}, |
| LOW | backend/api/v1/catalog_masking_test.go | 270 | input: `{"name": "John", "address": {"street": "123 Main St", "city": "NYC"}}`, |
| LOW | backend/api/v1/catalog_masking_test.go | 327 | input: `{"name": "John", "address": {"street": "123 Main St", "city": "NYC"}}`, |
| LOW | backend/api/v1/catalog_masking_test.go | 387 | "street": "123 Main St" |
| LOW | backend/api/v1/catalog_masking_test.go | 482 | input: `{"street": "123 Main St", "city": "NYC"}`, |
| LOW | backend/api/v1/catalog_masking_elasticsearch_test.go | 228 | "phone": "555-1234", |
| LOW | backend/api/v1/test-data/mongodb_masking.yaml | 39 | input: '{"friends":{"name":"Bob","phone":"555-1234"}}' |
| LOW | backend/api/v1/test-data/elasticsearch_masking.yaml | 47 | input: '{"total":{"value":1},"hits":[{"_index":"test","_id":"1","_source":{"name":"Alice","email":"alice@example.com |
| LOW | backend/api/v1/test-data/elasticsearch_masking.yaml | 59 | input: '{"total":{"value":1},"hits":[{"_id":"1","_source":{"name":"Alice","email":"alice@example.com"},"fields":{"em |
| LOW | backend/api/v1/test-data/elasticsearch_masking.yaml | 71 | input: '{"total":{"value":1},"hits":[{"_id":"1","_source":{"name":"Alice","email":"alice@example.com"},"fields":{"em |
| LOW | backend/api/v1/test-data/elasticsearch_masking.yaml | 84 | input: '{"name":"Alice","email":"alice@example.com","contact":{"phone":"555-1234","city":"NYC"}}' |
| LOW | backend/api/v1/test-data/elasticsearch_masking.yaml | 98 | input: '{"phone":"555-1234","city":"NYC"}' |
| LOW | backend/api/v1/test-data/elasticsearch_masking.yaml | 112 | input: '[{"hits":{"total":{"value":1},"hits":[{"_id":"1","_source":{"name":"Alice","email":"alice@example.com"}}]}}, |
| LOW | backend/api/v1/test-data/elasticsearch_masking.yaml | 126 | input: '{"total":{"value":1},"hits":[{"_id":"1","_source":{"name":"Alice","email":"alice@example.com"},"inner_hits": |
| LOW | backend/api/oauth2/token_test.go | 43 | got, err := resolveBoundWorkspace(ctx, r, false, "ws-issued", "", "user@example.com") |
| LOW | backend/api/oauth2/token_test.go | 51 | got, err := resolveBoundWorkspace(ctx, r, false, "", "", "user@example.com") |
| LOW | backend/api/oauth2/token_test.go | 58 | got, err := resolveBoundWorkspace(ctx, r, false, "", "ws-client", "user@example.com") |
| LOW | backend/api/oauth2/token_test.go | 65 | _, err := resolveBoundWorkspace(ctx, r, false, "", "", "user@example.com") |
| LOW | backend/api/oauth2/token_test.go | 73 | got, err := resolveBoundWorkspace(ctx, r, true, "ws-issued", "", "user@example.com") |
| LOW | backend/api/oauth2/token_test.go | 79 | require.Equal(t, "user@example.com", r.lastFind.Email) |
| LOW | backend/api/oauth2/token_test.go | 84 | _, err := resolveBoundWorkspace(ctx, r, true, "ws-issued", "", "user@example.com") |
| LOW | backend/api/oauth2/token_test.go | 92 | _, err := resolveBoundWorkspace(ctx, r, true, "ws-issued", "", "user@example.com") |
| LOW | backend/api/oauth2/token_test.go | 100 | _, err := resolveBoundWorkspace(ctx, r, true, "", "", "user@example.com") |
| LOW | backend/api/directory-sync/scim.go | 80 | // Okta sends: {"value": "101", "display": "user@example.com"} |
| LOW | docs/plans/saas/04.runners-and-auth.md | 46 | "sub": "user@example.com", |
| LOW | …cs/plans/2026-04-21-auth-setup-react-migration/plan.md | 99 | 3. `"enables submit button for a valid email"` — fire `change` on input with `"foo@bar.com"`, assert button no long |
| LOW | …cs/plans/2026-04-21-auth-setup-react-migration/plan.md | 100 | 4. `"submit calls requestPasswordReset then navigates to password-reset"` — prime mock to resolve; fire click; awai |
| LOW | …erpowers/plans/2026-04-12-email-service-integration.md | 690 | To: []string{"user@example.com"}, |
| LOW | …erpowers/plans/2026-04-12-email-service-integration.md | 767 | To: []string{"user@example.com"}, |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 42 | // ─── levelText ─────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 59 | // ─── approvalSourceText ─────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 82 | // ─── APPROVAL_SOURCES ───────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 93 | // ─── Factor lists ───────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 115 | // ─── ApprovalSourceFactorMap ────────────────────────────────────────────────── |
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 157 | // ─── getApprovalFactorList ──────────────────────────────────────────────────── |
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 169 | // ─── Option helpers ─────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 224 | // ─── getApprovalOptionConfigMap ─────────────────────────────────────────────── |
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 270 | // ─── Templates ──────────────────────────────────────────────────────────────── |
| MEDIUM | frontend/src/react/components/CustomApproval/utils.ts | 347 | // ─── emptyLocalApprovalRule ─────────────────────────────────────────────────── |
| MEDIUM | scripts/build_bytebase_docker.sh | 2 | # =========================================================================== |
| MEDIUM | scripts/build_bytebase_docker.sh | 5 | # =========================================================================== |
| MEDIUM | scripts/build_init.sh | 2 | # =========================================================================== |
| MEDIUM | scripts/build_init.sh | 5 | # =========================================================================== |
| MEDIUM | scripts/build_bytebase.sh | 2 | # =========================================================================== |
| MEDIUM | scripts/build_bytebase.sh | 5 | # =========================================================================== |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | backend/api/mcp/openapi_index.go | 109 | for pair := idx.doc.Model.Paths.PathItems.First(); pair != nil; pair = pair.Next() { |
| CRITICAL | backend/api/mcp/openapi_index.go | 428 | schemaProxy, ok := idx.doc.Model.Components.Schemas.Get(schemaName) |
| CRITICAL | backend/api/mcp/openapi_index.go | 533 | schemaProxy, ok := idx.doc.Model.Components.Schemas.Get(name) |
| CRITICAL | docs/plans/2025-12-15-mcp-schema-lookup.md | 102 | schemaProxy, ok := idx.doc.Model.Components.Schemas.Get(name) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | backend/plugin/parser/redshift/resource_change.go | 148 | // This is a simplified implementation - in production you'd want more robust parsing |
| MEDIUM | backend/plugin/schema/differ.go | 1187 | // This is a simplified check - for a production system, you'd want more robust parsing |
| MEDIUM | …/schema/mssql/generate_migration_testcontainer_test.go | 856 | 'This is an extremely long comment designed to test the limits of extended property storage in SQL Server. It contains m |
| MEDIUM | …/schema/mssql/generate_migration_testcontainer_test.go | 1917 | 'This is an extremely long comment designed to test the limits of extended property storage in SQL Server. It contains m |
| MEDIUM | backend/plugin/db/spanner/spanner.go | 297 | // For a more robust parser-based approach that can handle complex queries, see the |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | frontend/i18n.ts | 23 | // Replace 'YOUR_API_KEY' with your actual Google Cloud API key |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/azure-marketplace/push-to-acr.sh | 23 | # Check if Docker image exists |
| LOW | scripts/azure-marketplace/push-to-acr.sh | 34 | # Check if Azure CLI is installed |
| LOW | scripts/azure-marketplace/package.sh | 54 | # Check if required files exist |
| LOW | .github/workflows/build-push-release-image.yml | 63 | # Check if current version is the latest |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | frontend/src/utils/TinyTimer.ts | 50 | print(tag: T) { |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | scripts/azure-marketplace/manifest.yaml | 16 | # Define the container images used by your application |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | backend/plugin/parser/base/lexer.go | 74 | // Example usage: |