Repository navigation
fix: address the findings of the M1.2 milestone audit - #3647
Merged
Merged
Conversation
jpraynaud
force-pushed
the
jpraynaud/3646-fix-audit-findings-m1.2
branch
from
October 23, 2026 16:28
1a96494 to
ea036e8
Compare
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Two critical credential-disclosure findings and one error-handling issue remain unresolved.
3 open issues
What changed in this PR
This pull request addresses M1.2 audit findings for Cardano database artifacts on IPFS by validating Kubo RPC endpoints, improving diagnostics, and making e2e work-directory setup recursive.
Changes:
- Added cached Kubo
/api/v0/versionchecks for client downloads and aggregator startup. - Improved IPFS availability errors, unstable-command messaging, and startup warnings.
- Updated e2e work-directory creation to create missing parent directories and report failures.
| File | Summary | Review findings |
|---|---|---|
mithril-test-lab/mithril-end-to-end/src/main.rs |
Creates missing work-directory parents and adds coverage for nested paths. | Nit: Avoid terminating through panic!; return a contextual error and propagate it instead. (3 votes) |
mithril-client/src/file_downloader/ipfs.rs |
Validates and caches the Kubo RPC API check before downloading IPFS files. | Critical: Raw reqwest::Error formatting can expose credentials embedded in the request URL; use a redacted or generic error. (3 votes) |
mithril-client-cli/src/commands/cardano_db/download/v2.rs |
Names both IPFS configuration mechanisms in the unstable-command error. | No additional findings. |
mithril-aggregator/src/tools/kubo_rpc_client/query/mod.rs |
Exposes the new Kubo version query. | No additional findings. |
mithril-aggregator/src/tools/kubo_rpc_client/query/ipfs_version.rs |
Implements and tests the Kubo /api/v0/version query. |
No additional findings. |
mithril-aggregator/src/file_uploaders/ipfs_uploader.rs |
Adds backend availability checks and uploader support. | Critical: Raw startup error logging can expose credentials embedded in the Kubo endpoint URL; log a sanitized or generic availability failure. (2 votes) |
mithril-aggregator/src/dependency_injection/builder/protocol/artifacts.rs |
Runs the IPFS availability check while building the immutable-file uploader. | No additional findings. |
Review effort: Lite
jpraynaud
force-pushed
the
jpraynaud/3646-fix-audit-findings-m1.2
branch
from
October 23, 2026 17:51
ea036e8 to
091430c
Compare
jpraynaud
marked this pull request as ready for review
October 23, 2026 17:57
jpraynaud
requested review from
Alenar,
damrobi and
turmelclem
as code owners
October 23, 2026 17:57
jpraynaud
force-pushed
the
jpraynaud/3646-fix-audit-findings-m1.2
branch
from
October 26, 2026 08:22
0ffdb9a to
091430c
Compare
jpraynaud
marked this pull request as draft
October 26, 2026 08:23
jpraynaud
marked this pull request as ready for review
October 26, 2026 09:24
Alenar
reviewed
Oct 26, 2026
… is not a Kubo RPC API
A URL that is not a Kubo RPC API, such as a public gateway, now makes the client builder skip the IPFS locations.
Add a Kubo version query and warn when the configured Kubo RPC API does not answer.
* mithril-aggregator from `0.10.25` to `0.10.26` * mithril-client-cli from `0.13.30` to `0.13.31` * mithril-client from `0.14.35` to `0.14.36` * mithril-end-to-end from `0.5.29` to `0.5.30`
jpraynaud
force-pushed
the
jpraynaud/3646-fix-audit-findings-m1.2
branch
from
October 27, 2026 13:59
091430c to
b547fde
Compare
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Content
This PR includes fixes for the observations of the M1.2 milestone audit (Cardano database artifacts on IPFS):
api/v0/version), and mark the IPFS downloader unreachable with a message that names the URL when it does not--ipfs-rpc-urland theIPFS_RPC_URLenvironment variable in the client--unstablerefusal for an IPFS downloadPre-submit checklist
Issue(s)
Closes #3646