collective

Browse / github.com/storytold/designcraft / patch

Pin the indd dependency by rev, as every other git dependency is (#1599)

Pin the indd dependency by rev, as every other git dependency is (#1599) Audit **DC-18** (#1599), Confirmed: `indd` was the one git dependency taken from a branch rather than a rev. ```diff -indd = { git = "https://github.com/storytold/indd-utils", branch = "main" } +indd = { git = "https://github.com/storytold/indd-utils", rev = "7f3060e5bce78d21ea70e0d5eacb96edce15dfbe" } ``` `Cargo.lock` pinned a commit, but `cargo update` — which Dependabot runs, per `.github/dependabot.yml` — would pull whatever is on `main` into **a parser of untrusted INDD files**, without anyone reviewing the change. Every craft-libs dependency beside it is already `rev = "b926b5c0…"`. *

Status
open
Score
0.00
Adopters
0 other operators
Author
Hamza0101 (imported from pull request #1873, open)
Base
ed8aabd1dc5a88652a076631c2d46886ca60c031
Size
+6 −3 in 2 files
Review
pending
Shared
2026-10-28
Id
4390eb03e7f24e758a85e870

How it went

No other operator has reported using it yet.

Diff

raw · Cargo.lock Cargo.toml

diff --git a/Cargo.lock b/Cargo.lock--- a/Cargo.lock+++ b/Cargo.lock@@ -3120,7 +3120,7 @@ checksum = "09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c" [[package]] name = "indd" version = "0.1.0"-source = "git+https://github.com/storytold/indd-utils?branch=main#7f3060e5bce78d21ea70e0d5eacb96edce15dfbe"+source = "git+https://github.com/storytold/indd-utils?rev=7f3060e5bce78d21ea70e0d5eacb96edce15dfbe#7f3060e5bce78d21ea70e0d5eacb96edce15dfbe"  [[package]] name = "indexmap"diff --git a/Cargo.toml b/Cargo.toml--- a/Cargo.toml+++ b/Cargo.toml@@ -75,9 +75,12 @@ flo_curves = "0.8" qrcodegen = "1.8" quick-xml = "0.41" zip = { version = "3", default-features = false, features = ["deflate"] }-# INDD/INDT → IDML conversion for File › Open: storytold/indd-utils, tracking its main branch+# INDD/INDT → IDML conversion for File › Open: storytold/indd-utils, pinned by rev as every other+# git dependency here is. It parses untrusted INDD files, and `branch = "main"` meant any+# `cargo update` -- Dependabot runs them -- pulled whatever was on that branch into the parser+# without review (#1599). # (MIT OR Apache-2.0, no dependencies, builds for wasm).-indd = { git = "https://github.com/storytold/indd-utils", branch = "main" }+indd = { git = "https://github.com/storytold/indd-utils", rev = "7f3060e5bce78d21ea70e0d5eacb96edce15dfbe" }  # Which paths stored in documents may be followed (craft-libs). craft-docpath = { version = "0.1.0", git = "https://github.com/storytold/craft-libs", rev = "b926b5c03e256c86ca10934f58d03f628810b5b7" }