What changed, and why it matters
This commit only adds a new automated testing job to Bitcoin Core's continuous integration (CI) pipeline. It runs the existing fuzz tests under MemorySanitizer (MSan), a tool that detects use of uninitialized memory. The change does not modify Bitcoin Core's actual source code, network behavior, or wallet logic, so it cannot directly introduce or fix a security vulnerability in the software users run.
No security action required. Reviewers may optionally verify that the referenced environment script 00_setup_env_native_fuzz_with_msan.sh exists and is configured correctly, but that is outside the scope of this commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff adds a ‘MSan, fuzz’ matrix entry to .github/workflows/ci.yml, pointing to ./ci/test/00_setup_env_native_fuzz_with_msan.sh, and extends the vm.mmap_rnd_bits sysctl adjustment to also cover the new ci_native_fuzz_msan container. This is purely a CI/infrastructure change enabling an additional sanitizer-fuzzing job with a 150-minute timeout. No product code is changed.
Changed components
.github/workflows/ci.ymlInspect captured patch +7 / −1
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 0b9e5855..cc04799f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -533,6 +533,12 @@ jobs:
timeout-minutes: 120
file-env: './ci/test/00_setup_env_native_tsan.sh'
+ - name: 'MSan, fuzz'
+ cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md'
+ fallback-runner: 'ubuntu-24.04'
+ timeout-minutes: 150
+ file-env: './ci/test/00_setup_env_native_fuzz_with_msan.sh'
+
- name: 'MSan, depends'
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-lg'
fallback-runner: 'ubuntu-24.04'
@@ -561,7 +567,7 @@ jobs:
run: sed -i "s|\${INSTALL_BCC_TRACING_TOOLS}|true|g" ./ci/test/00_setup_env_native_asan.sh
- name: Set mmap_rnd_bits
- if: ${{ env.CONTAINER_NAME == 'ci_native_tsan' || env.CONTAINER_NAME == 'ci_native_msan' }}
+ if: ${{ env.CONTAINER_NAME == 'ci_native_tsan' || env.CONTAINER_NAME == 'ci_native_msan' || env.CONTAINER_NAME == 'ci_native_fuzz_msan' }}
# Prevents crashes due to high ASLR entropy
run: sudo sysctl -w vm.mmap_rnd_bits=28
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.