RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.
This report summarizes scanner evidence for rustfs/rustfs, a Rust project with 35,589 GitHub stars. SynthScan examined 1,896,228 lines of code across 3029 source files, recording 5636 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 3.5 (Low 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.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 5254 finding(s).
Are imports declared and package/API names verified? 136 finding(s).
Are wrappers, guards, and repeated structures necessary? 1185 finding(s).
Which changes need focused human review? 5636 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 5636 distinct pattern matches across 21 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 |
|---|---|---|---|---|
| LOW | _typos.toml | 1 | [default] | COMMENT |
| LOW | Cargo.toml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | deny.toml | 1 | # cargo-deny configuration | COMMENT |
| LOW | rustfmt.toml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | rustfmt.toml | 21 | # | COMMENT |
| LOW | docker-compose.decommission.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | docker-buildx.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | docker-compose-simple.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | docker-compose.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | rust-toolchain.toml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .config/security-smoke-floor.txt | 1 | # Committed floor for the number of security negative-auth tests selected by the | COMMENT |
| LOW | .config/nextest.toml | 1 | # nextest configuration for RustFS. | COMMENT |
| LOW | .config/nextest.toml | 21 | # | COMMENT |
| LOW | .config/nextest.toml | 181 | [[profile.default.overrides]] | COMMENT |
| LOW | .config/nextest.toml | 201 | # the serialized timestamp/disk-identity fields, flipping the assertion. | COMMENT |
| LOW | .config/nextest.toml | 501 | # Serialize the relocated-pool GET resume regression under the ci profile too | COMMENT |
| LOW | .config/nextest.toml | 601 | COMMENT | |
| LOW | .config/nextest.toml | 621 | # | COMMENT |
| LOW | .config/nextest.toml | 641 | # allowlist", so any new replication test lands in nightly by default (never | COMMENT |
| LOW | .config/nextest.toml | 661 | # security gate with no CI signal, so scripts/check_security_smoke_count.sh owns | COMMENT |
| LOW | .config/nextest.toml | 681 | # Single-node servers on random ports with isolated temp dirs — meets the | COMMENT |
| LOW | .config/nextest.toml | 721 | filter = 'package(e2e_test) & test(/^list_objects_v2_pagination_test::tests::(test_list_objects_v2_delimiter_small_page_ | COMMENT |
| LOW | .config/nextest.toml | 741 | # observers. | COMMENT |
| LOW | .config/nextest.toml | 761 | # on the runner surfaces a real flake, quarantine the specific test with an | COMMENT |
| LOW | .config/nextest.toml | 781 | # workflow as the failure-triage artifact. | COMMENT |
| LOW | .config/nextest.toml | 821 | # background root-heal pass can be interrupted after targeting the replacement | COMMENT |
| LOW | .config/nextest.toml | 841 | [profile.e2e-distributed.junit] | COMMENT |
| LOW | .config/nextest.toml | 861 | # nothing; the MinIO job runs the whole profile, backfill included. | COMMENT |
| LOW | .config/nextest.toml | 881 | [profile.e2e-protocols] | COMMENT |
| LOW | .config/nextest.toml | 901 | # * cluster suites that spin up a RustFSTestClusterEnvironment | COMMENT |
| LOW | .config/migration-gate-floor.txt | 1 | # Committed floor for the number of tests selected by the migration-critical | COMMENT |
| LOW | .docker/test/site-replication/run-object-flow-check.sh | 1 | #!/bin/sh | COMMENT |
| LOW | .docker/test/site-replication/docker-compose.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/compose/docker-compose.cluster.local-build.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/compose/docker-compose.cluster.yaml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/compose/docker-compose.observability.yaml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | …docker-compose.cluster.local-build.profiling-amd64.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/openobserve-otel/otel-collector-config.yaml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/openobserve-otel/docker-compose.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/observability/jaeger.yaml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/observability/loki.yaml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | …er/observability/docker-compose-example-for-rustfs.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | …ker/observability/docker-compose-tempo-ha-override.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/observability/otel-collector-config.yaml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/observability/docker-compose.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/observability/tempo.yaml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/observability/tempo-ha.yaml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/observability/prometheus.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 1 | # ============================================================================= | COMMENT |
| LOW | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 101 | COMMENT | |
| LOW | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 21 | # label-less key-lifecycle gauge published by the deletion worker's sweep | COMMENT |
| LOW | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 101 | deadline_exceeded, backpressure_timeout, | COMMENT |
| LOW | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 141 | # 4. KmsBackendAttemptFailureSpike | COMMENT |
| LOW | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 221 | # days without a rotation (measured from creation for keys with | COMMENT |
| LOW | …lity/grafana/provisioning/datasources/datasources.yaml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | …vability/grafana/provisioning/dashboards/dashboard.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/mqtt/docker-compose.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | .docker/mqtt/docker-compose-more.yml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/Cargo.toml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| 3738 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 27 | def test_prefers_explicit_binary(self) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 38 | def test_defaults_to_bundled_binary_when_available(self) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 54 | def test_rejects_source_checkout_without_binary(self) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 69 | def test_uses_binary_from_minio_root_directory(self) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 84 | def test_default_matrix_covers_sse_modes_and_shapes(self) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 96 | def test_default_matrix_uses_configured_kms_key_id(self) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 105 | def test_sse_kms_request_record_includes_context_header(self) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 146 | def test_sse_c_request_record_includes_customer_key_headers(self) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 167 | def test_complete_multipart_payload_is_xml(self) -> None: | CODE |
| LOW⚡ | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 183 | def test_parse_kms_secret_key_extracts_key_id(self) -> None: | CODE |
| LOW⚡ | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 189 | def test_parse_kms_secret_key_rejects_missing_separator(self) -> None: | CODE |
| LOW⚡ | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 193 | def test_minio_env_prefers_explicit_secret_key(self) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/lab.py | 374 | def ensure_local_tls_certificates(certs_dir: Path, hostname: str) -> None: | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/lab.py | 633 | def complete_multipart_upload( | CODE |
| LOW | crates/rio-v2/tests/minio_fixture_lab/lab.py | 693 | def build_complete_multipart_xml(parts: list[dict[str, Any]]) -> bytes: | CODE |
| LOW | scripts/e2e_binary.py | 83 | def validate_target_directory(target_dir): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 354 | def test_invalid_fixture_deadline_does_not_count_as_cleaned_up(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 362 | def test_reaped_owner_never_signals_a_reused_process_group(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 370 | def test_cleanup_interruption_still_kills_group_and_reaps_leader(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 493 | def test_noise_is_inconclusive_and_nonzero(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 498 | def test_noisy_running_heal_does_not_claim_pacing_benefit(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 505 | def test_idle_cache_window_reports_unavailable_ratios(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 538 | def test_missing_first_publication_is_inconclusive(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 542 | def test_performance_regressions_fail(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 549 | def test_exact_threshold_boundaries_pass(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 553 | def test_just_over_threshold_fails(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 662 | def test_manifest_rejects_missing_build_or_oracle(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 669 | def test_short_measured_window_and_fewer_rounds_rejected(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 678 | def test_measured_manifest_requires_release_evidence_contract(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 1042 | def test_unknown_release_evidence_values_are_not_echoed(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 1050 | def test_invalid_json_does_not_echo_filename(self): | CODE |
| LOW⚡ | scripts/test_scanner_abba.py | 1058 | def test_existing_data_preserved(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 263 | def test_owned_command_never_signals_a_reaped_leader(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 270 | def test_darwin_permission_error_requires_an_owned_zombie_only_group(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 292 | def test_darwin_exited_http_group_keeps_original_status(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 302 | def test_adapter_timeout_reaps_group_after_parent_exits_on_term(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 316 | def test_collector_failure_reaps_group_after_parent_exits_on_term(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 341 | def test_successful_prepare_keeps_service_alive(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 399 | def test_constructor_failure_after_gate_release_kills_group(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 421 | def test_complete_synthetic_matrix_is_not_performance_evidence(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 480 | def test_fail_closed_adapter_and_data_errors(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 518 | def test_running_heal_pacing_status_requires_engagement_and_benefit(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 564 | def test_live_collector_rejects_missing_or_failed_node_metrics(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 613 | def test_live_collector_requires_credentials_before_measurement(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 626 | def test_live_collector_binds_release_evidence_metrics_endpoints(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 778 | def test_measured_self_report_cannot_pass_without_source_evidence(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 831 | def test_measured_percentile_threshold_uses_original_nanoseconds(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 850 | def test_measurement_and_stop_errors_are_both_preserved(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 868 | def test_malformed_measured_collector_and_stop_errors_are_both_preserved(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 887 | def test_malformed_measured_collector_is_reported_after_successful_stop(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 906 | def test_interruption_is_preserved_when_stop_also_fails(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 924 | def test_stop_interruption_preserves_prior_failure(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 942 | def test_collector_cleanup_and_stop_errors_keep_measurement_failure(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 966 | def test_stop_interruption_keeps_nested_collector_failure_chain(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 990 | def test_collector_interruption_and_stop_failure_keep_measurement_error(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 1014 | def test_subprocess_failures_do_not_expose_arguments(self): | CODE |
| LOW | scripts/test_scanner_abba.py | 1072 | def test_nan_and_oversized_samples_rejected(self): | CODE |
| LOW | scripts/test_ci_test_shards.py | 31 | def test_observed_durations_balance_whole_protected_component(self): | CODE |
| LOW | scripts/test_ci_test_shards.py | 39 | def test_missing_invalid_and_unknown_observations_fail(self): | CODE |
| LOW | scripts/test_ci_test_shards.py | 56 | def test_inherited_thread_constraints_are_included_without_parsing_the_dsl(self): | CODE |
| 877 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .config/nextest.toml | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .config/nextest.toml | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .config/nextest.toml | 476 | # =========================================================================== | STRING |
| MEDIUM⚡ | .config/nextest.toml | 487 | # =========================================================================== | STRING |
| MEDIUM⚡ | .config/nextest.toml | 876 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | .config/nextest.toml | 878 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | .config/nextest.toml | 888 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | .config/nextest.toml | 890 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 359 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 361 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 612 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 614 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 729 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 731 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 784 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 786 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 827 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 829 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 848 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 850 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 18 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 21 | # ========================================================================== | COMMENT |
| MEDIUM⚡ | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 23 | # ========================================================================== | COMMENT |
| MEDIUM⚡ | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 27 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 32 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 148 | # ========================================================================== | COMMENT |
| MEDIUM⚡ | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 150 | # ========================================================================== | COMMENT |
| MEDIUM⚡ | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 154 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 160 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 1 | # ============================================================================= | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 3 | # ============================================================================= | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 66 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 72 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 102 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 116 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 187 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 193 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 226 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …y/prometheus-rules/rustfs-get-optimization-alerts.yaml | 232 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 38 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 41 | # ========================================================================== | COMMENT |
| MEDIUM⚡ | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 43 | # ========================================================================== | COMMENT |
| MEDIUM⚡ | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 47 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 53 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 107 | # ========================================================================== | COMMENT |
| MEDIUM⚡ | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 109 | # ========================================================================== | COMMENT |
| MEDIUM⚡ | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 113 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 121 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 15 | # ============================================================================= | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 17 | # ============================================================================= | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 72 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 82 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 140 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 151 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 169 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 178 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 195 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 200 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 218 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …r/observability/prometheus-rules/rustfs-kms-alerts.yml | 234 | # ------------------------------------------------------------------ | COMMENT |
| 130 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 49 | // Step 1: Initialize global KMS service manager | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 54 | // Step 2: Get Vault configuration from environment or use defaults | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 68 | // Step 3: Configure KMS with Vault backend | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 76 | // Step 4: Start the KMS service | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 81 | // Step 5: Get the encryption service | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 88 | // Step 6: Create a master key (stored in Vault) or use existing one | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 276 | // Step 13: Health check (verifies Vault connectivity) | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 281 | // Step 14: Stop the service | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 137 | // Step 7: Describe the key (retrieved from Vault) | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 151 | // Step 8: Generate a data encryption key (OPTIONAL - for demonstration only) | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 182 | // Step 9: Encrypt some data using high-level API | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 221 | // Step 10: Decrypt the data using high-level API | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 249 | // Step 11: List all keys (from Vault) | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 264 | // Step 12: Check cache statistics | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 43 | // Step 1: Initialize global KMS service manager | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 48 | // Step 2: Create a temporary directory for local backend | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 56 | // Step 3: Configure KMS with local backend | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 64 | // Step 4: Start the KMS service | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 69 | // Step 5: Get the encryption service | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 76 | // Step 6: Create a master key | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 240 | // Step 13: Health check | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 245 | // Step 14: Stop the service | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 101 | // Step 7: Describe the key | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 115 | // Step 8: Generate a data encryption key (OPTIONAL - for demonstration only) | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 146 | // Step 9: Encrypt some data using high-level API | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 185 | // Step 10: Decrypt the data using high-level API | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 213 | // Step 11: List all keys | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 228 | // Step 12: Check cache statistics | COMMENT |
| LOW | crates/kms/src/backends/vault.rs | 1850 | // Step 1: freeze the baseline on first rotation. | COMMENT |
| LOW | crates/kms/src/backends/vault.rs | 1875 | // Step 2: durably persist the next version's material before it can become | COMMENT |
| LOW | crates/kms/src/backends/vault.rs | 1900 | // Step 3: switch the current pointer. The top-level copy of the material is | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5290 | // Step 1: Start with a fresh config (simulates initial server state) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5293 | // Step 2: Apply set directives (simulates "mc admin config set storage_class standard=EC:4 rrs=EC:2") | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5304 | // Step 3: Save (encode to external format) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5307 | // Step 4: Load (decode from external format) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5310 | // Step 5: Verify the values are preserved | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5317 | // Step 6: Verify the subsystem is accessible by name (what render_selected_config does) | COMMENT |
| LOW | crates/heal/src/heal/task/heal_erasure_set.rs | 276 | // Step 1: Perform disk format heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task/heal_erasure_set.rs | 430 | // Step 2: Get disk for resume functionality | COMMENT |
| LOW | crates/heal/src/heal/task/heal_erasure_set.rs | 458 | // Step 3: Heal bucket structure | COMMENT |
| LOW | crates/heal/src/heal/task/heal_erasure_set.rs | 554 | // Step 4: Execute erasure set heal with resume | COMMENT |
| LOW | crates/heal/src/heal/task/heal_metadata.rs | 38 | // Step 1: Check if object exists | COMMENT |
| LOW | crates/heal/src/heal/task/heal_metadata.rs | 80 | // Step 2: Perform metadata heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task/heal_metadata.rs | 205 | // Step 1: Check if object exists | COMMENT |
| LOW | crates/heal/src/heal/task/heal_metadata.rs | 247 | // Step 2: Perform EC decode heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task/heal_object.rs | 83 | // Step 1: Check if object exists and get metadata | COMMENT |
| LOW | crates/heal/src/heal/task/heal_object.rs | 205 | // Step 2: directly call ecstore to perform heal | COMMENT |
| LOW | crates/heal/src/heal/task/heal_object.rs | 293 | // Step 3: Verify heal result | COMMENT |
| LOW | crates/heal/src/heal/task/heal_bucket.rs | 175 | // Step 1: Check if bucket exists | COMMENT |
| LOW | crates/heal/src/heal/task/heal_bucket.rs | 211 | // Step 2: Perform bucket heal using ecstore | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 448 | // Step 1: Upload file (like `mc cp README.md "local/dummy/a%20f+/b/c/3/README.md"`) | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 459 | // Step 2: Navigate to folder (like navigating to "%20f+/" in UI) | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 482 | // Step 3: List deeper (like `mc ls "local/dummy/a%20f+/b/c/3/"`) | COMMENT |
| LOW⚡ | crates/e2e_test/src/kms/multipart_encryption_test.rs | 276 | // Step 4: HEAD request to inspect metadata | COMMENT |
| LOW⚡ | crates/e2e_test/src/kms/multipart_encryption_test.rs | 283 | // Step 5: GET request to download and verify | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 28 | /// Step 1: Test the basic single-file encryption function (ensure that SSE-S3 works properly in non-sharded scenarios) | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 84 | /// Step 2: Test the unencrypted shard upload (make sure the shard upload base is working properly) | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 111 | // Step 1: Create a sharded upload | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 122 | // Step 2: Upload individual shards | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 152 | // Step 3: Complete the shard upload | COMMENT |
| 77 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | crates/s3select-api/src/object_store.rs | 357 | if let Some(csv) = self.input.request.input_serialization.csv.as_ref() | CODE |
| CRITICAL | crates/s3select-api/src/object_store.rs | 907 | let meter_input = self.input.request.input_serialization.parquet.is_none(); | CODE |
| CRITICAL | crates/s3select-api/src/object_store.rs | 954 | let input_record_delimiter = if self.input.request.input_serialization.csv.is_some() { | CODE |
| CRITICAL⚡ | crates/s3select-api/src/query/session.rs | 448 | context.input.request.scan_range.is_some() && context.input.request.input_serialization.parquet.is_none(); | CODE |
| CRITICAL⚡ | crates/s3select-api/src/query/session.rs | 458 | input_metrics.is_some() && context.input.request.input_serialization.parquet.is_none(); | CODE |
| CRITICAL⚡ | crates/s3select-api/src/query/session.rs | 460 | context.input.request.input_serialization.csv.as_ref().is_some_and(|csv| { | CODE |
| CRITICAL | crates/s3select-api/src/query/session.rs | 488 | let data_bytes: Vec<u8> = if context.input.request.input_serialization.parquet.is_some() { | CODE |
| CRITICAL | crates/s3select-api/src/query/session.rs | 490 | } else if context.input.request.input_serialization.json.is_some() { | CODE |
| CRITICAL | …ecstore/src/bucket/lifecycle/transition_transaction.rs | 1095 | copy_set_sha256: context.observed.control.observed_source_generation.copy_set_sha256.clone(), | CODE |
| CRITICAL | …s/ecstore/src/bucket/lifecycle/recovery_disposition.rs | 1201 | for copy in current.disposition.identity.source_generation.copies.clone() { | CODE |
| CRITICAL | crates/ecstore/src/disk/local/multipart_source_state.rs | 1938 | || anchor.publication.lineage.geometry.distribution.get(slot).is_none() | CODE |
| CRITICAL | crates/s3select-query/src/dispatcher/manager.rs | 412 | if self.input.request.input_serialization.parquet.is_some() { | CODE |
| CRITICAL | crates/s3select-query/src/dispatcher/manager.rs | 435 | if let Some(csv) = self.input.request.input_serialization.csv.as_ref() { | CODE |
| CRITICAL | crates/s3select-query/src/dispatcher/manager.rs | 501 | } else if self.input.request.input_serialization.json.is_some() { | CODE |
| CRITICAL | crates/s3select-query/src/dispatcher/manager.rs | 512 | let resolve_schema = if self.input.request.input_serialization.json.is_some() { | CODE |
| CRITICAL | rustfs/src/admin/handlers/cluster_snapshot.rs | 1396 | view.components.storage.status.reason.as_deref(), | CODE |
| CRITICAL | rustfs/src/admin/handlers/cluster_snapshot.rs | 1404 | view.components.listing.status.reason.as_deref(), | CODE |
| CRITICAL | rustfs/src/admin/handlers/cluster_snapshot.rs | 1448 | view.components.storage.status.reason.as_deref(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 49 | // Step 1: Initialize global KMS service manager | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 54 | // Step 2: Get Vault configuration from environment or use defaults | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 68 | // Step 3: Configure KMS with Vault backend | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 76 | // Step 4: Start the KMS service | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 81 | // Step 5: Get the encryption service | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 88 | // Step 6: Create a master key (stored in Vault) or use existing one | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 276 | // Step 13: Health check (verifies Vault connectivity) | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 281 | // Step 14: Stop the service | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 137 | // Step 7: Describe the key (retrieved from Vault) | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 151 | // Step 8: Generate a data encryption key (OPTIONAL - for demonstration only) | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 182 | // Step 9: Encrypt some data using high-level API | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 221 | // Step 10: Decrypt the data using high-level API | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 249 | // Step 11: List all keys (from Vault) | COMMENT |
| LOW | crates/kms/examples/kms_vault_kv_demo.rs | 264 | // Step 12: Check cache statistics | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 43 | // Step 1: Initialize global KMS service manager | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 48 | // Step 2: Create a temporary directory for local backend | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 56 | // Step 3: Configure KMS with local backend | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 64 | // Step 4: Start the KMS service | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 69 | // Step 5: Get the encryption service | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 76 | // Step 6: Create a master key | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 240 | // Step 13: Health check | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 245 | // Step 14: Stop the service | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 101 | // Step 7: Describe the key | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 115 | // Step 8: Generate a data encryption key (OPTIONAL - for demonstration only) | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 146 | // Step 9: Encrypt some data using high-level API | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 185 | // Step 10: Decrypt the data using high-level API | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 213 | // Step 11: List all keys | COMMENT |
| LOW | crates/kms/examples/kms_local_demo.rs | 228 | // Step 12: Check cache statistics | COMMENT |
| LOW | crates/kms/src/backends/vault.rs | 1850 | // Step 1: freeze the baseline on first rotation. | COMMENT |
| LOW | crates/kms/src/backends/vault.rs | 1875 | // Step 2: durably persist the next version's material before it can become | COMMENT |
| LOW | crates/kms/src/backends/vault.rs | 1900 | // Step 3: switch the current pointer. The top-level copy of the material is | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5290 | // Step 1: Start with a fresh config (simulates initial server state) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5293 | // Step 2: Apply set directives (simulates "mc admin config set storage_class standard=EC:4 rrs=EC:2") | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5304 | // Step 3: Save (encode to external format) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5307 | // Step 4: Load (decode from external format) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5310 | // Step 5: Verify the values are preserved | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 5317 | // Step 6: Verify the subsystem is accessible by name (what render_selected_config does) | COMMENT |
| LOW | crates/heal/src/heal/task/heal_erasure_set.rs | 276 | // Step 1: Perform disk format heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task/heal_erasure_set.rs | 430 | // Step 2: Get disk for resume functionality | COMMENT |
| LOW | crates/heal/src/heal/task/heal_erasure_set.rs | 458 | // Step 3: Heal bucket structure | COMMENT |
| LOW | crates/heal/src/heal/task/heal_erasure_set.rs | 554 | // Step 4: Execute erasure set heal with resume | COMMENT |
| LOW | crates/heal/src/heal/task/heal_metadata.rs | 38 | // Step 1: Check if object exists | COMMENT |
| LOW | crates/heal/src/heal/task/heal_metadata.rs | 80 | // Step 2: Perform metadata heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task/heal_metadata.rs | 205 | // Step 1: Check if object exists | COMMENT |
| LOW | crates/heal/src/heal/task/heal_metadata.rs | 247 | // Step 2: Perform EC decode heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task/heal_object.rs | 83 | // Step 1: Check if object exists and get metadata | COMMENT |
| LOW | crates/heal/src/heal/task/heal_object.rs | 205 | // Step 2: directly call ecstore to perform heal | COMMENT |
| LOW | crates/heal/src/heal/task/heal_object.rs | 293 | // Step 3: Verify heal result | COMMENT |
| LOW | crates/heal/src/heal/task/heal_bucket.rs | 175 | // Step 1: Check if bucket exists | COMMENT |
| LOW | crates/heal/src/heal/task/heal_bucket.rs | 211 | // Step 2: Perform bucket heal using ecstore | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 448 | // Step 1: Upload file (like `mc cp README.md "local/dummy/a%20f+/b/c/3/README.md"`) | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 459 | // Step 2: Navigate to folder (like navigating to "%20f+/" in UI) | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 482 | // Step 3: List deeper (like `mc ls "local/dummy/a%20f+/b/c/3/"`) | COMMENT |
| LOW⚡ | crates/e2e_test/src/kms/multipart_encryption_test.rs | 276 | // Step 4: HEAD request to inspect metadata | COMMENT |
| LOW⚡ | crates/e2e_test/src/kms/multipart_encryption_test.rs | 283 | // Step 5: GET request to download and verify | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 28 | /// Step 1: Test the basic single-file encryption function (ensure that SSE-S3 works properly in non-sharded scenarios) | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 84 | /// Step 2: Test the unencrypted shard upload (make sure the shard upload base is working properly) | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 111 | // Step 1: Create a sharded upload | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 122 | // Step 2: Upload individual shards | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 152 | // Step 3: Complete the shard upload | COMMENT |
| 66 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/test_ci_plan.py | 416 | lambda w: w['jobs']['required-checks']['steps'][0].update({'run': 'python3 scripts/ci_gate.py verify || true | CODE |
| HIGH⚡ | scripts/test_functional_chain.py | 897 | "ref: ${{ steps.chain.outputs.testing_sha || inputs.auto_testing_ref || 'main' }}" | STRING |
| HIGH⚡ | scripts/test_functional_chain.py | 902 | self.assertIn("steps.chain_package.outputs.package_url || inputs.package_url", workflow) | STRING |
| HIGH⚡ | scripts/check_test_wiring.py | 3632 | "only installed actionlint": action.replace("run: shellcheck --version && actionlint", "run: echo action | CODE |
| HIGH⚡ | scripts/check_test_wiring.py | 3636 | "swallowed script failure": action.replace("run: make script-tests", "run: make script-tests || true"), | CODE |
| HIGH⚡ | scripts/check_test_wiring.py | 3640 | "run: python3 ./scripts/test_object_generation_protocol_model.py || true", | CODE |
| HIGH⚡ | scripts/check_test_wiring.py | 3642 | "swallowed lint failure": action.replace("&& actionlint", "&& actionlint || true"), | CODE |
| HIGH⚡ | scripts/check_test_wiring.py | 3643 | "swallowed ratchet failure": action.replace("ratchet.sh", "ratchet.sh || true"), | CODE |
| HIGH⚡ | scripts/check_test_wiring.py | 3648 | "name: Lint workflows", "name: |\n run: shellcheck --version && actionlint" | CODE |
| HIGH⚡ | scripts/check_test_wiring.py | 3649 | ).replace("\n run: shellcheck --version && actionlint\n", "\n run: shellcheck --version && act | CODE |
| HIGH⚡ | scripts/check_test_wiring.py | 3649 | ).replace("\n run: shellcheck --version && actionlint\n", "\n run: shellcheck --version && act | CODE |
| HIGH⚡ | scripts/check_test_wiring.py | 3652 | "shellcheck --version && actionlint", "./scripts/check_error_other_format_ratchet.sh", "make script-test | CODE |
| HIGH | scripts/check_test_wiring.py | 1109 | for command in ("shellcheck --version && actionlint", "./scripts/check_error_other_format_ratchet.sh", "make scr | CODE |
| HIGH | scripts/check_test_wiring.py | 3567 | " - name: Lint workflows\n shell: bash\n run: shellcheck --version && actionlint\n" | CODE |
| HIGH | scripts/check_test_wiring.py | 3585 | for command in ("shellcheck --version && actionlint", "make script-tests"): | CODE |
| HIGH | scripts/check_test_wiring.py | 3679 | run = "shellcheck --version && actionlint" if failing in ("shellcheck", "actionlint") else failing | CODE |
| HIGH | scripts/check_test_wiring.py | 5713 | script.write_text(valid_runner.replace("return 1", "nc -z localhost 9000 && return 0")) | CODE |
| HIGH | scripts/check_test_wiring.py | 5825 | runner.write_text(valid_runner.replace(" return 1\n fi", " false || return 0\n retur | CODE |
| HIGH | scripts/check_test_wiring.py | 5832 | 'RESPONSE=$(awscurl --service s3 || echo "<ListAllMyBucketsResult")', | CODE |
| HIGH | scripts/check_test_wiring.py | 5886 | "if curl -sf http://127.0.0.1:9000/health/ready || true; then", | CODE |
| HIGH | scripts/check_test_wiring.py | 5900 | "curl -sf http://127.0.0.1:9000/health/ready || true\n exit 0", | CODE |
| HIGH⚡ | scripts/test_ci_test_artifact.py | 142 | for value in ('[]', '{}', '[null]', '["--all-features"]', '["e2e_test"]', '[""]'): | CODE |
| HIGH⚡ | scripts/test_security_workflow.py | 645 | self.assertIn("steps.chain.outputs.testing_sha || inputs.auto_testing_ref || 'main'", checkout) | CODE |
| HIGH | scripts/test_security_workflow.py | 448 | context["steps.chain_package.outputs.package_url || inputs.package_url"] = env["RUSTFS_NIGHTLY_PACKA | CODE |
| HIGH | scripts/test_security_workflow.py | 749 | 'elif [ "$1 $2" = "api --method" ]; then cat >/dev/null; fi\n'), | STRING |
| HIGH | scripts/scanner_memory_acceptance.py | 513 | script += 'for n in memory.current memory.max memory.peak memory.stat memory.events memory.swap.current memo | CODE |
| HIGH | scripts/prepare_functional_package.py | 77 | script = f"set -eu\nrm -f -- {shlex.quote(str(path))}\nrmdir -- {shlex.quote(str(path.parent))} 2>/dev/null || true\ | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .config/nextest.toml | 481 | # * An entry stays until the issue is fixed (test made robust) or the test is | STRING |
| MEDIUM | .config/nextest.toml | 625 | # Replication failure harness (backlog#1147 repl-8): the first clause admits | STRING |
| MEDIUM | crates/kms/tests/common/mod.rs | 29 | #![allow(dead_code)] // each test binary uses a different slice of the harness | COMMENT |
| MEDIUM | crates/kms/src/backends/local.rs | 404 | /// under their own unique tempdir to stay robust against parallel tests. | COMMENT |
| MEDIUM | crates/ecstore/src/disk/os.rs | 106 | /// their own unique tempdir to stay robust against parallel test execution. | COMMENT |
| MEDIUM | crates/ecstore/src/services/tier/tier.rs | 3621 | // and to stay robust regardless of the uppercase gate above. | COMMENT |
| MEDIUM | crates/e2e_test/src/inline_fast_path_cluster_test.rs | 2396 | #[ignore = "manual #1508 evidence harness: starts a 4-node cluster, a remote tier, and an in-flight transition job"] | COMMENT |
| MEDIUM | crates/e2e_test/src/fault_proxy.rs | 31 | //! - **#1327** cross-process replay / tamper harness: the proxy is the wire | COMMENT |
| MEDIUM | scripts/resolve_functional_candidate.py | 137 | # within days, so the nightly chain keeps replaying an old harness while | COMMENT |
| MEDIUM | scripts/resolve_functional_candidate.py | 142 | # old harness. | COMMENT |
| MEDIUM | scripts/run_hotpath_warp_ab.sh | 17 | # config between phases. This maps onto the team's ansible harness | COMMENT |
| MEDIUM | scripts/run_internode_transport_baseline.sh | 244 | except Exception as err: # noqa: BLE001 - shell harness reports and skips metrics on query errors. | CODE |
| MEDIUM | scripts/validate_issue2704_uploadpart_memory.sh | 8 | # diagnostic harness, not a CI gate. Without --run and --ack-isolated it reports | COMMENT |
| MEDIUM | scripts/ci_test_artifact.py | 214 | # The original all-targets lint included the harness. Archive | COMMENT |
| MEDIUM | scripts/find_assertless_tests.py | 63 | # every assertion to a shared harness. | COMMENT |
| MEDIUM | scripts/test_security_workflow.py | 184 | # The report step is red only for harness/environment breakdowns: | COMMENT |
| MEDIUM | scripts/test_security_workflow.py | 823 | # Report steps are red only for harness/environment breakdowns; | STRING |
| MEDIUM | scripts/test_security_workflow.py | 1187 | # New gate semantics: case failures stay green, harness breakdowns red. | STRING |
| MEDIUM | scripts/ci_gate.py | 37 | # These jobs still exercise the server and its black-box harness when only E2E | COMMENT |
| MEDIUM | scripts/run_get_1mib_abba_stage_metrics.sh | 4 | # Dedicated exact-1MiB GET attribution harness for rustfs/backlog#2093. | COMMENT |
| MEDIUM | scripts/run_get_codec_streaming_smoke.sh | 4 | # Local GET benchmark harness for the experimental codec streaming read path. | COMMENT |
| MEDIUM | scripts/run_get_codec_streaming_smoke.sh | 1536 | except Exception as err: # noqa: BLE001 - shell harness reports the failure in status files. | CODE |
| MEDIUM | scripts/run_object_batch_bench_enhanced.sh | 940 | except Exception as err: # noqa: BLE001 - shell harness reports failures in status files. | CODE |
| MEDIUM | scripts/run_ecstore_validation_suite.sh | 556 | # Deterministic rename_data crash-consistency harness (rustfs/backlog#935 | COMMENT |
| MEDIUM | scripts/archive/run_object_data_cache_bench.sh | 4 | # Dedicated GET benchmark harness for the object data cache rollout gate. | COMMENT |
| MEDIUM | scripts/s3-tests/run.sh | 42 | # Keep the compatibility harness focused on foreground S3 API behavior. | COMMENT |
| MEDIUM | scripts/s3-tests/run.sh | 81 | # Compatibility default for the s3-tests harness: | COMMENT |
| MEDIUM | .github/workflows/rustfs-validation-tools.yml | 198 | # Older immutable harness pins retain their original native suite; | COMMENT |
| MEDIUM | .github/workflows/rustfs-table-test.yml | 172 | # Report harness completion here; the final verdict checks every | COMMENT |
| MEDIUM | .github/workflows/rustfs-table-test.yml | 211 | # Preserve the harness verdict separately from the final case verdict. | COMMENT |
| MEDIUM | .github/workflows/rustfs-storage-test.yml | 182 | # Report harness completion here; the final verdict checks every | COMMENT |
| MEDIUM | .github/workflows/rustfs-storage-test.yml | 222 | # Preserve the harness verdict separately from the final case verdict. | COMMENT |
| MEDIUM | .github/workflows/rustfs-s3-compat-test.yml | 167 | # Report harness completion here; the final verdict checks every | COMMENT |
| MEDIUM | .github/workflows/rustfs-s3-compat-test.yml | 207 | # Preserve the harness verdict separately from the final case verdict. | COMMENT |
| MEDIUM | .github/workflows/rustfs-fault-tolerance-matrix.yml | 192 | # to internal consistency. Missing/harness-error rows always fail. | COMMENT |
| MEDIUM | .github/workflows/rustfs-upgrade-test.yml | 264 | # Report harness completion here; the final verdict checks every | COMMENT |
| MEDIUM | .github/workflows/rustfs-upgrade-test.yml | 308 | # Preserve the harness verdict separately from the final case verdict. | COMMENT |
| MEDIUM | .github/workflows/on-demand-migration-interop.yml | 125 | # The harness never creates a bucket, so that pointing it at a cloud | COMMENT |
| MEDIUM | .github/workflows/e2e-upgrade.yml | 149 | # Reuse one compiled harness, while keeping each case in its own process. | COMMENT |
| MEDIUM | .github/workflows/rustfs-kms-test.yml | 191 | # Report harness completion here; the final verdict checks every | COMMENT |
| MEDIUM | .github/workflows/rustfs-kms-test.yml | 230 | # Preserve the harness verdict separately from the final case verdict. | COMMENT |
| MEDIUM | .github/workflows/rustfs-pool-expand-test.yml | 587 | # A mid-script abort is a product/harness signal: the run step's | COMMENT |
| MEDIUM | .github/workflows/rustfs-replication-test.yml | 198 | # Report harness completion here; the final verdict checks every | COMMENT |
| MEDIUM | .github/workflows/rustfs-replication-test.yml | 238 | # Preserve the harness verdict separately from the final case verdict. | COMMENT |
| MEDIUM | .github/workflows/rustfs-heal-test.yml | 246 | # Preserve harness completion separately; the final verdict checks | COMMENT |
| MEDIUM | .github/workflows/rustfs-heal-test.yml | 285 | # Preserve the harness verdict separately from the final case verdict. | COMMENT |
| MEDIUM | .github/workflows/fuzz.yml | 20 | # Run when the harness or any directly fuzzed production crate changes. | COMMENT |
| MEDIUM⚡ | .github/workflows/fuzz.yml | 70 | # Phase 1: Build all fuzz harness binaries once. | COMMENT |
| MEDIUM | .github/workflows/rustfs-security-test.yml | 241 | # Preserve the harness verdict separately from the final case verdict. | COMMENT |
| MEDIUM | .github/workflows/e2e-s3tests.yml | 36 | # AND a Python toolchain with pip (for awscurl/tox and the pytest harness). | COMMENT |
| MEDIUM | .github/actions/odm-interop-report/action.yml | 94 | # A passed case with no entry of its own means the harness stopped | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 54 | CODE | |
| LOW | crates/rio-v2/tests/minio_fixture_lab/lab.py | 662 | CODE | |
| LOW | scripts/e2e_binary.py | 32 | CODE | |
| LOW | scripts/e2e_binary.py | 125 | CODE | |
| LOW | scripts/e2e_binary.py | 218 | CODE | |
| LOW | scripts/test_scanner_abba.py | 24 | CODE | |
| LOW | scripts/test_scanner_abba.py | 138 | CODE | |
| LOW | scripts/test_scanner_abba.py | 270 | CODE | |
| LOW | scripts/test_scanner_abba.py | 370 | CODE | |
| LOW | scripts/test_scanner_abba.py | 564 | CODE | |
| LOW | scripts/test_ci_test_shards.py | 71 | CODE | |
| LOW | scripts/summarize_scanner_heal_perf.py | 287 | CODE | |
| LOW | scripts/summarize_scanner_heal_perf.py | 543 | CODE | |
| LOW | scripts/scanner_otlp_window.py | 95 | CODE | |
| LOW | scripts/run_scanner_heal_linux_evidence_plan.py | 561 | CODE | |
| LOW | scripts/run_scanner_heal_linux_evidence_plan.py | 650 | CODE | |
| LOW | scripts/run_scanner_heal_linux_evidence_plan.py | 800 | CODE | |
| LOW | scripts/functional_chain_evidence.py | 58 | CODE | |
| LOW | scripts/test_inspect_btf_prototypes.py | 522 | CODE | |
| LOW | scripts/test_inspect_btf_prototypes.py | 582 | CODE | |
| LOW | scripts/test_inspect_btf_prototypes.py | 663 | CODE | |
| LOW | scripts/test_inspect_btf_prototypes.py | 346 | CODE | |
| LOW | scripts/test_inspect_btf_prototypes.py | 378 | CODE | |
| LOW | scripts/test_inspect_btf_prototypes.py | 502 | CODE | |
| LOW | scripts/test_ci_plan.py | 258 | CODE | |
| LOW | scripts/test_ci_plan.py | 318 | CODE | |
| LOW | scripts/functional_case_report.py | 11 | CODE | |
| LOW | scripts/retain_validation_evidence.py | 26 | CODE | |
| LOW | scripts/retain_validation_evidence.py | 34 | CODE | |
| LOW | scripts/scanner_client_trace.py | 199 | CODE | |
| LOW | scripts/check_doc_paths.py | 37 | CODE | |
| LOW | scripts/check_doc_paths.py | 115 | CODE | |
| LOW | scripts/test_object_generation_protocol_model.py | 63 | CODE | |
| LOW | scripts/test_object_generation_protocol_model.py | 324 | CODE | |
| LOW | scripts/check_scheduled_validation_freshness.py | 187 | CODE | |
| LOW | scripts/test_summarize_scanner_heal_perf.py | 167 | CODE | |
| LOW | scripts/test_summarize_scanner_heal_perf.py | 464 | CODE | |
| LOW | scripts/test_summarize_scanner_heal_perf.py | 492 | CODE | |
| LOW | scripts/test_summarize_scanner_heal_perf.py | 659 | CODE | |
| LOW | scripts/test_scanner_otlp_window.py | 182 | CODE | |
| LOW | scripts/test_scanner_otlp_window.py | 350 | CODE | |
| LOW | scripts/ci_test_artifact.py | 191 | CODE | |
| LOW | scripts/check_security_coverage.py | 102 | CODE | |
| LOW | scripts/test_release_build_workflow.py | 109 | CODE | |
| LOW | scripts/test_functional_chain.py | 47 | CODE | |
| LOW | scripts/test_functional_chain.py | 74 | CODE | |
| LOW | scripts/test_functional_chain.py | 146 | CODE | |
| LOW | scripts/test_functional_chain.py | 290 | CODE | |
| LOW | scripts/test_functional_chain.py | 351 | CODE | |
| LOW | scripts/test_functional_chain.py | 388 | CODE | |
| LOW | scripts/test_functional_chain.py | 794 | CODE | |
| LOW | scripts/test_functional_chain.py | 912 | CODE | |
| LOW | scripts/check_test_wiring.py | 536 | CODE | |
| LOW | scripts/check_test_wiring.py | 593 | CODE | |
| LOW | scripts/check_test_wiring.py | 1082 | CODE | |
| LOW | scripts/check_test_wiring.py | 1171 | CODE | |
| LOW | scripts/check_test_wiring.py | 1380 | CODE | |
| LOW | scripts/check_test_wiring.py | 1644 | CODE | |
| LOW | scripts/check_test_wiring.py | 3239 | CODE | |
| LOW | scripts/check_test_wiring.py | 3340 | CODE | |
| 92 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/test_scanner_abba.py | 1096 | except OSError: | CODE |
| HIGH | scripts/functional_case_report.py | 43 | except FileNotFoundError: | CODE |
| HIGH | scripts/check_security_coverage.py | 230 | except ValueError: | CODE |
| HIGH | scripts/check_security_coverage.py | 172 | except ValueError: | CODE |
| HIGH | scripts/check_security_coverage.py | 201 | except ValueError: | CODE |
| HIGH | scripts/check_security_coverage.py | 187 | except ValueError: | CODE |
| HIGH | scripts/check_security_coverage.py | 216 | except ValueError: | CODE |
| HIGH | scripts/prometheus_metrics_1649_smoke.py | 205 | except ValueError: | CODE |
| HIGH | scripts/scanner_memory_acceptance.py | 947 | except Exception: | CODE |
| HIGH | scripts/run_scanner_heal_g14_multiset_evidence.py | 604 | except subprocess.CalledProcessError: | CODE |
| HIGH | scripts/check_connect_release_boundary.py | 55 | except (OSError, KeyError, TypeError): | CODE |
| HIGH | scripts/test/delete_recovery_docker.py | 351 | except (json.JSONDecodeError, OSError): | CODE |
| HIGH | scripts/test/delete_recovery_docker.py | 216 | except Exception: | CODE |
| HIGH | scripts/test/site_replication_smoke.py | 282 | except ProcessLookupError: | CODE |
| HIGH | scripts/test/site_replication_smoke.py | 299 | except (urllib.error.URLError, OSError, TimeoutError): | CODE |
| HIGH | scripts/ci/runner_pilot.py | 171 | except ProcessLookupError: | CODE |
| HIGH | scripts/table-catalog/pyiceberg_smoke.py | 1164 | except AttributeError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/rio-v2/tests/minio_fixture_lab/test_lab.py | 1 | CODE | |
| LOW | crates/rio-v2/tests/minio_fixture_lab/lab.py | 2 | CODE | |
| LOW | crates/rio-v2/tests/minio_fixture_lab/lab.py | 14 | CODE | |
| LOW | scripts/test_scanner_abba.py | 8 | CODE | |
| LOW | scripts/summarize_scanner_heal_perf.py | 4 | CODE | |
| LOW | scripts/summarize_scanner_heal_perf.py | 16 | CODE | |
| LOW | scripts/run_scanner_heal_linux_evidence_plan.py | 10 | CODE | |
| LOW | scripts/functional_chain_evidence.py | 3 | CODE | |
| LOW | scripts/functional_case_report.py | 4 | CODE | |
| LOW | scripts/check_doc_paths.py | 10 | CODE | |
| LOW | scripts/resolve_functional_candidate.py | 3 | CODE | |
| LOW | scripts/check_scheduled_validation_freshness.py | 4 | CODE | |
| LOW | scripts/test_summarize_scanner_heal_perf.py | 3 | CODE | |
| LOW | scripts/functional_environment.py | 10 | CODE | |
| LOW | scripts/run_scanner_heal_legacy_rollback_evidence.py | 9 | CODE | |
| LOW | scripts/issue_2007_coalescer_prometheus_report.py | 26 | CODE | |
| LOW | scripts/test_release_build_workflow.py | 4 | CODE | |
| LOW | scripts/test_release_build_workflow.py | 6 | CODE | |
| LOW | scripts/test_functional_chain.py | 3 | CODE | |
| LOW | scripts/check_test_wiring.py | 4 | CODE | |
| LOW | scripts/run_scanner_heal_authority_evidence.py | 9 | CODE | |
| LOW | scripts/run_scanner_heal_scoped_ack_evidence.py | 9 | CODE | |
| LOW | scripts/functional_chain_health.py | 3 | CODE | |
| LOW | scripts/run_scanner_heal_status_outcome_probe.py | 9 | CODE | |
| LOW | scripts/test_security_workflow.py | 4 | CODE | |
| LOW | scripts/ci_gate.py | 3 | CODE | |
| LOW | scripts/run_scanner_heal_status_outcome_evidence.py | 9 | CODE | |
| LOW | scripts/run_scanner_heal_status_outcome_evidence.py | 13 | CODE | |
| LOW | scripts/scanner_memory_acceptance.py | 4 | CODE | |
| LOW | scripts/summarize_samply_profile_symbols.py | 4 | CODE | |
| LOW | scripts/run_scanner_heal_g14_multiset_evidence.py | 10 | CODE | |
| LOW | scripts/ci_timing_report.py | 4 | CODE | |
| LOW | scripts/validation_registry.py | 3 | CODE | |
| LOW | scripts/prepare_functional_package.py | 3 | CODE | |
| LOW | scripts/run_scanner_heal_mrf_evidence.py | 10 | CODE | |
| LOW | scripts/run_scanner_heal_maintenance_evidence.py | 9 | CODE | |
| LOW | scripts/check_connect_release_boundary.py | 3 | CODE | |
| LOW | scripts/run_scanner_heal_checkpoint_crash_evidence.py | 4 | CODE | |
| LOW | scripts/run_scanner_heal_checkpoint_crash_evidence.py | 8 | CODE | |
| LOW | scripts/test_summarize_samply_profile_symbols.py | 3 | CODE | |
| LOW | scripts/run_scanner_heal_scheduler_pressure_evidence.py | 9 | CODE | |
| LOW | scripts/run_scanner_heal_scheduler_pressure_evidence.py | 14 | CODE | |
| LOW | scripts/test_upgrade_workflow.py | 4 | CODE | |
| LOW | scripts/archive/analyze_put_service_metrics_deltas.py | 4 | CODE | |
| LOW | scripts/test/delete_recovery_docker.py | 22 | CODE | |
| LOW | scripts/test/delete_recovery_docker.py | 1498 | CODE | |
| LOW | scripts/test/site_replication_smoke.py | 42 | CODE | |
| LOW | scripts/ci/actions_cost_report.py | 4 | CODE | |
| LOW | scripts/ci/runner_pilot.py | 4 | CODE | |
| LOW | scripts/release/check_glibc.py | 4 | CODE | |
| LOW | scripts/release/release_gate.py | 37 | CODE | |
| LOW | scripts/table-catalog/duckdb_smoke.py | 4 | CODE | |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 4 | CODE | |
| LOW | scripts/table-catalog/test_pyiceberg_signing.py | 4 | CODE | |
| LOW | scripts/table-catalog/test_failure_coverage.py | 4 | CODE | |
| LOW | scripts/table-catalog/engine_compatibility.py | 4 | CODE | |
| LOW | scripts/table-catalog/failure_coverage.py | 4 | CODE | |
| LOW | scripts/table-catalog/pyiceberg_smoke.py | 4 | CODE | |
| LOW | scripts/table-catalog/test_duckdb_smoke.py | 4 | CODE | |
| LOW | scripts/table-catalog/test_engine_compatibility.py | 4 | CODE | |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/retain_validation_evidence.py | 162 | except Exception as error: | CODE |
| LOW | scripts/cargo_publish_workspace.sh | 295 | except Exception as exc: | CODE |
| LOW | scripts/resolve_functional_candidate.py | 153 | except Exception as error: | CODE |
| LOW | scripts/check_scheduled_validation_freshness.py | 199 | except Exception as error: | CODE |
| LOW | scripts/check_scheduled_validation_freshness.py | 215 | except Exception as error: | CODE |
| LOW | scripts/check_scheduled_validation_freshness.py | 256 | except Exception as error: | CODE |
| LOW | scripts/run_internode_transport_baseline.sh | 244 | except Exception as err: # noqa: BLE001 - shell harness reports and skips metrics on query errors. | CODE |
| LOW | scripts/run_get_codec_streaming_smoke.sh | 1536 | except Exception as err: # noqa: BLE001 - shell harness reports the failure in status files. | CODE |
| LOW | scripts/run_object_batch_bench_enhanced.sh | 940 | except Exception as err: # noqa: BLE001 - shell harness reports failures in status files. | CODE |
| LOW | scripts/scanner_memory_acceptance.py | 617 | except Exception: | CODE |
| LOW | scripts/scanner_memory_acceptance.py | 669 | except Exception: | CODE |
| LOW | scripts/scanner_memory_acceptance.py | 941 | except Exception: | CODE |
| LOW | scripts/scanner_memory_acceptance.py | 947 | except Exception: | CODE |
| MEDIUM | scripts/scanner_memory_acceptance.py | 383 | def address_matches(bound, endpoint): | CODE |
| LOW | scripts/prepare_retained_validation_recovery.py | 49 | except Exception as error: | CODE |
| LOW | scripts/scanner_abba.py | 931 | except Exception as error: | CODE |
| LOW | scripts/inspect_validation_runner.py | 91 | except Exception as error: | CODE |
| LOW | scripts/scanner_version_oracle.py | 128 | except Exception as error: | CODE |
| LOW | scripts/scanner_version_oracle.py | 223 | except Exception: | CODE |
| MEDIUM | scripts/test/delete_recovery_docker.py | 383 | def target(): | CODE |
| MEDIUM | scripts/test/delete_recovery_docker.py | 459 | def delete_batch(): | CODE |
| MEDIUM | scripts/test/delete_recovery_docker.py | 1286 | def delete_batch(): | CODE |
| LOW | scripts/test/delete_recovery_docker.py | 216 | except Exception: | CODE |
| LOW | scripts/test/delete_recovery_docker.py | 386 | except Exception as error: | CODE |
| LOW | scripts/test/delete_recovery_docker.py | 462 | except Exception as error: | CODE |
| LOW | scripts/test/delete_recovery_docker.py | 1296 | except Exception as error: | CODE |
| LOW | …ripts/security/generate_release_supply_chain_assets.py | 204 | except Exception as exc: | CODE |
| LOW | scripts/table-catalog/duckdb_smoke.py | 400 | except Exception as error: | CODE |
| LOW | scripts/table-catalog/duckdb_smoke.py | 405 | except Exception as error: | CODE |
| LOW | scripts/table-catalog/duckdb_smoke.py | 636 | except Exception as error: | CODE |
| LOW⚡ | scripts/table-catalog/pyiceberg_smoke.py | 1156 | except Exception: | CODE |
| LOW⚡ | scripts/table-catalog/pyiceberg_smoke.py | 1166 | except Exception as error: | CODE |
| LOW⚡ | scripts/table-catalog/pyiceberg_smoke.py | 1173 | except Exception as error: | CODE |
| LOW⚡ | scripts/table-catalog/pyiceberg_smoke.py | 1340 | except Exception as error: | CODE |
| LOW⚡ | scripts/table-catalog/pyiceberg_smoke.py | 1348 | except Exception as error: | CODE |
| LOW | scripts/table-catalog/pyiceberg_smoke.py | 919 | except Exception as cleanup_error: | CODE |
| LOW | scripts/table-catalog/pyiceberg_smoke.py | 939 | except Exception as cleanup_error: | CODE |
| LOW | scripts/table-catalog/pyiceberg_smoke.py | 1720 | except Exception as error: | CODE |
| LOW | scripts/s3-tests/compare_dual_targets.py | 411 | except Exception as exc: # noqa: BLE001 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-buildx.sh | 64 | # Check if Docker buildx is available | COMMENT |
| LOW | docker-buildx.sh | 78 | # Check if builder exists | COMMENT |
| LOW | build-rustfs.sh | 257 | # Check if console assets already exist | COMMENT |
| LOW | build-rustfs.sh | 348 | # Check if binary exists | COMMENT |
| LOW | build-rustfs.sh | 354 | # Check if binary is executable | COMMENT |
| LOW | build-rustfs.sh | 377 | # Check if it's a valid ELF/Mach-O binary | COMMENT |
| LOW | build-rustfs.sh | 413 | # Check if we need cross-compilation | COMMENT |
| LOW | build-rustfs.sh | 607 | # Check if we're in a Rust project | COMMENT |
| LOW | entrypoint.sh | 214 | # Check if START and END are numbers | COMMENT |
| LOW | entrypoint.sh | 308 | # Check if any argument looks like a data path (starts with / and not an option) | COMMENT |
| LOW | crates/notify/src/global.rs | 163 | /// # Return value | COMMENT |
| LOW | crates/notify/src/global.rs | 205 | /// # Return value | COMMENT |
| LOW | crates/notify/src/global.rs | 285 | /// # Return value | COMMENT |
| LOW | crates/notify/src/global.rs | 309 | /// # Return value | COMMENT |
| LOW | scripts/run_e2e_tests.sh | 94 | # Set trap to cleanup on exit | COMMENT |
| LOW | scripts/run_e2e_tests.sh | 164 | # Check if process is still running first (faster check) | COMMENT |
| LOW | scripts/test/delete_xldir_simple.sh | 13 | # Check if path exists | COMMENT |
| LOW | scripts/test/delete_xldir.sh | 61 | # Check if path is provided | COMMENT |
| LOW | scripts/test/delete_xldir.sh | 67 | # Check if path exists | COMMENT |
| LOW⚡ | scripts/s3-tests/run.sh | 179 | # Set TESTEXPR to override this with a custom pytest -k expression. | COMMENT |
| LOW | scripts/s3-tests/run.sh | 502 | # Check if we should skip compilation | COMMENT |
| LOW | scripts/s3-tests/run.sh | 663 | # Check if log file indicates server is started (most reliable method) | COMMENT |
| LOW | scripts/s3-tests/run.sh | 741 | # Check if server is still running | COMMENT |
| LOW | scripts/s3-tests/run.sh | 821 | # Check if template exists | COMMENT |
| LOW | .github/workflows/docker.yml | 73 | # Check if we should build Docker images. | COMMENT |
| LOW | .github/workflows/docker.yml | 143 | # Check if the triggering workflow was successful | COMMENT |
| LOW | .github/workflows/docker.yml | 168 | # Check if this was triggered by a tag push | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/crypto/src/jwt/tests.rs | 198 | "sub": "user@example.com", | CODE |
| LOW | crates/crypto/src/jwt/tests.rs | 199 | "name": "John Doe", | CODE |
| LOW | crates/trusted-proxies/tests/unit/validation_tests.rs | 20 | assert!(ValidationUtils::is_valid_email("user@example.com")); | CODE |
| LOW | crates/rio/src/s2_decoder.rs | 503 | const GO_S2_GOLDEN_PLAINTEXT: &[u8] = b"This is a test file with some repeated content to compress.\nThe quick brown | CODE |
| LOW | crates/rio/src/s2_decoder.rs | 503 | const GO_S2_GOLDEN_PLAINTEXT: &[u8] = b"This is a test file with some repeated content to compress.\nThe quick brown | CODE |
| LOW | crates/iam/src/utils.rs | 205 | sub: "user@example.com".to_string(), | CODE |
| LOW | crates/iam/src/oidc/runtime_tests.rs | 26 | claims.insert("email".to_string(), serde_json::json!("user@example.com")); | CODE |
| LOW | crates/iam/src/oidc/runtime_tests.rs | 29 | assert_eq!(extract_string_claim(&claims, "email"), "user@example.com"); | CODE |
| LOW | crates/iam/src/oidc/runtime_tests.rs | 138 | let payload = r#"{"sub":"user123","email":"user@example.com"}"#; | CODE |
| LOW | crates/iam/src/oidc/runtime_tests.rs | 144 | assert_eq!(claims.get("email").and_then(|v| v.as_str()), Some("user@example.com")); | CODE |
| LOW | crates/iam/src/oidc/runtime_tests.rs | 327 | "email": "user@example.com", "groups": ["readwrite"] | CODE |
| LOW | crates/iam/src/oidc/runtime_tests.rs | 403 | assert_eq!(authorization.email(), "user@example.com"); | CODE |
| LOW | crates/iam/src/oidc/runtime_tests.rs | 441 | email: "user@example.com".to_string(), | CODE |
| LOW | crates/iam/src/oidc/runtime_tests.rs | 464 | email: "user@example.com".to_string(), | CODE |
| LOW | crates/iam/src/oidc/runtime_tests.rs | 477 | assert_eq!(deserialized.email, "user@example.com"); | CODE |
| LOW | crates/e2e_test/src/upgrade_compatibility_test.rs | 3506 | out.extend_from_slice(format!("rc5 legacy layout seed={seed} line={line} lorem ipsum dolor sit amet\n").as_bytes | CODE |
| LOW | crates/e2e_test/src/upgrade_compatibility_test.rs | 3506 | out.extend_from_slice(format!("rc5 legacy layout seed={seed} line={line} lorem ipsum dolor sit amet\n").as_bytes | CODE |
| LOW | crates/e2e_test/src/replication_extension_test.rs | 10741 | out.extend_from_slice(format!("ssec compressed passthrough seed={seed} line={line} lorem ipsum dolor\n").as_ | CODE |
| LOW | crates/s3select-query/src/sql/parser.rs | 398 | let sql = "SELECT * FROM S3Object WHERE name = 'John Doe' AND department = 'IT'"; | CODE |
| LOW | rustfs/src/auth.rs | 3091 | let result = check_key_valid("dummy-token", "keystone:user123").await; | CODE |
| LOW | rustfs/src/admin/service/federated_identity.rs | 467 | email: "user@example.com".to_string(), | CODE |
| LOW | rustfs/src/admin/service/federated_identity.rs | 547 | ("email".to_string(), serde_json::json!("user@example.com")), | CODE |
| LOW | rustfs/src/admin/service/federated_identity.rs | 645 | ("email".to_string(), serde_json::json!("user@example.com")), | CODE |
| LOW | rustfs/src/storage/sse.rs | 7650 | let fake_key = [99u8; 32]; | CODE |
| LOW | rustfs/src/storage/sse.rs | 7651 | let fake_key_b64 = BASE64_STANDARD.encode_to_string(fake_key); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/kms/src/config.rs | 2571 | // Named `*_key_b64` (not `*_secret`) so the logging-guardrails check does not | COMMENT |
| MEDIUM | crates/zip/src/lib.rs | 232 | /// Archive guardrails. The values are carried here so every archive caller | COMMENT |
| MEDIUM | crates/policy/tests/bucket_iam_authz_matrix.rs | 29 | //! ## The orchestration being characterized (authorize_request) | COMMENT |
| MEDIUM | docs/testing/validation-orchestration.md | 1 | # Periodic validation orchestration | COMMENT |
| MEDIUM | docs/architecture/erasure-coding.md | 401 | ## 13. Change procedure and guardrails | COMMENT |
| MEDIUM | docs/architecture/overview.md | 8 | The architecture-migration program (`rustfs/backlog#660`) closed in 2026-07. Its original baseline commit predates the c | CODE |
| MEDIUM | scripts/run_get_codec_streaming_smoke.sh | 6 | # This script intentionally keeps the benchmark orchestration thin: | COMMENT |
| MEDIUM | scripts/archive/run_object_data_cache_bench.sh | 7 | # RustFS lifecycle and warp orchestration, then adds object-cache-specific | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | rustfs/src/admin/auth.rs | 213 | /// `key_id` is the identifier as requested (before any alias resolution), so a | COMMENT |
| HIGH | rustfs/src/connect/diagnostics/top_disk.rs | 105 | // measuring the sleep would reject a capture that ran as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ker/observability/docker-compose-tempo-ha-override.yml | 17 | # Usage: | COMMENT |
| LOW | …s/rio-v2/tests/minio_fixture_lab/capture_via_docker.sh | 10 | # Usage: | COMMENT |
| LOW | crates/targets/src/target/mod.rs | 541 | /// Example usage: | COMMENT |
| LOW | scripts/check_error_other_format_ratchet.sh | 28 | # Usage: | COMMENT |
| LOW | scripts/check_migration_gate_count.sh | 27 | # Usage: | COMMENT |
| LOW | scripts/check_security_smoke_count.sh | 32 | # Usage: | COMMENT |
| LOW | scripts/python_bin.sh | 21 | # Usage: | COMMENT |
| LOW | scripts/ci/resource_sampler.sh | 24 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/archive/stress-test-get-optimization.sh | 183 | # Create a test object | COMMENT |
| MEDIUM | .github/workflows/build.yml | 590 | # Create the zip package | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …tes/e2e_test/src/kms/bucket_default_encryption_test.rs | 148 | // TODO: Add test for explicit override when implemented | COMMENT |
| LOW | crates/tls-runtime/src/config.rs | 20 | Watch, // TODO: implement fs::watch-based reload | CODE |
| LOW | crates/tls-runtime/src/config.rs | 21 | Hybrid, // TODO: implement poll + fs::watch hybrid | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/protocols/src/swift/formpost.rs | 279 | /// This is a basic implementation that extracts form fields and file uploads. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/release/test_release_gate.py | 49 | CODE | |
| LOW | scripts/table-catalog/engine_compatibility.py | 1461 | CODE |