🚀2.3x faster than MinIO for 4KB object payloads. 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 presents the forensic synthetic code analysis of rustfs/rustfs, a Rust project with 29,802 GitHub stars. SynthScan v2.0 examined 814,769 lines of code across 1824 source files, recording 3054 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 4.4 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 3054 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | _typos.toml | 1 | [default] | COMMENT |
| LOW | Cargo.toml | 1 | # Copyright 2024 RustFS Team | COMMENT |
| LOW | Cargo.toml | 361 | 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/nextest.toml | 1 | # nextest configuration for RustFS. | COMMENT |
| LOW | .config/nextest.toml | 21 | # --------------------------------------------------------------------------- | COMMENT |
| LOW | .config/nextest.toml | 61 | # Report every failure in one run instead of bailing on the first. | COMMENT |
| LOW | .config/nextest.toml | 101 | filter = 'package(rustfs-ecstore) & test(walk_dir_does_not_charge_consumer_backpressure_to_the_stall_budget)' | COMMENT |
| LOW | .config/nextest.toml | 121 | # | COMMENT |
| LOW | .config/nextest.toml | 161 | # tests that are unfit for the per-PR e2e-smoke gate: | COMMENT |
| LOW | .config/nextest.toml | 181 | # | 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 | …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 |
| LOW | crates/io-core/examples/scheduler_example.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/bufreader_optimizer.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/bufreader_optimizer.rs | 121 | /// and should not be wrapped with additional BufReader layers. | COMMENT |
| LOW | crates/io-core/src/lock_optimizer.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/config.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/shared_memory.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/direct_io.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/direct_io.rs | 21 | //! | COMMENT |
| LOW | crates/io-core/src/direct_io.rs | 81 | /// | COMMENT |
| LOW | crates/io-core/src/direct_io.rs | 121 | /// Alignment requirement for reads (512 bytes for most systems) | COMMENT |
| LOW | crates/io-core/src/lib.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/lib.rs | 21 | //! | COMMENT |
| LOW | crates/io-core/src/io_profile.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/backpressure.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/timeout_wrapper.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/scheduler.rs | 1 | // Copyright 2024 RustFS Team | COMMENT |
| LOW | crates/io-core/src/scheduler.rs | 481 | /// | COMMENT |
| 2372 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .config/nextest.toml | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .config/nextest.toml | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .config/nextest.toml | 55 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .config/nextest.toml | 57 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .config/nextest.toml | 70 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | .config/nextest.toml | 81 | # =========================================================================== | COMMENT |
| MEDIUM | .config/nextest.toml | 112 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .config/nextest.toml | 114 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .config/nextest.toml | 157 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .config/nextest.toml | 159 | # --------------------------------------------------------------------------- | 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 | crates/s3select-api/src/object_store.rs | 975 | // ── 3. Yield phase (one Bytes per NDJSON line) ─────────────────── | COMMENT |
| MEDIUM | crates/s3select-api/src/object_store.rs | 1418 | // ── sub-path navigation tests ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/s3select-api/src/object_store.rs | 1459 | // ── SQL path extraction tests ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ecstore/src/config/com.rs | 2903 | // ── Corrupted server config recovery (issue #4156) ───────────────── | COMMENT |
| MEDIUM | crates/ecstore/src/config/com.rs | 2903 | // ── Corrupted server config recovery (issue #4156) ───────────────── | COMMENT |
| MEDIUM | …tes/ecstore/src/bucket/replication/replication_pool.rs | 2008 | // ── MrfReplicateEntry encode/decode roundtrips ──────────────────────────── | COMMENT |
| MEDIUM | …tes/ecstore/src/bucket/replication/replication_pool.rs | 2142 | // ── Recovery replay routing ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ecstore/src/error/mod.rs | 40 | // ── Disk / Volume ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ecstore/src/error/mod.rs | 116 | // ── Bucket ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ecstore/src/error/mod.rs | 126 | // ── Object ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ecstore/src/error/mod.rs | 146 | // ── Multipart ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ecstore/src/error/mod.rs | 160 | // ── Erasure / Quorum ───────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ecstore/src/error/mod.rs | 174 | // ── Operational ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/ecstore/src/error/mod.rs | 208 | // ── Generic ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/config.rs | 110 | // ── OTLP export ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/config.rs | 166 | // ── Local logging ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/config.rs | 187 | // ── Log cleanup ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/rolling.rs | 385 | // ── Construction ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/rolling.rs | 435 | // ── Basic writes ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/rolling.rs | 450 | // ── Size-based rotation ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/rolling.rs | 493 | // ── Archive filename format ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/rolling.rs | 555 | // ── Restart with existing file ───────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/local.rs | 299 | // ─── Stdout-only ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/local.rs | 353 | // ─── File-rolling ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/obs/src/telemetry/local.rs | 375 | // ── 1. Ensure the log directory exists ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | crates/obs/src/telemetry/local.rs | 380 | // ── 2. Enforce directory permissions (Unix only) ───────────────────────── | COMMENT |
| MEDIUM⚡ | crates/obs/src/telemetry/local.rs | 384 | // ── 3. Choose rotation strategy ────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/local.rs | 413 | // ── 4. Build subscriber layers ──────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/local.rs | 442 | // ── 5. Start background cleanup task ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/local.rs | 473 | // ─── Directory permissions (Unix) ───────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/obs/src/telemetry/local.rs | 550 | // ─── Cleanup task ───────────────────────────────────────────────────────────── | COMMENT |
| 76 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 | 264 | // Step 12: Check cache statistics | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 274 | // Step 13: Health check (verifies Vault connectivity) | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 279 | // 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_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 | 228 | // Step 12: Check cache statistics | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 238 | // Step 13: Health check | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 243 | // 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/ecstore/src/config/com.rs | 2855 | // Step 1: Start with a fresh config (simulates initial server state) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 2858 | // 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 | 2869 | // Step 3: Save (encode to external format) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 2872 | // Step 4: Load (decode from external format) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 2875 | // Step 5: Verify the values are preserved | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 2882 | // Step 6: Verify the subsystem is accessible by name (what render_selected_config does) | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 718 | // Step 1: Check if object exists and get metadata | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 810 | // Step 2: directly call ecstore to perform heal | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 894 | // Step 3: Verify heal result | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1139 | // Step 1: Check if bucket exists | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1173 | // Step 2: Perform bucket heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1481 | // Step 1: Check if object exists | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1523 | // Step 2: Perform metadata heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1651 | // Step 1: Perform MRF heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1774 | // Step 1: Check if object exists | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1816 | // Step 2: Perform EC decode heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1953 | // Step 1: Perform disk format heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 2047 | // Step 2: Get disk for resume functionality | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 2067 | // Step 3: Heal bucket structure | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 2148 | // Step 4: Execute erasure set heal with resume | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 445 | // 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 | 456 | // Step 2: Navigate to folder (like navigating to "%20f+/" in UI) | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 479 | // 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 | 280 | // Step 4: HEAD request to inspect metadata | COMMENT |
| LOW⚡ | crates/e2e_test/src/kms/multipart_encryption_test.rs | 287 | // Step 5: GET request to download and verify | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 29 | /// 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 | 86 | /// 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 | 114 | // Step 1: Create a sharded upload | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 125 | // Step 2: Upload individual shards | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 155 | // Step 3: Complete the shard upload | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 172 | // Step 4: Download and verify | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 185 | /// Step 3: Test Shard Upload + SSE-S3 Encryption (Focus Test) | COMMENT |
| 74 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 | 264 | // Step 12: Check cache statistics | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 274 | // Step 13: Health check (verifies Vault connectivity) | COMMENT |
| LOW⚡ | crates/kms/examples/kms_vault_kv_demo.rs | 279 | // 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_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 | 228 | // Step 12: Check cache statistics | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 238 | // Step 13: Health check | COMMENT |
| LOW⚡ | crates/kms/examples/kms_local_demo.rs | 243 | // 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/ecstore/src/config/com.rs | 2855 | // Step 1: Start with a fresh config (simulates initial server state) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 2858 | // 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 | 2869 | // Step 3: Save (encode to external format) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 2872 | // Step 4: Load (decode from external format) | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 2875 | // Step 5: Verify the values are preserved | COMMENT |
| LOW⚡ | crates/ecstore/src/config/com.rs | 2882 | // Step 6: Verify the subsystem is accessible by name (what render_selected_config does) | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 718 | // Step 1: Check if object exists and get metadata | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 810 | // Step 2: directly call ecstore to perform heal | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 894 | // Step 3: Verify heal result | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1139 | // Step 1: Check if bucket exists | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1173 | // Step 2: Perform bucket heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1481 | // Step 1: Check if object exists | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1523 | // Step 2: Perform metadata heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1651 | // Step 1: Perform MRF heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1774 | // Step 1: Check if object exists | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1816 | // Step 2: Perform EC decode heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 1953 | // Step 1: Perform disk format heal using ecstore | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 2047 | // Step 2: Get disk for resume functionality | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 2067 | // Step 3: Heal bucket structure | COMMENT |
| LOW | crates/heal/src/heal/task.rs | 2148 | // Step 4: Execute erasure set heal with resume | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 445 | // 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 | 456 | // Step 2: Navigate to folder (like navigating to "%20f+/" in UI) | COMMENT |
| LOW | crates/e2e_test/src/special_chars_test.rs | 479 | // 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 | 280 | // Step 4: HEAD request to inspect metadata | COMMENT |
| LOW⚡ | crates/e2e_test/src/kms/multipart_encryption_test.rs | 287 | // Step 5: GET request to download and verify | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 29 | /// 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 | 86 | /// 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 | 114 | // Step 1: Create a sharded upload | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 125 | // Step 2: Upload individual shards | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 155 | // Step 3: Complete the shard upload | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 172 | // Step 4: Download and verify | COMMENT |
| LOW | crates/e2e_test/src/kms/multipart_encryption_test.rs | 185 | /// Step 3: Test Shard Upload + SSE-S3 Encryption (Focus Test) | COMMENT |
| 63 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/run_object_data_cache_bench.sh | 967 | def labels_have_mode_attribution(labels): | CODE |
| LOW | scripts/run_object_data_cache_bench.sh | 972 | def labels_match_mode_or_unattributed(labels, mode): | CODE |
| LOW | scripts/run_get_codec_streaming_smoke.sh | 1876 | def percentile_bucket_upper_bound(buckets, quantile): | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 37 | def test_default_profile_uses_canonical_rustfs_catalog_uri(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 60 | def test_vendor_profiles_cover_reference_catalogs(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 78 | def test_vendor_profiles_publish_migration_boundaries(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 117 | def test_oss_tables_reference_profile_formats_warehouse_arn(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 137 | def test_cloudflare_reference_profile_uses_catalog_uri_and_warehouse_name(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 152 | def test_vended_profile_requires_catalog_credentials_and_keeps_canonical_path(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 167 | def test_credentials_endpoint_path_uses_encoded_table_identifier(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 182 | def test_table_catalog_endpoint_paths_encode_identifier_components(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 209 | def test_default_maintenance_config_is_safe_for_smoke_runs(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 218 | def test_safe_ref_segment_matches_rustfs_identifier_segment_rules(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 229 | def test_expected_error_helper_returns_matching_rest_error(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 244 | def test_expected_error_helper_rejects_wrong_status_or_success(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 262 | def test_current_snapshot_id_is_read_from_rest_load_table_response(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 273 | def test_metadata_location_probe_rejects_pointer_mismatch(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 288 | def test_view_probe_drops_smoke_view_after_load_failure(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 317 | def test_maintenance_probe_rejects_unknown_worker_status(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 359 | def test_catalog_api_probe_exercises_extended_rest_surfaces(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 455 | def test_table_ref_probe_force_deletes_smoke_ref_after_validation_failure(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 577 | def test_run_smoke_probes_extended_catalog_apis_by_default(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 587 | def test_run_smoke_can_skip_extended_catalog_api_probes(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 605 | def test_run_smoke_vended_credential_flow_still_runs_catalog_api_probes(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 625 | def test_smoke_view_request_uses_stable_iceberg_view_shape(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 636 | def test_catalog_properties_can_use_vended_storage_credentials(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 666 | def test_empty_vended_credentials_response_is_rejected(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 670 | def test_storage_credential_prefix_parses_bucket_and_key_prefix(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 694 | def test_storage_credential_prefix_rejects_bucket_scope(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 707 | def test_table_warehouse_location_is_read_from_table_metadata(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 716 | def test_scope_probe_keys_are_inside_and_outside_the_vended_prefix(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 745 | def test_data_plane_scope_probe_requires_inside_access_and_outside_denial(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 844 | def test_unsupported_inventory_names_stable_boundaries(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 859 | def test_production_readiness_inventory_tracks_catalog_backing(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 872 | def test_print_engine_compatibility_outputs_machine_readable_matrix(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 885 | def test_print_production_failure_coverage_outputs_machine_readable_matrix(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 898 | def test_print_vendor_profiles_outputs_migration_boundaries(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 917 | def test_pyiceberg_live_evidence_record_uses_runtime_smoke_result(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 956 | def test_live_evidence_command_redacts_cli_secrets(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 977 | def test_print_vendor_profiles_renders_selected_aws_profile(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 1003 | def test_published_table_catalog_docs_do_not_use_internal_roadmap_labels(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_failure_coverage.py | 15 | def test_matrix_tracks_production_failure_boundaries_without_overclaiming(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_failure_coverage.py | 34 | def test_failure_probe_plan_generates_rest_negative_steps(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_failure_coverage.py | 61 | def test_cli_prints_failure_matrix_and_probe_plan(self) -> None: | CODE |
| LOW | scripts/table-catalog/test_failure_coverage.py | 90 | def test_disaster_recovery_rehearsal_plan_covers_operator_recovery_path(self) -> None: | CODE |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | crates/s3select-api/src/query/session.rs | 90 | let data_bytes: Vec<u8> = if context.input.request.input_serialization.parquet.is_some() { | CODE |
| CRITICAL | crates/s3select-api/src/query/session.rs | 92 | } else if context.input.request.input_serialization.json.is_some() { | CODE |
| CRITICAL | crates/s3select-query/src/dispatcher/manager.rs | 167 | if self.input.request.input_serialization.parquet.is_some() { | CODE |
| CRITICAL | crates/s3select-query/src/dispatcher/manager.rs | 179 | if let Some(csv) = self.input.request.input_serialization.csv.as_ref() { | CODE |
| CRITICAL | crates/s3select-query/src/dispatcher/manager.rs | 229 | } else if self.input.request.input_serialization.json.is_some() { | CODE |
| CRITICAL | crates/protocols/src/sftp/driver.rs | 1038 | let access_key = self.session_context.principal.user_identity.credentials.access_key.clone(); | CODE |
| CRITICAL | crates/protocols/src/sftp/driver.rs | 1039 | let secret_key = self.session_context.principal.user_identity.credentials.secret_key.clone(); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .config/nextest.toml | 75 | # * An entry stays until the issue is fixed (test made robust) or the test is | COMMENT |
| MEDIUM | crates/ecstore/src/disk/os.rs | 76 | /// their own unique tempdir to stay robust against parallel test execution. | COMMENT |
| MEDIUM | crates/ecstore/src/disk/local.rs | 14817 | #[ignore = "benchmark harness, run explicitly in release mode"] | COMMENT |
| MEDIUM | crates/ecstore/src/services/tier/tier.rs | 769 | // and to stay robust regardless of the uppercase gate above. | COMMENT |
| MEDIUM | scripts/run_hotpath_warp_ab.sh | 17 | # config between phases. This maps onto the team's ansible harness | COMMENT |
| MEDIUM | scripts/run_object_data_cache_bench.sh | 4 | # Dedicated GET benchmark harness for the object data cache rollout gate. | 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 | 1424 | except Exception as err: # noqa: BLE001 - shell harness reports the failure in status files. | CODE |
| MEDIUM | scripts/run_object_batch_bench_enhanced.sh | 657 | except Exception as err: # noqa: BLE001 - shell harness reports failures in status files. | CODE |
| MEDIUM | scripts/run_ecstore_validation_suite.sh | 555 | # Deterministic rename_data crash-consistency harness (rustfs/backlog#935 | 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 | 68 | # Compatibility default for the s3-tests harness: | COMMENT |
| MEDIUM | .github/workflows/fuzz.yml | 20 | # PR trigger is intentionally narrow: only changes to the fuzz harness | COMMENT |
| MEDIUM⚡ | .github/workflows/fuzz.yml | 67 | # Phase 1: Build all fuzz harness binaries once. | COMMENT |
| MEDIUM | .github/workflows/e2e-s3tests.yml | 34 | # AND a Python toolchain with pip (for awscurl/tox and the pytest harness). | COMMENT |
| 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 | 103 | /// # Return value | COMMENT |
| LOW | crates/notify/src/global.rs | 145 | /// # Return value | COMMENT |
| LOW | crates/notify/src/global.rs | 189 | /// # Return value | COMMENT |
| LOW | crates/notify/src/global.rs | 222 | /// # Return value | COMMENT |
| LOW | scripts/run_e2e_tests.sh | 87 | # Set trap to cleanup on exit | COMMENT |
| LOW | scripts/run_e2e_tests.sh | 153 | # 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 | 215 | # Set TESTEXPR to override this with a custom pytest -k expression. | COMMENT |
| LOW | scripts/s3-tests/run.sh | 453 | # Check if we should skip compilation | COMMENT |
| LOW | scripts/s3-tests/run.sh | 608 | # Check if log file indicates server is started (most reliable method) | COMMENT |
| LOW | scripts/s3-tests/run.sh | 693 | # Check if server is still running | COMMENT |
| LOW | scripts/s3-tests/run.sh | 773 | # Check if template exists | COMMENT |
| LOW | .github/workflows/docker.yml | 73 | # Check if we should build Docker images. | COMMENT |
| LOW | .github/workflows/docker.yml | 117 | # Check if the triggering workflow was successful | COMMENT |
| LOW | .github/workflows/docker.yml | 141 | # Check if this was triggered by a tag push | COMMENT |
| LOW | .github/workflows/build.yml | 115 | # Check if this is a prerelease | COMMENT |
| LOW | .github/workflows/build.yml | 707 | # Check if release already exists | 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/iam/src/oidc.rs | 1844 | claims.insert("email".to_string(), serde_json::json!("user@example.com")); | CODE |
| LOW | crates/iam/src/oidc.rs | 1847 | assert_eq!(extract_string_claim(&claims, "email"), "user@example.com"); | CODE |
| LOW | crates/iam/src/oidc.rs | 1969 | let payload = r#"{"sub":"user123","email":"user@example.com"}"#; | CODE |
| LOW | crates/iam/src/oidc.rs | 1975 | assert_eq!(claims.get("email").and_then(|v| v.as_str()), Some("user@example.com")); | CODE |
| LOW | crates/iam/src/oidc.rs | 2305 | email: "user@example.com".to_string(), | CODE |
| LOW | crates/iam/src/oidc.rs | 2330 | email: "user@example.com".to_string(), | CODE |
| LOW | crates/iam/src/oidc.rs | 2343 | assert_eq!(deserialized.email, "user@example.com"); | CODE |
| LOW | crates/iam/src/oidc.rs | 2729 | email: "user@example.com".to_string(), | CODE |
| LOW | crates/iam/src/utils.rs | 205 | sub: "user@example.com".to_string(), | CODE |
| LOW | crates/s3select-query/src/sql/parser.rs | 344 | let sql = "SELECT * FROM S3Object WHERE name = 'John Doe' AND department = 'IT'"; | CODE |
| LOW | rustfs/src/auth.rs | 1816 | let result = check_key_valid("dummy-token", "keystone:user123").await; | CODE |
| LOW | rustfs/src/storage/sse.rs | 4176 | let fake_key = [99u8; 32]; | CODE |
| LOW | rustfs/src/storage/sse.rs | 4177 | let fake_key_b64 = BASE64_STANDARD.encode(fake_key); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/run_get_codec_streaming_smoke.sh | 1424 | except Exception as err: # noqa: BLE001 - shell harness reports the failure in status files. | CODE |
| LOW | scripts/run_object_batch_bench_enhanced.sh | 657 | except Exception as err: # noqa: BLE001 - shell harness reports failures in status files. | CODE |
| LOW | …ripts/security/generate_release_supply_chain_assets.py | 204 | except Exception as exc: | CODE |
| LOW | scripts/table-catalog/pyiceberg_smoke.py | 828 | except Exception as cleanup_error: | CODE |
| LOW | scripts/table-catalog/pyiceberg_smoke.py | 848 | except Exception as cleanup_error: | CODE |
| LOW⚡ | scripts/table-catalog/pyiceberg_smoke.py | 1044 | except Exception: | CODE |
| LOW⚡ | scripts/table-catalog/pyiceberg_smoke.py | 1054 | except Exception as error: | CODE |
| LOW⚡ | scripts/table-catalog/pyiceberg_smoke.py | 1061 | except Exception as error: | CODE |
| LOW⚡ | scripts/table-catalog/pyiceberg_smoke.py | 1075 | except Exception as error: | CODE |
| LOW | scripts/table-catalog/pyiceberg_smoke.py | 1387 | except Exception as error: | CODE |
| LOW | scripts/s3-tests/run.sh | 114 | except Exception as exc: | CODE |
| LOW | scripts/s3-tests/compare_dual_targets.py | 411 | except Exception as exc: # noqa: BLE001 | 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/analyze_put_service_metrics_deltas.py | 4 | CODE | |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.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_engine_compatibility.py | 4 | CODE | |
| LOW | scripts/s3-tests/report_compat.py | 28 | CODE | |
| LOW | scripts/s3-tests/api_coverage.py | 29 | CODE | |
| LOW | scripts/s3-tests/compare_dual_targets.py | 4 | CODE | |
| LOW | scripts/s3-tests/compare_dual_targets.py | 20 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .agents/skills/rustfs-logging-governance/SKILL.md | 70 | ### 6. Update guardrails when needed | COMMENT |
| MEDIUM | scripts/run_object_data_cache_bench.sh | 7 | # RustFS lifecycle and warp orchestration, then adds object-cache-specific | COMMENT |
| MEDIUM | scripts/run_get_codec_streaming_smoke.sh | 6 | # This script intentionally keeps the benchmark orchestration thin: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/stress-test-get-optimization.sh | 183 | # Create a test object | COMMENT |
| MEDIUM | .github/workflows/build.yml | 484 | # Create the zip package | COMMENT |
| MEDIUM | .github/workflows/build.yml | 730 | # Create the release | 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/analyze_put_service_metrics_deltas.py | 139 | CODE | |
| LOW | scripts/table-catalog/test_pyiceberg_smoke.py | 485 | CODE | |
| LOW | scripts/table-catalog/test_failure_coverage.py | 248 | CODE | |
| LOW | scripts/table-catalog/pyiceberg_smoke.py | 1102 | CODE | |
| LOW | scripts/s3-tests/report_compat.py | 64 | CODE | |
| LOW | scripts/s3-tests/report_compat.py | 103 | CODE | |
| LOW | scripts/s3-tests/api_coverage.py | 71 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/heal/src/heal/storage.rs | 867 | // TODO: implement disk status check using ecstore | COMMENT |
| LOW⚡ | …tes/e2e_test/src/kms/bucket_default_encryption_test.rs | 146 | // 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 |
| LOW | crates/protocols/src/swift/container.rs | 435 | object_count: 0, // TODO: implement object counting in backend | CODE |
| LOW | crates/protocols/src/swift/container.rs | 436 | bytes_used: 0, // TODO: implement size aggregation in backend | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ker/observability/docker-compose-tempo-ha-override.yml | 17 | # Usage: | COMMENT |
| LOW | crates/targets/src/target/mod.rs | 401 | /// Example usage: | COMMENT |
| LOW | scripts/check_migration_gate_count.sh | 27 | # Usage: | COMMENT |
| 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/table-catalog/engine_compatibility.py | 1370 | CODE |