The developer platform for on-demand cloud development environments to create software faster and more securely.
This report summarizes scanner evidence for gitpod-io/gitpod, a TypeScript project with 13,794 GitHub stars. SynthScan examined 907,908 lines of code across 3698 source files, recording 3278 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 22.3 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 326 finding(s).
Are imports declared and package/API names verified? 2937 finding(s).
Are wrappers, guards, and repeated structures necessary? 164 finding(s).
Which changes need focused human review? 3278 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 3278 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | install/installer/pkg/components/minio/helm.go | 28 | if cfg.Config.ObjectStorage.Resources != nil && cfg.Config.ObjectStorage.Resources.Requests.Memory() != nil { | CODE |
| CRITICAL | install/installer/pkg/components/minio/helm.go | 29 | memoryRequests := resource.MustParse(cfg.Config.ObjectStorage.Resources.Requests.Memory().String()) | CODE |
| CRITICAL | components/ide/gha-update-image/lib/code-pin-version.ts | 33 | image: !ideConfigmapJson.ideOptions.options.code.image.includes(latestBuildImage.code), | CODE |
| CRITICAL | components/ide/gha-update-image/lib/code-pin-version.ts | 53 | const previousCodeVersion = await getIDEVersionOfImage("eu.gcr.io/gitpod-core-dev/build/" + ideConfigmapJson.ideOpti | CODE |
| CRITICAL | components/ide/gha-update-image/lib/code-pin-version.ts | 54 | const installationCodeVersion = await getIDEVersionOfImage("eu.gcr.io/gitpod-core-dev/build/" + newJson.ideOptions.o | CODE |
| CRITICAL | components/ide/gha-update-image/lib/code-pin-version.ts | 66 | newJson.ideOptions.options.code.versions.unshift({ | CODE |
| CRITICAL | …in/io/gitpod/jetbrains/gateway/GitpodWorkspacesView.kt | 272 | if (info.latestInstance.status.conditions.failed.isNullOrBlank()) { | CODE |
| CRITICAL | …/jetbrains/remote/GitpodClientProjectSessionTracker.kt | 105 | p.visibility = io.gitpod.gitpodprotocol.api.entities.PortVisibility.PUBLIC.toString() | CODE |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 403 | // Construct using io.gitpod.publicapi.v1.Pagination.PaginationRequest.newBuilder() | COMMENT |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 431 | return io.gitpod.publicapi.v1.Pagination.PaginationRequest.getDefaultInstance(); | CODE |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 445 | io.gitpod.publicapi.v1.Pagination.PaginationRequest result = new io.gitpod.publicapi.v1.Pagination.PaginationReq | CODE |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 475 | if (other == io.gitpod.publicapi.v1.Pagination.PaginationRequest.getDefaultInstance()) return this; | CODE |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 751 | DEFAULT_INSTANCE = new io.gitpod.publicapi.v1.Pagination.PaginationRequest(); | CODE |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 1125 | // Construct using io.gitpod.publicapi.v1.Pagination.PaginationResponse.newBuilder() | COMMENT |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 1152 | return io.gitpod.publicapi.v1.Pagination.PaginationResponse.getDefaultInstance(); | CODE |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 1166 | io.gitpod.publicapi.v1.Pagination.PaginationResponse result = new io.gitpod.publicapi.v1.Pagination.PaginationRe | CODE |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 1193 | if (other == io.gitpod.publicapi.v1.Pagination.PaginationResponse.getDefaultInstance()) return this; | CODE |
| CRITICAL | …a/src/main/java/io/gitpod/publicapi/v1/Pagination.java | 1408 | DEFAULT_INSTANCE = new io.gitpod.publicapi.v1.Pagination.PaginationResponse(); | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 327 | // Construct using io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenRequest.newBuilder() | COMMENT |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 353 | return io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenRequest.getDefaultInstance(); | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 367 | io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenRequest result = new io.gitpod.publicapi.v1. | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 391 | if (other == io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenRequest.getDefaultInstance()) r | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 543 | DEFAULT_INSTANCE = new io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenRequest(); | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 873 | // Construct using io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenResponse.newBuilder() | COMMENT |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 899 | return io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenResponse.getDefaultInstance(); | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 913 | io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenResponse result = new io.gitpod.publicapi.v1 | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 937 | if (other == io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenResponse.getDefaultInstance()) | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 1089 | DEFAULT_INSTANCE = new io.gitpod.publicapi.v1.Verification.SendPhoneNumberVerificationTokenResponse(); | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 1589 | // Construct using io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenRequest.newBuilder() | COMMENT |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 1617 | return io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenRequest.getDefaultInstance(); | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 1631 | io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenRequest result = new io.gitpod.publicapi.v | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 1661 | if (other == io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenRequest.getDefaultInstance()) | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 2017 | DEFAULT_INSTANCE = new io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenRequest(); | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 2306 | // Construct using io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenResponse.newBuilder() | COMMENT |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 2332 | return io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenResponse.getDefaultInstance(); | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 2346 | io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenResponse result = new io.gitpod.publicapi. | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 2370 | if (other == io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenResponse.getDefaultInstance() | CODE |
| CRITICAL | …src/main/java/io/gitpod/publicapi/v1/Verification.java | 2472 | DEFAULT_INSTANCE = new io.gitpod.publicapi.v1.Verification.VerifyPhoneNumberVerificationTokenResponse(); | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 737 | // Construct using io.gitpod.publicapi.v1.Auditlogs.ListAuditLogsRequest.newBuilder() | COMMENT |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 2190 | // Construct using io.gitpod.publicapi.v1.Auditlogs.ListAuditLogsResponse.newBuilder() | COMMENT |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 3594 | // Construct using io.gitpod.publicapi.v1.Auditlogs.AuditLog.newBuilder() | COMMENT |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 252 | return pagination_ == null ? io.gitpod.publicapi.v1.Pagination.PaginationRequest.getDefaultInstance() : pagination | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 263 | return pagination_ == null ? io.gitpod.publicapi.v1.Pagination.PaginationRequest.getDefaultInstance() : pagination | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 788 | return io.gitpod.publicapi.v1.Auditlogs.ListAuditLogsRequest.getDefaultInstance(); | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 802 | io.gitpod.publicapi.v1.Auditlogs.ListAuditLogsRequest result = new io.gitpod.publicapi.v1.Auditlogs.ListAuditLog | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 852 | if (other == io.gitpod.publicapi.v1.Auditlogs.ListAuditLogsRequest.getDefaultInstance()) return this; | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 980 | return pagination_ == null ? io.gitpod.publicapi.v1.Pagination.PaginationRequest.getDefaultInstance() : pagina | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 1034 | pagination_ != io.gitpod.publicapi.v1.Pagination.PaginationRequest.getDefaultInstance()) { | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 1089 | io.gitpod.publicapi.v1.Pagination.PaginationRequest.getDefaultInstance() : pagination_; | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 1737 | DEFAULT_INSTANCE = new io.gitpod.publicapi.v1.Auditlogs.ListAuditLogsRequest(); | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 1920 | return pagination_ == null ? io.gitpod.publicapi.v1.Pagination.PaginationResponse.getDefaultInstance() : paginatio | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 1931 | return pagination_ == null ? io.gitpod.publicapi.v1.Pagination.PaginationResponse.getDefaultInstance() : paginatio | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 2234 | return io.gitpod.publicapi.v1.Auditlogs.ListAuditLogsResponse.getDefaultInstance(); | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 2248 | io.gitpod.publicapi.v1.Auditlogs.ListAuditLogsResponse result = new io.gitpod.publicapi.v1.Auditlogs.ListAuditLo | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 2290 | if (other == io.gitpod.publicapi.v1.Auditlogs.ListAuditLogsResponse.getDefaultInstance()) return this; | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 2356 | io.gitpod.publicapi.v1.Auditlogs.AuditLog.parser(), | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 2407 | return pagination_ == null ? io.gitpod.publicapi.v1.Pagination.PaginationResponse.getDefaultInstance() : pagin | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 2461 | pagination_ != io.gitpod.publicapi.v1.Pagination.PaginationResponse.getDefaultInstance()) { | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 2516 | io.gitpod.publicapi.v1.Pagination.PaginationResponse.getDefaultInstance() : pagination_; | CODE |
| CRITICAL | …va/src/main/java/io/gitpod/publicapi/v1/Auditlogs.java | 2721 | com.google.protobuf.AbstractMessageLite.Builder.addAll( | CODE |
| 2841 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | components/ide/gha-update-image/lib/code-pin-version.ts | 21 | export async function updateCodeIDEConfigMapJson() { | CODE |
| LOW | …onents/ide/gha-update-image/lib/jb-helper/jb-helper.ts | 70 | export function parseGradlePropertiesFromTaskConfig( | CODE |
| LOW | components/gitpod-protocol/src/workspace-cluster.ts | 92 | export function isHasPermissionConstraint(o: any): o is AdmissionConstraintHasPermission { | CODE |
| LOW | …ents/gitpod-protocol/src/frontend-dashboard-service.ts | 113 | export function isFeatureFlagsUpdateEventData(obj: any): obj is FeatureFlagsUpdateEventData { | CODE |
| LOW | …ents/gitpod-protocol/src/frontend-dashboard-service.ts | 117 | export function isFeatureFlagsRequestEventData(obj: any): obj is FeatureFlagsRequestEventData { | CODE |
| LOW | components/gitpod-protocol/src/env.ts | 20 | export function filePathTelepresenceAware(filePath: string): string { | CODE |
| LOW | …s/gitpod-protocol/src/encryption/encryption-service.ts | 58 | export function getGlobalEncryptionService() { | CODE |
| LOW | components/gitpod-protocol/src/util/analytics.ts | 11 | export function newAnalyticsWriterFromEnv(): IAnalyticsWriter { | CODE |
| LOW | components/gitpod-protocol/src/util/nice-grpc.ts | 43 | export function prometheusClientMiddleware(metrics: IClientCallMetrics): ClientMiddleware { | CODE |
| LOW | components/gitpod-protocol/src/util/timeutil.ts | 80 | export function durationLongerThanSeconds(time: number, durationSeconds: number, now: number = Date.now()): boolean { | CODE |
| LOW | components/gitpod-protocol/src/util/timeutil.ts | 92 | export function goDurationToHumanReadable(goDuration: string): string { | CODE |
| LOW | components/gitpod-protocol/src/util/grpc.ts | 64 | export function createClientCallMetricsInterceptor(metrics: IClientCallMetrics): grpc.Interceptor { | CODE |
| LOW | components/gitpod-protocol/src/util/grpc.ts | 113 | export function createDebugLogInterceptor(additionalContextF: (() => object) | undefined): grpc.Interceptor { | CODE |
| LOW | …ts/gitpod-protocol/src/experiments/configcat-server.ts | 32 | export function getExperimentsClientForBackend(): Client { | CODE |
| LOW | …ents/gitpod-protocol/src/experiments/always-default.ts | 22 | export function newAlwaysReturningDefaultValueClient(): Client { | CODE |
| LOW | …ts/gitpod-protocol/src/messaging/browser/connection.ts | 131 | function createWebSocketConnection(resocket: ReconnectingWebSocket, logger: Logger) { | CODE |
| LOW | …od-protocol/src/messaging/browser/window-connection.ts | 73 | export function createWindowMessageConnection( | CODE |
| LOW | …nents/gitpod-protocol/src/messaging/node/connection.ts | 50 | export function createWebSocketConnection(socket: IWebSocket, logger: Logger) { | CODE |
| LOW | components/gitpod-db/src/wait-for-db.ts | 38 | function rescheduleConnectionAttempt(attempt: number, err: unknown) { | CODE |
| LOW | components/gitpod-db/src/typeorm/metrics.ts | 30 | export function reportPrebuiltWorkspacePurged(count: number) { | CODE |
| LOW | components/gitpod-db/src/typeorm/metrics.ts | 48 | export function reportWorkspaceInstancePurged(count: number) { | CODE |
| LOW | components/gitpod-db/src/typeorm/metrics.ts | 57 | export function reportPrebuiltWorkspaceUpdatablePurged(count: number) { | CODE |
| LOW | components/ws-manager-bridge/src/bridge.ts | 518 | function mergeWorkspaceInstanceMetrics( | CODE |
| LOW | …nts/public-api/typescript-common/src/auth-providers.ts | 112 | export function getScopesForAuthProviderType(type: AuthProviderType | string) { | CODE |
| LOW | …ponents/public-api/typescript-common/src/user-utils.ts | 85 | export function isAllowedToCreateOrganization( | CODE |
| LOW | components/spicedb/typescript/src/impl/v1/impl.pb.ts | 415 | function createBaseDecodedZedToken(): DecodedZedToken { | CODE |
| LOW | components/spicedb/typescript/src/impl/v1/impl.pb.ts | 827 | function createBaseRelationMetadata(): RelationMetadata { | CODE |
| LOW | components/spicedb/typescript/src/impl/v1/impl.pb.ts | 888 | function createBaseNamespaceAndRevision(): NamespaceAndRevision { | CODE |
| LOW | components/server/src/express-util.ts | 174 | function validateReturnToUrlWithPatterns( | CODE |
| LOW | components/server/src/express-util.ts | 231 | export function validateAuthorizeReturnToUrl(returnTo: string, hostUrl: GitpodHostUrl): boolean { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 98 | export function increaseApiConnectionCounter() { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 126 | export function increaseApiConnectionClosedCounter() { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 157 | export function increaseHttpRequestCounter(method: string, route: string, statusCode: number) { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 168 | export function observeHttpRequestDuration( | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 193 | export function increaseSuccessfulInstanceStartCounter(retries: number = 0) { | CODE |
| LOW⚡ | components/server/src/prometheus-metrics.ts | 213 | export function increaseFailedInstanceStartCounter(reason: FailedInstanceStartReason) { | CODE |
| LOW⚡ | components/server/src/prometheus-metrics.ts | 222 | export function increasePrebuildsStartedCounter() { | CODE |
| LOW⚡ | components/server/src/prometheus-metrics.ts | 232 | export function observeStripeClientRequestsCompleted(operation: string, outcome: string, durationInSeconds: number) { | CODE |
| LOW⚡ | components/server/src/prometheus-metrics.ts | 241 | export function increaseImageBuildsStartedTotal() { | CODE |
| LOW⚡ | components/server/src/prometheus-metrics.ts | 251 | export function increaseImageBuildsCompletedTotal(outcome: "succeeded" | "failed") { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 266 | export function observeSpicedbClientLatency(operation: string, outcome: Error | undefined, durationInSeconds: number) { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 331 | export function reportRedisUpdateReceived(channel: string) { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 341 | export function reportRedisUpdateCompleted(channel: string, err?: Error) { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 374 | export function incSpiceDBRequestsCheckTotal(consistency: SpiceDBCheckConsistency) { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 384 | export function reportAuthorizerSubjectId(match: AuthorizerSubjectIdMatch) { | CODE |
| LOW | components/server/src/prometheus-metrics.ts | 402 | export function reportScmTokenRefreshRequest( | CODE |
| LOW | …/server/src/oauth-server/oauth-authorization-server.ts | 20 | export function createAuthorizationServer( | CODE |
| LOW | components/server/src/util/featureflags.ts | 11 | export async function getFeatureFlagEnableExperimentalJBTB(userId: string): Promise<boolean> { | CODE |
| LOW | components/server/src/util/featureflags.ts | 17 | export async function getClassicPaygSunsetConfig(userId: string): Promise<ClassicPaygSunsetConfig> { | CODE |
| LOW | components/server/src/util/featureflags.ts | 38 | export async function isWorkspaceStartBlockedBySunset( | CODE |
| LOW | components/server/src/util/featureflags.ts | 63 | export async function isUserLoginBlockedBySunset(user: User, isDedicatedInstallation: boolean): Promise<boolean> { | CODE |
| LOW | components/server/src/util/featureflags.ts | 89 | export async function isUserSignupBlockedBySunset(userId: string, isDedicatedInstallation: boolean): Promise<boolean> { | CODE |
| LOW | components/server/src/util/grpc-web-ws-transport.ts | 123 | function constructWebSocketAddress(url: string) { | CODE |
| LOW | components/server/src/express/ws-connection-handler.ts | 150 | function getOrSetClosingTimestamp(ws: websocket, timestamp: number = Date.now()): number { | CODE |
| LOW | components/server/src/auth/jwt.ts | 141 | export function decodeWithoutVerification(encoded: string, options?: jsonwebtoken.DecodeOptions): jsonwebtoken.Jwt { | CODE |
| LOW | …ponents/server/src/auth/api-subdomain-redirect.spec.ts | 11 | function isApiSubdomainOfConfiguredHost(hostname: string, configuredHost: string): boolean { | CODE |
| LOW | components/server/src/auth/function-access.ts | 29 | export function isWithFunctionAccessGuard(obj: any): obj is WithFunctionAccessGuard { | CODE |
| LOW | components/server/src/auth/auth-provider.ts | 39 | export function parseAuthProviderParamsFromEnv(json: object): AuthProviderParams[] { | CODE |
| LOW | components/server/src/auth/auth-provider.ts | 45 | export function normalizeAuthProviderParams( | CODE |
| LOW | components/server/src/auth/resource-access.ts | 393 | export function marshalResourceScopeFromResource(resource: GuardedResource, ops: ResourceAccessOp[]): string { | CODE |
| 89 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/report.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test/run.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | components/proxy/plugins/analytics/analytics.go | 81 | func newSegmentProxy(segmentEndpoint *url.URL, errorLog *log.Logger) http.Handler { | COMMENT |
| LOW | components/proxy/plugins/logif/caddyfile.go | 1 | // Copyright (c) 2021 Gitpod GmbH. All rights reserved. | COMMENT |
| LOW | components/gitpod-cli/cmd/credential-helper.go | 221 | } | COMMENT |
| LOW | components/gitpod-protocol/go/gitpod-service.go | 2301 | Label string `json:"label,omitempty"` | COMMENT |
| LOW | components/gitpod-protocol/src/protocol.ts | 441 | } | COMMENT |
| LOW | …b/src/typeorm/migration/1643986994402-OAuthRevision.ts | 21 | ); | COMMENT |
| LOW | components/image-builder-bob/ide-startup.sh | 1 | #!/bin/bash | COMMENT |
| LOW | components/image-builder-bob/pkg/proxy/proxy.go | 241 | COMMENT | |
| LOW | components/image-builder-bob/pkg/proxy/proxy.go | 361 | } | COMMENT |
| LOW | components/public-api/go/v1/scm_grpc.pb.go | 21 | // is compatible with the grpc package it is being compiled against. | COMMENT |
| LOW | components/public-api/go/v1/user_grpc.pb.go | 21 | // is compatible with the grpc package it is being compiled against. | COMMENT |
| LOW | components/public-api/go/v1/user_grpc.pb.go | 141 | return out, nil | COMMENT |
| LOW | components/public-api/go/v1/ssh_grpc.pb.go | 21 | // is compatible with the grpc package it is being compiled against. | COMMENT |
| LOW | components/public-api/go/v1/error.pb.go | 181 | // Deprecated: Use NeedsVerificationError.ProtoReflect.Descriptor instead. | COMMENT |
| LOW | components/public-api/go/v1/installation_grpc.pb.go | 21 | // is compatible with the grpc package it is being compiled against. | COMMENT |
| LOW | components/public-api/go/v1/envvar_grpc.pb.go | 21 | // is compatible with the grpc package it is being compiled against. | COMMENT |
| LOW | components/public-api/go/v1/envvar_grpc.pb.go | 41 | // ListConfigurationEnvironmentVariables returns all environment variables in | COMMENT |
| LOW | components/public-api/go/v1/envvar_grpc.pb.go | 201 | // authenticated user. | COMMENT |
| LOW | components/public-api/go/v1/workspace.pb.go | 301 | // Preparing means that we haven't actually started the workspace instance | COMMENT |
| LOW | components/public-api/go/v1/workspace.pb.go | 321 | WorkspacePhase_PHASE_INITIALIZING WorkspacePhase_Phase = 5 | COMMENT |
| LOW | components/public-api/go/v1/workspace.pb.go | 1161 | sizeCache protoimpl.SizeCache | COMMENT |
| LOW | components/public-api/go/v1/workspace.pb.go | 2021 | // Git configures the Git user in the workspace | COMMENT |
| LOW | components/public-api/go/v1/workspace.pb.go | 2181 | // workspace is in its lifecycle | COMMENT |
| LOW | components/public-api/go/v1/workspace.pb.go | 2361 | unknownFields protoimpl.UnknownFields | COMMENT |
| LOW | components/public-api/go/v1/workspace.pb.go | 4961 | unknownFields protoimpl.UnknownFields | COMMENT |
| LOW | components/public-api/go/v1/workspace_grpc.pb.go | 21 | // is compatible with the grpc package it is being compiled against. | COMMENT |
| LOW | components/public-api/go/v1/workspace_grpc.pb.go | 41 | ListWorkspaceSessions(ctx context.Context, in *ListWorkspaceSessionsRequest, opts ...grpc.CallOption) (*ListWorkspaceSe | COMMENT |
| LOW | components/public-api/go/v1/workspace_grpc.pb.go | 281 | GetWorkspace(context.Context, *GetWorkspaceRequest) (*GetWorkspaceResponse, error) | COMMENT |
| LOW | components/public-api/go/v1/workspace_grpc.pb.go | 301 | // When the workspace is running, it will be stopped as well. | COMMENT |
| LOW | components/public-api/go/v1/authprovider_grpc.pb.go | 21 | // is compatible with the grpc package it is being compiled against. | COMMENT |
| LOW | components/public-api/go/v1/user.pb.go | 1121 | // last_verification_time is the last time this account was verified. | COMMENT |
| LOW | components/public-api/go/v1/user.pb.go | 1141 | // +optional | COMMENT |
| LOW | components/public-api/go/v1/user.pb.go | 1881 | // the user's company name | COMMENT |
| LOW | components/public-api/go/v1/user.pb.go | 1901 | // what user hopes to accomplish when they signed up | COMMENT |
| LOW | components/public-api/go/v1/organization_grpc.pb.go | 21 | // is compatible with the grpc package it is being compiled against. | COMMENT |
| LOW | components/public-api/go/v1/organization_grpc.pb.go | 41 | // JoinOrganization makes the caller a OrganizationMember of the Organization. | COMMENT |
| LOW | components/public-api/go/v1/organization_grpc.pb.go | 261 | // UpdateOrganizationMember updates organization membership properties. | COMMENT |
| LOW | components/public-api/go/v1/organization.pb.go | 901 | AllowedWorkspaceClasses []string `protobuf:"bytes,5,rep,name=allowed_workspace_classes,json=allowedWorkspaceClasses,pro | COMMENT |
| LOW | components/public-api/go/v1/v1connect/scm.connect.go | 21 | // compatible. If you get a compiler error that this constant is not defined, this code was | COMMENT |
| LOW | components/public-api/go/v1/v1connect/user.connect.go | 41 | // DeleteUser deletes the specified user. | COMMENT |
| LOW | components/public-api/go/v1/v1connect/user.connect.go | 181 | UpdateUser(context.Context, *connect_go.Request[v1.UpdateUserRequest]) (*connect_go.Response[v1.UpdateUserResponse], er | COMMENT |
| LOW | components/public-api/go/v1/v1connect/ssh.connect.go | 21 | // compatible. If you get a compiler error that this constant is not defined, this code was | COMMENT |
| LOW | …nts/public-api/go/v1/v1connect/installation.connect.go | 41 | // DeleteBlockedRepository deletes a blocked repository. | COMMENT |
| LOW | components/public-api/go/v1/v1connect/envvar.connect.go | 21 | // compatible. If you get a compiler error that this constant is not defined, this code was | COMMENT |
| LOW | components/public-api/go/v1/v1connect/envvar.connect.go | 41 | UpdateUserEnvironmentVariable(context.Context, *connect_go.Request[v1.UpdateUserEnvironmentVariableRequest]) (*connect_ | COMMENT |
| LOW | components/public-api/go/v1/v1connect/envvar.connect.go | 61 | // an organization. | COMMENT |
| LOW | components/public-api/go/v1/v1connect/envvar.connect.go | 241 | COMMENT | |
| LOW | components/public-api/go/v1/v1connect/envvar.connect.go | 261 | // authenticated user. | COMMENT |
| LOW | …onents/public-api/go/v1/v1connect/workspace.connect.go | 21 | // compatible. If you get a compiler error that this constant is not defined, this code was | COMMENT |
| LOW | …onents/public-api/go/v1/v1connect/workspace.connect.go | 41 | // workspace_id +return NOT_FOUND Workspace does not exist | COMMENT |
| LOW | …onents/public-api/go/v1/v1connect/workspace.connect.go | 61 | // ListWorkspaceClasses enumerates all available workspace classes. | COMMENT |
| LOW | …onents/public-api/go/v1/v1connect/workspace.connect.go | 301 | type WorkspaceServiceHandler interface { | COMMENT |
| LOW | …onents/public-api/go/v1/v1connect/workspace.connect.go | 321 | // UpdateWorkspace updates the workspace. | COMMENT |
| LOW | …onents/public-api/go/v1/v1connect/workspace.connect.go | 341 | // GetWorkspaceEditorCredentials returns an credentials that is used in editor | COMMENT |
| LOW | …nts/public-api/go/v1/v1connect/organization.connect.go | 61 | // ListOrganizationWorkspaceClasses lists workspace classes of a | COMMENT |
| LOW | …nts/public-api/go/v1/v1connect/organization.connect.go | 321 | // ListOrganizationWorkspaceClasses lists workspace classes of a | COMMENT |
| LOW | …ts/public-api/go/experimental/v1/workspaces_grpc.pb.go | 21 | // is compatible with the grpc package it is being compiled against. | COMMENT |
| LOW | …ts/public-api/go/experimental/v1/workspaces_grpc.pb.go | 201 | CreateAndStartWorkspace(context.Context, *CreateAndStartWorkspaceRequest) (*CreateAndStartWorkspaceResponse, error) | COMMENT |
| 78 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | components/ide/jetbrains/launcher/main_test.go | 93 | platformProperties := `#--------------------------------------------------------------------- | CODE |
| MEDIUM | components/ide/jetbrains/launcher/main_test.go | 95 | #--------------------------------------------------------------------- | COMMENT |
| MEDIUM | dev/preview/workflow/preview/deploy-gitpod.sh | 114 | # ==================================== | COMMENT |
| MEDIUM | dev/preview/workflow/preview/deploy-gitpod.sh | 116 | # ==================================== | COMMENT |
| MEDIUM | dev/preview/workflow/preview/deploy-gitpod.sh | 142 | # ============= | COMMENT |
| MEDIUM | dev/preview/workflow/preview/deploy-gitpod.sh | 144 | # ============= | COMMENT |
| MEDIUM | dev/preview/workflow/preview/deploy-gitpod.sh | 495 | # =============== | COMMENT |
| MEDIUM | dev/preview/workflow/preview/deploy-gitpod.sh | 497 | # =============== | COMMENT |
| MEDIUM | dev/preview/workflow/preview/deploy-gitpod.sh | 534 | # =============== | COMMENT |
| MEDIUM | dev/preview/workflow/preview/deploy-gitpod.sh | 536 | # =============== | COMMENT |
| MEDIUM⚡ | dev/preview/workflow/preview/deploy-gitpod.sh | 560 | # ========================= | COMMENT |
| MEDIUM⚡ | dev/preview/workflow/preview/deploy-gitpod.sh | 562 | # ========================= | COMMENT |
| MEDIUM⚡ | dev/preview/workflow/preview/deploy-gitpod.sh | 567 | # ===================== | COMMENT |
| MEDIUM⚡ | dev/preview/workflow/preview/deploy-gitpod.sh | 569 | # ===================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | components/node-labeler/cmd/run_test.go | 125 | //+kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | components/ws-daemon/pkg/controller/suite_test.go | 26 | //+kubebuilder:scaffold:imports | COMMENT |
| MEDIUM | components/ws-daemon/pkg/controller/suite_test.go | 74 | //+kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | …ponents/ws-manager-api/go/crd/v1/webhook_suite_test.go | 21 | //+kubebuilder:scaffold:imports | COMMENT |
| MEDIUM | …ponents/ws-manager-api/go/crd/v1/webhook_suite_test.go | 79 | //+kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | …ponents/ws-manager-api/go/crd/v1/webhook_suite_test.go | 103 | //+kubebuilder:scaffold:webhook | COMMENT |
| MEDIUM | components/ws-manager-mk2/main.go | 53 | //+kubebuilder:scaffold:imports | COMMENT |
| MEDIUM | components/ws-manager-mk2/main.go | 74 | //+kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | components/ws-manager-mk2/main.go | 235 | //+kubebuilder:scaffold:builder | COMMENT |
| MEDIUM⚡ | components/ws-manager-mk2/config/crd/kustomization.yaml | 11 | #+kubebuilder:scaffold:crdkustomizeresource | COMMENT |
| MEDIUM⚡ | components/ws-manager-mk2/config/crd/kustomization.yaml | 18 | #+kubebuilder:scaffold:crdkustomizewebhookpatch | COMMENT |
| MEDIUM⚡ | components/ws-manager-mk2/config/crd/kustomization.yaml | 24 | #+kubebuilder:scaffold:crdkustomizecainjectionpatch | COMMENT |
| MEDIUM | components/ws-manager-mk2/controllers/suite_test.go | 28 | //+kubebuilder:scaffold:imports | COMMENT |
| MEDIUM | components/ws-manager-mk2/controllers/suite_test.go | 76 | //+kubebuilder:scaffold:scheme | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | components/local-app/pkg/telemetry/telemetry.go | 54 | opts.client, _ = segment.NewWithConfig("untrusted-dummy-key", segment.Config{ | CODE |
| LOW | components/proxy/plugins/analytics/analytics.go | 28 | dummyUntrustedSegmentKey = "untrusted-dummy-key" | CODE |
| LOW | components/gitpod-protocol/src/util/scrubbing.spec.ts | 18 | expect(scrubber.scrub("foo@bar.com")).to.equal("[redacted:email]"); | CODE |
| LOW⚡ | components/gitpod-protocol/src/util/scrubbing.spec.ts | 51 | expect(scrubber.scrub([["foo@bar.com"]])).to.deep.equal([["[redacted:email]"]]); | CODE |
| LOW⚡ | components/gitpod-protocol/src/util/scrubbing.spec.ts | 55 | expect(scrubber.scrub([["foo@bar.com"]], false)).to.deep.equal(["[redacted:nested:array]"]); | CODE |
| LOW⚡ | components/gitpod-protocol/src/util/scrubbing.spec.ts | 59 | const scrubbedValue = new TrustedValue(scrubber.scrubValue("foo@bar.com")); | CODE |
| LOW | components/gitpod-db/src/user-db.spec.db.ts | 336 | export const primaryEmail = "foo@bar.com"; | CODE |
| LOW | components/scrubber/example_test.go | 19 | var someJSONData = json.RawMessage(`{"email": "foo@bar.com", "username": "foobar", "orgID": "112233", "desc": "the emai | CODE |
| LOW | components/scrubber/example_test.go | 24 | Email: "foo@bar.com", | CODE |
| LOW | components/scrubber/scrubber_test.go | 23 | {Name: "email", Value: "foo@bar.com", Expectation: "[redacted:email]"}, | CODE |
| LOW | components/scrubber/scrubber_test.go | 121 | }{Username: "foo", Email: "foo@bar.com", Password: "foobar", WorkspaceID: "gitpodio-gitpod-uesaddev73c", ContextURL: | CODE |
| LOW | components/scrubber/scrubber_test.go | 139 | "email": "foo@bar.com", | CODE |
| LOW | components/scrubber/scrubber_test.go | 150 | }{Slice: []string{"foo", "bar", "foo@bar.com"}}, | CODE |
| LOW | components/scrubber/scrubber_test.go | 184 | Email: "foo@bar.com", | CODE |
| LOW | components/scrubber/scrubber_test.go | 201 | Email: "foo@bar.com", | CODE |
| LOW | components/scrubber/scrubber_test.go | 260 | Input: `{"ok": true, "email": "foo@bar.com", "workspaceID": "gitpodio-gitpod-uesaddev73c"}`, | CODE |
| LOW | components/scrubber/scrubber_test.go | 280 | Input: `"foo@bar.com"`, | CODE |
| LOW | components/scrubber/scrubber_test.go | 285 | Input: `["foo@bar.com"]`, | CODE |
| LOW | components/scrubber/scrubber_test.go | 326 | }{Username: "foo", Email: "foo@bar.com", Password: "foobar", WorkspaceID: "gitpodio-gitpod-uesaddev73c", LeaveMeAlone | CODE |
| LOW | components/scrubber/scrubber_test.go | 345 | }{Username: "foo", Email: "foo@bar.com", Password: "foobar", WorkspaceID: "gitpodio-gitpod-uesaddev73c", LeaveMeAlone | CODE |
| LOW | components/scrubber/scrubber_test.go | 362 | "email": "foo@bar.com", | CODE |
| LOW | components/scrubber/scrubber_test.go | 373 | }{Slice: []string{"foo", "bar", "foo@bar.com"}}, | CODE |
| LOW | components/scrubber/scrubber_test.go | 407 | Email: "foo@bar.com", | CODE |
| LOW | components/scrubber/scrubber_test.go | 424 | Email: "foo@bar.com", | CODE |
| LOW⚡ | components/scrubber/sanitisation_test.go | 22 | {Func: SanitiseRedact, Name: "redact sensitive string", Input: "foo@bar.com", Expectation: "[redacted]"}, | CODE |
| LOW⚡ | components/scrubber/sanitisation_test.go | 23 | {Func: SanitiseRedact, Name: "redact key name", Opts: []SanitiserOption{SanitiseWithKeyName("foo")}, Input: "foo@bar.c | CODE |
| LOW⚡ | components/scrubber/sanitisation_test.go | 25 | {Func: SanitiseHash, Name: "hash sensitive string", Input: "foo@bar.com", Expectation: "[redacted:md5:f3ada405ce890b6f | CODE |
| LOW⚡ | components/scrubber/sanitisation_test.go | 26 | {Func: SanitiseHash, Name: "hash key name", Opts: []SanitiserOption{SanitiseWithKeyName("foo")}, Input: "foo@bar.com", | CODE |
| LOW | components/server/src/workspace/config-provider.spec.ts | 25 | name: "John Doe", | CODE |
| LOW | components/server/src/workspace/context-parser.spec.ts | 19 | name: "John Doe", | CODE |
| LOW | components/content-service/pkg/git/git_test.go | 491 | "user.email": "foo@bar.com", | CODE |
| LOW | components/content-service/pkg/git/git_test.go | 506 | if err := remote.Git(ctx, "config", "--local", "user.email", "foo@bar.com"); err != nil { | CODE |
| LOW | components/content-service/pkg/git/git_test.go | 526 | if err := c.Git(ctx, "config", "--local", "user.email", "foo@bar.com"); err != nil { | CODE |
| LOW | components/ws-manager-mk2/controllers/create_test.go | 39 | Email: "foo@bar.com", | CODE |
| LOW | components/ws-manager-mk2/controllers/create_test.go | 55 | {Name: "GITPOD_GIT_USER_EMAIL", Value: "foo@bar.com"}, | CODE |
| LOW | memory-bank/components/scrubber.md | 84 | scrubbedValue := scrubber.Default.Value("user@example.com") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ts/server/src/bitbucket-server/bitbucket-server-api.ts | 368 | // Ensure we only load as many pages as requested | COMMENT |
| HIGH | …nts/image-builder-mk3/pkg/orchestrator/orchestrator.go | 736 | // If the error is a context.DeadlineExceeded, we return nil (OK) as requested. | COMMENT |
| HIGH | …nts/image-builder-mk3/pkg/orchestrator/orchestrator.go | 745 | // Return nil (OK) for DeadlineExceeded as requested | COMMENT |
| HIGH | components/ws-manager-mk2/pkg/proxy/imagebuilder.go | 94 | // Return nil (OK) for DeadlineExceeded as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | install/preview/entrypoint.sh | 15 | # Create a USER_ID to be used everywhere | COMMENT |
| MEDIUM | …ponents/ws-manager-mk2/config/crd/kustomizeconfig.yaml | 5 | # This file is for teaching kustomize how to substitute name and namespace reference in CRD | COMMENT |
| MEDIUM | scripts/trivy/trivy-scan-images.sh | 117 | # Create a JSON object for the current scan | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install/preview/entrypoint.sh | 10 | # Set Domain to `preview.gitpod-self-hosted.com` if not set | COMMENT |
| LOW | components/gitpod-db/BUILD.yaml | 76 | # Check if a DB is present. If not: start one and wait until it's up | COMMENT |
| LOW | scripts/trivy/trivy-scan-images.sh | 8 | # Check if VERSION and FAIL_ON are provided | COMMENT |
| LOW | scripts/trivy/trivy-scan-images.sh | 119 | # Check if trivy_output is valid JSON | COMMENT |
| LOW | scripts/trivy/trivy-scan-images.sh | 174 | # Check if we should fail based on vulnerability counts | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cve-mitigation/references/ci-scanning.md | 15 | ### Step 1: Export SBOMs | COMMENT |
| LOW | cve-mitigation/references/ci-scanning.md | 33 | ### Step 2: Scan SBOMs | COMMENT |
| LOW | cve-mitigation/references/ci-scanning.md | 45 | ### Step 3: Check for critical vulnerabilities (scheduled runs only) | COMMENT |
| LOW | cve-mitigation/references/ci-scanning.md | 54 | ### Step 4: Upload artifacts | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/report.sh | 4 | # Usage: | COMMENT |
| LOW | test/run.sh | 5 | # Usage: | COMMENT |
| LOW | dev/preview/test/load-test.sh | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | components/local-app/cmd/workspace-up.go | 251 | doneBanner := fmt.Sprintf("\n\n%s\n\nDon't forget to pull your changes to your local working copy before stopping the | CODE |
| LOW | components/server/src/auth/login-completion-handler.ts | 76 | // Don't forget to mark a dynamic provider as verified | COMMENT |
| LOW | components/supervisor/pkg/supervisor/docker.go | 269 | fmt.Fprintf(logFile, "If it does not help, please reach out to the support. Don't forget to share your workspace ID: | CODE |
| LOW | dev/blowtorch/cmd/inject.go | 68 | log.Warn("Note: Don't forget to restart any pod that uses the service you've just replaced.") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | components/server/src/prebuilds/github-app.ts | 157 | // To implement this in a more robust way, we'd need to store `repository.id` with the project, next | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | components/local-app/pkg/prettyprint/errors.go | 25 | fmt.Fprintf(out, "%s%s\n\n", styleError.Sprint("Error: "), err.Error()) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | components/gitpod-protocol/src/protocol.ts | 552 | export function getData(value: SSHPublicKeyValue) { | CODE |