The open source and enterprise-ready webhooks service 🦀
This report summarizes scanner evidence for svix/svix-webhooks, a Rust project with 3,442 GitHub stars. SynthScan examined 278,043 lines of code across 3311 source files, recording 1411 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 7.8 (Moderate 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? 674 finding(s).
Are imports declared and package/API names verified? 643 finding(s).
Are wrappers, guards, and repeated structures necessary? 196 finding(s).
Which changes need focused human review? 1411 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 1411 distinct pattern matches across 13 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 |
|---|---|---|---|---|
| MEDIUM | python/example.py | 5 | # Defining the host is optional and defaults to http://localhost | COMMENT |
| MEDIUM | python/example.py | 23 | # Create an instance of the API class | COMMENT |
| MEDIUM | …ix/api_internal/autoconfig_subscription_destination.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api_internal/autoconfig_subscription.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api_internal/message.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api_internal/endpoint.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | …/svix/api_internal/autoconfig_subscription_endpoint.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api_internal/message_pollerv2.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | …n/svix/api_internal/endpoint_auto_config_deprecated.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/ingest.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/message_attempt.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/destination.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/destination_transformation.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/health.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/background_task.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/event_type.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/autoconfig_subscription.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/streaming_sink.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/streaming_sink_transformation.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/ingest_endpoint.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/streaming_event_type.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/ingest_authentication.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/message.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/integration.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/endpoint_transformation.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/application.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/endpoint.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/message_poller.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/authentication.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/ingest_source.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/connector.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/environment.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/operational_webhook_endpoint.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/statistics.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/streaming_stream.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/operational_webhook.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/streaming.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/streaming_events.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | python/svix/api/ingest_endpoint_transformation.py | 1 | # This file is @generated | COMMENT |
| MEDIUM | .github/workflows/sdks-release.yml | 274 | # Create a GitHub Release while uploading all files to it | COMMENT |
| MEDIUM | ruby/lib/svix.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/svix.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | …b/svix/api_internal/endpoint_auto_config_deprecated.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/api_internal/message_pollerv2.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | …/svix/api_internal/autoconfig_subscription_endpoint.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/api_internal/endpoint.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/api_internal/message.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/api_internal/autoconfig_subscription.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | …ix/api_internal/autoconfig_subscription_destination.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/clickhouse_config_in.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | …vix/models/operational_webhook_endpoint_headers_out.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/polling_endpoint_message_out.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/ingest_source_out.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/list_response_endpoint_out.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/stream_event_type_out.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/orum_io_config_out.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/rutter_config_out.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/vgs_config_out.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/poller_v2_message_out.rb | 2 | # This file is @generated | COMMENT |
| MEDIUM | ruby/lib/svix/models/shopify_config.rb | 2 | # This file is @generated | COMMENT |
| 277 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/svix/models/ingest_endpoint_in.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/operational_webhook_endpoint_in.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/message_endpoint_out.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/sink_in_common.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/endpoint_patch.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/endpoint_upsert_in.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/endpoint_in.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/ingest_endpoint_out.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | …/svix/models/operational_webhook_endpoint_upsert_in.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/endpoint_out.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/ingest_endpoint_upsert_in.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/operational_webhook_endpoint_out.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/application_out.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/application_patch.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/application_in.py | 0 | maximum messages per second to send to this application. outgoing messages will be throttled to this rate. | STRING |
| HIGH | python/svix/models/ingest_endpoint_in.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/operational_webhook_endpoint_in.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/ingest_endpoint_secret_in.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/sink_in_common.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/sink_secret_out.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/ingest_endpoint_secret_out.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | …/svix/models/operational_webhook_endpoint_secret_in.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/destination_secret_rotate_out.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/endpoint_secret_out.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/sink_secret_rotate_out.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/endpoint_secret_rotate_in.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/endpoint_in.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | …svix/models/operational_webhook_endpoint_secret_out.py | 0 | the endpoint's verification secret. format: `base64` encoded random bytes optionally prefixed with `whsec_`. it is recom | STRING |
| HIGH | python/svix/models/message_endpoint_out.py | 0 | list of message channels this endpoint listens to (omit for all). | STRING |
| HIGH | python/svix/models/endpoint_upsert_in.py | 0 | list of message channels this endpoint listens to (omit for all). | STRING |
| HIGH | python/svix/models/endpoint_in.py | 0 | list of message channels this endpoint listens to (omit for all). | STRING |
| HIGH | python/svix/models/endpoint_out.py | 0 | list of message channels this endpoint listens to (omit for all). | STRING |
| HIGH | python/svix/models/ingest_endpoint_secret_in.py | 0 | how long the old secret will be valid for, in seconds. valid values are between 0 (immediate expiry) and 7 days. the def | STRING |
| HIGH | …/svix/models/operational_webhook_endpoint_secret_in.py | 0 | how long the old secret will be valid for, in seconds. valid values are between 0 (immediate expiry) and 7 days. the def | STRING |
| HIGH | python/svix/models/endpoint_secret_rotate_in.py | 0 | how long the old secret will be valid for, in seconds. valid values are between 0 (immediate expiry) and 7 days. the def | STRING |
| HIGH | python/svix/models/event_type_in.py | 0 | the schema for the event type for a specific version as a json schema. | STRING |
| HIGH | python/svix/models/event_type_upsert_in.py | 0 | the schema for the event type for a specific version as a json schema. | STRING |
| HIGH | python/svix/models/event_type_out.py | 0 | the schema for the event type for a specific version as a json schema. | STRING |
| HIGH | python/svix/models/app_portal_access_in.py | 0 | how long the token will be valid for, in seconds. valid values are between 1 hour and 7 days. the default is 7 days. | STRING |
| HIGH | python/svix/models/stream_portal_access_in.py | 0 | how long the token will be valid for, in seconds. valid values are between 1 hour and 7 days. the default is 7 days. | STRING |
| HIGH | …svix/models/ingest_source_consumer_portal_access_in.py | 0 | how long the token will be valid for, in seconds. valid values are between 1 hour and 7 days. the default is 7 days. | STRING |
| HIGH | python/svix/models/event_bridge_config_in.py | 0 | access key id. required (along with `secret_access_key`) if `role_arn` is blank. | STRING |
| HIGH | python/svix/models/redshift_config_in.py | 0 | access key id. required (along with `secret_access_key`) if `role_arn` is blank. | STRING |
| HIGH | python/svix/models/sqs_config_in.py | 0 | access key id. required (along with `secret_access_key`) if `role_arn` is blank. | STRING |
| HIGH | python/svix/models/event_bridge_config_in.py | 0 | secret access key. required (along with `access_key_id`) if `role_arn` is blank. | STRING |
| HIGH | python/svix/models/redshift_config_in.py | 0 | secret access key. required (along with `access_key_id`) if `role_arn` is blank. | STRING |
| HIGH | python/svix/models/sqs_config_in.py | 0 | secret access key. required (along with `access_key_id`) if `role_arn` is blank. | STRING |
| HIGH | python/svix/models/event_bridge_config_in.py | 0 | shared secret passed as the sts externalid. can only be set if `role_arn` is some | STRING |
| HIGH | python/svix/models/redshift_config_in.py | 0 | shared secret passed as the sts externalid. can only be set if `role_arn` is some | STRING |
| HIGH | python/svix/models/sns_config_in.py | 0 | shared secret passed as the sts externalid. can only be set if `role_arn` is some | STRING |
| HIGH | python/svix/models/sqs_config_in.py | 0 | shared secret passed as the sts externalid. can only be set if `role_arn` is some | STRING |
| HIGH | python/svix/models/endpoint_message_out.py | 0 | list of free-form identifiers that endpoints can filter by | STRING |
| HIGH | python/svix/models/message_in.py | 0 | list of free-form identifiers that endpoints can filter by | STRING |
| HIGH | python/svix/models/message_out.py | 0 | list of free-form identifiers that endpoints can filter by | STRING |
| HIGH | python/svix/models/poller_v2_message_out.py | 0 | list of free-form identifiers that endpoints can filter by | STRING |
| HIGH | python/svix/models/polling_endpoint_message_out.py | 0 | list of free-form identifiers that endpoints can filter by | STRING |
| HIGH | python/svix/models/snowflake_config_patch.py | 0 | database name. only required if not using transformations. | STRING |
| HIGH | python/svix/models/redshift_config_in.py | 0 | database name. only required if not using transformations. | STRING |
| HIGH | python/svix/models/redshift_config_out.py | 0 | database name. only required if not using transformations. | STRING |
| HIGH | python/svix/models/redshift_config_patch.py | 0 | database name. only required if not using transformations. | STRING |
| 20 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/svix/__init__.py | 1 | CODE | |
| LOW | python/svix/__init__.py | 1 | CODE | |
| LOW | python/svix/__init__.py | 1 | CODE | |
| LOW | python/svix/__init__.py | 6 | CODE | |
| LOW | python/svix/__init__.py | 6 | CODE | |
| LOW | python/svix/__init__.py | 6 | CODE | |
| LOW | python/svix/__init__.py | 7 | CODE | |
| LOW | python/svix/__init__.py | 7 | CODE | |
| LOW | python/svix/exceptions.py | 1 | CODE | |
| LOW | python/svix/exceptions.py | 2 | CODE | |
| LOW | python/svix/exceptions.py | 3 | CODE | |
| LOW | python/svix/webhooks.py | 4 | CODE | |
| LOW | python/svix/api_internal/common.py | 2 | CODE | |
| LOW | python/svix/api_internal/common.py | 2 | CODE | |
| LOW | python/svix/api_internal/common.py | 2 | CODE | |
| LOW | python/svix/api_internal/common.py | 2 | CODE | |
| LOW | python/svix/models/__init__.py | 2 | CODE | |
| LOW | python/svix/models/__init__.py | 3 | CODE | |
| LOW | python/svix/models/__init__.py | 4 | CODE | |
| LOW | python/svix/models/__init__.py | 5 | CODE | |
| LOW | python/svix/models/__init__.py | 6 | CODE | |
| LOW | python/svix/models/__init__.py | 7 | CODE | |
| LOW | python/svix/models/__init__.py | 8 | CODE | |
| LOW | python/svix/models/__init__.py | 9 | CODE | |
| LOW | python/svix/models/__init__.py | 10 | CODE | |
| LOW | python/svix/models/__init__.py | 11 | CODE | |
| LOW | python/svix/models/__init__.py | 12 | CODE | |
| LOW | python/svix/models/__init__.py | 13 | CODE | |
| LOW | python/svix/models/__init__.py | 14 | CODE | |
| LOW | python/svix/models/__init__.py | 15 | CODE | |
| LOW | python/svix/models/__init__.py | 16 | CODE | |
| LOW | python/svix/models/__init__.py | 17 | CODE | |
| LOW | python/svix/models/__init__.py | 18 | CODE | |
| LOW | python/svix/models/__init__.py | 19 | CODE | |
| LOW | python/svix/models/__init__.py | 20 | CODE | |
| LOW | python/svix/models/__init__.py | 21 | CODE | |
| LOW | python/svix/models/__init__.py | 22 | CODE | |
| LOW | python/svix/models/__init__.py | 23 | CODE | |
| LOW | python/svix/models/__init__.py | 24 | CODE | |
| LOW | python/svix/models/__init__.py | 25 | CODE | |
| LOW | python/svix/models/__init__.py | 26 | CODE | |
| LOW | python/svix/models/__init__.py | 27 | CODE | |
| LOW | python/svix/models/__init__.py | 28 | CODE | |
| LOW | python/svix/models/__init__.py | 29 | CODE | |
| LOW | python/svix/models/__init__.py | 30 | CODE | |
| LOW | python/svix/models/__init__.py | 31 | CODE | |
| LOW | python/svix/models/__init__.py | 32 | CODE | |
| LOW | python/svix/models/__init__.py | 33 | CODE | |
| LOW | python/svix/models/__init__.py | 34 | CODE | |
| LOW | python/svix/models/__init__.py | 35 | CODE | |
| LOW | python/svix/models/__init__.py | 36 | CODE | |
| LOW | python/svix/models/__init__.py | 37 | CODE | |
| LOW | python/svix/models/__init__.py | 38 | CODE | |
| LOW | python/svix/models/__init__.py | 39 | CODE | |
| LOW | python/svix/models/__init__.py | 40 | CODE | |
| LOW | python/svix/models/__init__.py | 41 | CODE | |
| LOW | python/svix/models/__init__.py | 42 | CODE | |
| LOW | python/svix/models/__init__.py | 43 | CODE | |
| LOW | python/svix/models/__init__.py | 44 | CODE | |
| LOW | python/svix/models/__init__.py | 45 | CODE | |
| 572 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | go/message_attempt.go | 41 | // Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request | COMMENT |
| LOW | go/message_attempt.go | 61 | COMMENT | |
| LOW | go/message_attempt.go | 101 | Status *models.MessageStatus | COMMENT |
| LOW | go/message_ext.go | 1 | package svix | COMMENT |
| LOW | go/message.go | 301 | // A completed task will return a payload like the following: | COMMENT |
| LOW | go/endpoint.go | 361 | return err | COMMENT |
| LOW | go/endpoint.go | 421 | // ```json | COMMENT |
| LOW | go/endpoint.go | 541 | // ```json | COMMENT |
| LOW | go/statistics.go | 21 | } | COMMENT |
| LOW | go/statistics.go | 61 | COMMENT | |
| LOW | go/models/message_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/ingest_source_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/ingest_source_in.go | 21 | // - "nango": Use NangoConfig | COMMENT |
| LOW | go/models/event_bridge_config_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/app_portal_access_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/app_portal_access_in.go | 21 | // | COMMENT |
| LOW | go/models/postgres_config_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/ingest_endpoint_secret_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/elastic_search_config_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/s3_config_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/redshift_config_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/redshift_config_in.go | 21 | ExternalId *string `json:"externalId,omitempty"` | COMMENT |
| LOW | go/models/stream_sink_patch.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/operational_webhook_endpoint_secret_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/stream_portal_access_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/stream_sink_out.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/destination_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/destination_in.go | 21 | // - "postgres": Use PostgresConfigIn | COMMENT |
| LOW | go/models/endpoint_secret_rotate_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/snowflake_config_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/snowflake_config_in.go | 21 | DbName *string `json:"dbName,omitempty"` | COMMENT |
| LOW | go/models/sns_config_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/stream_sink_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/stream_sink_in.go | 21 | // - "redshift": Use RedshiftConfigIn | COMMENT |
| LOW | go/models/destination_patch.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/ingest_source_out.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/ingest_source_out.go | 21 | // - "meta": Use MetaConfigOut | COMMENT |
| LOW | go/models/sqs_config_in.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | go/models/destination_out.go | 1 | // Package svix this file is @generated DO NOT EDIT | COMMENT |
| LOW | bridge/svix-bridge.example.receivers.yaml | 1 | # Svix Bridge Example Configuration | COMMENT |
| LOW | bridge/svix-bridge.example.receivers.yaml | 21 | # When a webhook is POST'ed to a matching URL, it is (optionally) verified, | COMMENT |
| LOW | bridge/svix-bridge.example.receivers.yaml | 41 | # endpoint_secret: "whsec_XXXXX=" | COMMENT |
| LOW | bridge/svix-bridge.example.senders.yaml | 1 | # Svix Bridge Example Configuration | COMMENT |
| LOW | bridge/svix-bridge.example.senders.yaml | 141 | kafka_bootstrap_brokers: "localhost:9094" | COMMENT |
| LOW | bridge/svix-bridge-types/src/lib.rs | 241 | pub token: String, | COMMENT |
| LOW | bridge/svix-bridge-types/src/lib.rs | 261 | pub struct ForwardRequest { | COMMENT |
| LOW | bridge/svix-bridge/src/main.rs | 181 | // FIXME: add signal handling to trigger a (intentional) graceful shutdown. | COMMENT |
| LOW | bridge/svix-bridge/src/webhook_receiver/types.rs | 81 | ); | COMMENT |
| LOW | bridge/svix-bridge/src/webhook_receiver/types.rs | 121 | } | COMMENT |
| LOW | bridge/svix-bridge/src/webhook_receiver/types.rs | 161 | COMMENT | |
| LOW | bridge/svix-bridge/src/config/tests.rs | 181 | # When a webhook is POST'ed to a matching URL, it is (optionally) verified, | COMMENT |
| LOW | bridge/svix-bridge/src/config/tests.rs | 561 | COMMENT | |
| LOW | bridge/svix-bridge-plugin-kafka/src/config.rs | 21 | COMMENT | |
| LOW | bridge/svix-bridge-plugin-kafka/src/config.rs | 101 | #[derive(Clone, Deserialize)] | COMMENT |
| LOW | rust/src/model_ext.rs | 1 | //! Extensions of the auto-generated "models" (schema structs). | COMMENT |
| LOW | rust/src/models/redshift_config_out.rs | 21 | #[serde(skip_serializing_if = "Option::is_none")] | COMMENT |
| LOW | rust/src/models/redshift_config_out.rs | 41 | /// Only used if not using transformations. | COMMENT |
| LOW | rust/src/models/redshift_config_in.rs | 1 | // this file is @generated | COMMENT |
| LOW | rust/src/models/redshift_config_in.rs | 21 | #[serde(skip_serializing_if = "Option::is_none")] | COMMENT |
| LOW | rust/src/models/redshift_config_in.rs | 41 | pub region: Option<String>, | COMMENT |
| 155 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/test_autoconfig.py | 76 | def test_auto_config_sink_type_revalidates_when_nested(): | CODE |
| LOW | python/tests/test_autoconfig.py | 88 | def test_auto_config_consumer_subscribe_in_payload(): | CODE |
| LOW | python/tests/conftest.py | 20 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW | python/tests/conftest.py | 88 | def httpserver_listen_address(is_ci): | CODE |
| LOW | python/tests/test_server_url.py | 8 | def test_server_url_trailing_slashes_are_stripped() -> None: | CODE |
| LOW | python/tests/test_server_url.py | 16 | def test_server_url_without_trailing_slash_is_unchanged() -> None: | CODE |
| LOW | python/tests/test_server_url.py | 28 | def test_async_client_normalizes_server_url() -> None: | CODE |
| LOW | python/tests/test_server_url.py | 50 | def test_request_url_has_no_double_slash(httpx_mock) -> None: | CODE |
| LOW | python/tests/test_server_url.py | 57 | def test_request_url_keeps_path_prefix(httpx_mock) -> None: | CODE |
| LOW | python/tests/test_openapi.py | 4 | def test_openapi_json_is_available(svix_server_url: str) -> None: | CODE |
| LOW⚡ | python/tests/test_httpretty.py | 15 | def test_octothorpe_in_query_param(): | CODE |
| LOW⚡ | python/tests/test_httpretty.py | 26 | def test_struct_enum_with_fields(): | CODE |
| LOW | python/tests/test_httpretty.py | 54 | def test_struct_enum_without_fields(): | CODE |
| LOW | python/tests/test_httpretty.py | 74 | def test_idempotency_key_is_sent_for_create_request(): | CODE |
| LOW | python/tests/test_httpretty.py | 94 | def test_client_provided_idempotency_key_is_not_overridden(): | CODE |
| LOW⚡ | python/tests/test_httpretty.py | 119 | def test_unknown_keys_are_ignored(): | CODE |
| LOW⚡ | python/tests/test_httpretty.py | 131 | def test_cmg_with_content_default(): | CODE |
| LOW⚡ | python/tests/test_webhooks.py | 50 | def test_missing_id_raises_error(): | CODE |
| LOW⚡ | python/tests/test_webhooks.py | 60 | def test_timestamp_raises_error(): | CODE |
| LOW⚡ | python/tests/test_webhooks.py | 70 | def test_invalid_timestamp_raises_error(): | CODE |
| LOW⚡ | python/tests/test_webhooks.py | 80 | def test_missing_signature_raises_error(): | CODE |
| LOW⚡ | python/tests/test_webhooks.py | 90 | def test_invalid_signature_raises_error(): | CODE |
| LOW | python/tests/test_webhooks.py | 102 | def test_valid_signature_is_valid(): | CODE |
| LOW | python/tests/test_webhooks.py | 109 | def test_valid_unbranded_signature_is_valid(): | CODE |
| LOW | python/tests/test_webhooks.py | 144 | def test_multi_sig_payload_is_valid(): | CODE |
| LOW | python/tests/test_webhooks.py | 158 | def test_signature_verification_with_and_without_prefix(): | CODE |
| LOW⚡ | python/tests/test_client.py | 104 | def test_svix_application_create(svix_api: Svix, svix_app_name: str) -> None: | CODE |
| LOW⚡ | python/tests/test_client.py | 111 | def test_svix_event_type_create(svix_api: Svix) -> None: | CODE |
| LOW⚡ | python/tests/test_client.py | 119 | def svix_endpoint_create_test_params_ids() -> List[str]: | CODE |
| LOW | python/tests/test_client.py | 164 | def test_svix_endpoint_create( | CODE |
| LOW | python/svix/autoconfig.py | 101 | def _sink_in_common_to_polling_destination(sink: SinkInCommon) -> DestinationIn: | CODE |
| LOW | python/svix/api_internal/endpoint.py | 18 | async def transformation_partial_update( | CODE |
| LOW | python/svix/api_internal/endpoint.py | 44 | def transformation_partial_update( | CODE |
| LOW | python/svix/api/message_attempt.py | 298 | async def list_attempted_destinations( | CODE |
| LOW | python/svix/api/message_attempt.py | 461 | def list_attempted_destinations( | CODE |
| LOW | python/svix/api/endpoint.py | 515 | async def transformation_partial_update( | CODE |
| LOW | python/svix/api/endpoint.py | 889 | def transformation_partial_update( | CODE |
| LOW | python/svix/api/common.py | 222 | def _filter_response_for_errors_response(response: httpx.Response) -> httpx.Response: | CODE |
| LOW | python/svix/api/authentication.py | 221 | async def rotate_stream_poller_token( | CODE |
| LOW | python/svix/api/authentication.py | 381 | def rotate_stream_poller_token( | CODE |
| LOW | php/tests/AutoConfigTest.php | 52 | public function testValidTokenConstructsAutoConfig(): void | CODE |
| LOW | php/tests/AutoConfigTest.php | 74 | public function testWrongPrefixThrowsInvalidArgument(): void | CODE |
| LOW | php/tests/AutoConfigTest.php | 87 | public function testNothingAfterPrefixThrowsInvalidArgument(): void | CODE |
| LOW | php/tests/AutoConfigTest.php | 106 | public function testInvalidJsonThrowsInvalidArgument(): void | CODE |
| LOW | php/tests/AutoConfigTest.php | 117 | public function testAutoConfigSinkTypeRoundtripsAsTypeAndConfig(): void | CODE |
| LOW | php/tests/WebhookTest.php | 9 | public function testValidSignatureIsValid() | CODE |
| LOW | php/tests/WebhookTest.php | 17 | public function testValidBrandlessSignatureIsValid() | CODE |
| LOW | php/tests/WebhookTest.php | 31 | public function testInvalidSignatureThrowsException() | CODE |
| LOW | php/tests/WebhookTest.php | 43 | public function testBadlyFormattedSignatureThrowsException() | CODE |
| LOW | php/tests/WebhookTest.php | 55 | public function testMissingIdThrowsException() | CODE |
| LOW | php/tests/WebhookTest.php | 67 | public function testMissingTimestampThrowsException() | CODE |
| LOW | php/tests/WebhookTest.php | 79 | public function testMissingSignatureThrowsException() | CODE |
| LOW | php/tests/WebhookTest.php | 91 | public function testOldTimestampThrowsException() | CODE |
| LOW | php/tests/WebhookTest.php | 102 | public function testNewTimestampThrowsException() | CODE |
| LOW | php/tests/WebhookTest.php | 113 | public function testCustomToleranceAcceptsOldTimestamp() | CODE |
| LOW | php/tests/WebhookTest.php | 121 | public function testCustomToleranceRejectsOldTimestampInsideDefault() | CODE |
| LOW | php/tests/WebhookTest.php | 132 | public function testCustomToleranceAcceptsNewTimestamp() | CODE |
| LOW | php/tests/WebhookTest.php | 140 | public function testCustomToleranceRejectsNewTimestampInsideDefault() | CODE |
| LOW | php/tests/WebhookTest.php | 151 | public function testInvalidSignatureThrowsWithCustomTolerance() | CODE |
| LOW | php/tests/WebhookTest.php | 163 | public function testTamperedTimestampThrowsWithCustomTolerance() | CODE |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/bump_version.py | 40 | "cd javascript && npm i --package-lock-only --ignore-scripts", | CODE |
| HIGH | tools/bump_version.py | 42 | "cd python && uv sync", | CODE |
| HIGH⚡ | python/tests/test_httpretty.py | 20 | body='{"data":[],"iterator":null,"prevIterator":null,"done":true}', | CODE |
| HIGH⚡ | python/tests/test_httpretty.py | 124 | body='{"data":[],"done":true,"iterator":null,"prevIterator":null,"extra-key":"ignored"}', | CODE |
| HIGH⚡ | python/tests/test_httpretty.py | 141 | "channels": null, | STRING |
| HIGH⚡ | python/tests/test_httpretty.py | 142 | "deliverAt": null, | STRING |
| HIGH⚡ | python/tests/test_httpretty.py | 143 | "eventId": null, | STRING |
| HIGH⚡ | python/tests/test_httpretty.py | 147 | "tags": null, | STRING |
| HIGH | python/svix/models/stream_sink_in.py | 50 | """A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filte | STRING |
| HIGH | python/svix/models/destination_in.py | 53 | An empty list (or null) will not filter out any events.""" | STRING |
| HIGH | python/svix/models/destination_in.py | 57 | An empty list (or null) will not filter out any events.""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | regen_openapi.py | 366 | CODE | |
| LOW | tools/validate_openapi_compatibility.py | 67 | CODE | |
| LOW | tools/validate_openapi_compatibility.py | 292 | CODE | |
| LOW | python/svix/models/ingest_source_in.py | 124 | CODE | |
| LOW | python/svix/models/stream_sink_patch.py | 84 | CODE | |
| LOW | python/svix/models/stream_sink_in.py | 98 | CODE | |
| LOW | python/svix/models/destination_in.py | 102 | CODE | |
| LOW | python/svix/models/stream_sink_out.py | 99 | CODE | |
| LOW | python/svix/models/destination_out.py | 98 | CODE | |
| LOW | python/svix/models/ingest_source_out.py | 134 | CODE | |
| LOW | python/svix/models/destination_patch.py | 84 | CODE | |
| LOW | python/svix/api/svix.py | 61 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/conftest.py | 54 | except Exception: | CODE |
| MEDIUM | python/tests/conftest.py | 49 | def docker_compose_command(): | CODE |
| LOW⚡ | python/svix/autoconfig.py | 71 | except Exception as exc: | CODE |
| LOW⚡ | python/svix/autoconfig.py | 79 | except Exception as exc: | CODE |
| LOW⚡ | python/svix/autoconfig.py | 87 | except Exception as exc: | CODE |
| LOW | python/svix/autoconfig.py | 149 | except Exception as exc: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/bump_version.py | 211 | def update_changelog(new_version: str) -> None: | CODE |
| LOW | python/svix/__init__.py | 9 | __all__ = [ | CODE |
| LOW | python/svix/exceptions.py | 5 | __all__ = ["HttpError", "WebhookVerificationError", "HTTPValidationError"] | CODE |
| LOW | python/svix/webhooks.py | 31 | __all__ = ["Webhook", "WebhookVerificationError"] | CODE |
| LOW | python/svix/autoconfig.py | 432 | __all__ = [ | CODE |
| LOW | python/svix/api_internal/common.py | 4 | __all__ = ["ApiBaseAsync", "ApiBaseSync", "BaseOptions", "serialize_params"] | CODE |
| LOW | python/svix/models/__init__.py | 265 | __all__ = [ | CODE |
| LOW | python/svix/api/__init__.py | 393 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/validate_openapi_compatibility.py | 121 | # for arguments, if the libs are nullable but OSS isn't, it's okay, so just return inner | COMMENT |
| MEDIUM | bridge/svix-bridge-types/src/lib.rs | 267 | // FIXME: can we leverage RawValue here? | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/svix-server/src/db/mod.rs | 71 | // Step 1: messageattempt | COMMENT |
| LOW | server/svix-server/src/db/mod.rs | 89 | // Step 2: message | COMMENT |
| LOW | ruby/lib/svix/util.rb | 59 | # we need to check if they have the serialize method before calling it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/svix-server/src/db/mod.rs | 71 | // Step 1: messageattempt | COMMENT |
| LOW | server/svix-server/src/db/mod.rs | 89 | // Step 2: message | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ruby/lib/svix/svix_http_client.rb | 64 | # Check if idempotency-key header already exists | COMMENT |