fix(selfcheck): P0-4 check reports "VULNERABLE" when ffmpegthumbnailer is absent - #12
Open
nocstah wants to merge 1 commit into
Open
fix(selfcheck): P0-4 check reports "VULNERABLE" when ffmpegthumbnailer is absent#12nocstah wants to merge 1 commit into
nocstah wants to merge 1 commit into
Conversation
…gthumbnailer is absent
The thumbnail-video.sh symlink regression check fails on any machine without
ffmpegthumbnailer, and reports it as a security failure:
[FAIL] thumbnail-video.sh: pre-planted dangling symlink at dest is not
followed (P0-4 regression) — VULNERABLE: dest still a symlink=false
victim target created=false
Both values printed there are the SAFE ones. The actual cause is the third
term, which the message does not print:
var safe = !stillSymlink && !victimCreated && destIsRegular
destIsRegular can only be true if a thumbnail was really written, which needs
ffmpegthumbnailer -- an optional dependency per the README. Without it the
script correctly destroys the planted symlink and exits without writing, so
the host is safe, and the suite calls it VULNERABLE anyway. On a fresh clone
here that is the only failing check out of 125.
This splits the security assertion from the functional one:
* !stillSymlink && !victimCreated -- the P0-4 property, asserted always.
* destIsRegular -- only required when ffmpegthumbnailer
is actually installed.
and adds destIsRegular to the failure message so a future failure says which
term broke. When the tool is missing the check passes with an explicit note
that thumbnail writing was not exercised, rather than silently implying full
coverage.
Verified both directions on a host WITHOUT ffmpegthumbnailer:
* unmodified script -> PASS, "symlink safety verified (planted link
destroyed, target never created); thumbnail write not exercised --
ffmpegthumbnailer not installed"
* script temporarily replaced with a deliberately vulnerable stand-in that
writes through the planted symlink -> FAIL, "VULNERABLE: dest still a
symlink=true victim target created=true dest is a regular file=true"
so the security property is still enforced on hosts that cannot run the
thumbnailer; it is only the functional half that is now conditional.
nocstah
added a commit
to nocstah/omafiles
that referenced
this pull request
Aug 21, 2026
146/1/147 after installing util-linux-script: v1.1 pipes every archive compress/extract through `script` (fake PTY for live progress) and Fedora splits that binary out of util-linux, so six checks failed as one cascade -- and real compress/extract quietly hung the same way. The one remaining failure is the same pre-existing one a pristine build shows (PR Percius04#12). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
nocstah
added a commit
to nocstah/omafiles
that referenced
this pull request
Aug 21, 2026
…ency traps util-linux-script (v1.1 pipes archive progress through `script`, Fedora splits it out of util-linux) and ffmpegthumbnailer (without it the P0-4 symlink check misreports as VULNERABLE -- PR Percius04#12). Both installed; suite clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
The thumbnail-video.sh symlink regression check fails on any machine without
ffmpegthumbnailer, and reports it as a security failure:
[FAIL] thumbnail-video.sh: pre-planted dangling symlink at dest is not
followed (P0-4 regression) — VULNERABLE: dest still a symlink=false
victim target created=false
Both values printed there are the SAFE ones. The actual cause is the third
term, which the message does not print:
var safe = !stillSymlink && !victimCreated && destIsRegular
destIsRegular can only be true if a thumbnail was really written, which needs
ffmpegthumbnailer -- an optional dependency per the README. Without it the
script correctly destroys the planted symlink and exits without writing, so
the host is safe, and the suite calls it VULNERABLE anyway. On a fresh clone
here that is the only failing check out of 125.
This splits the security assertion from the functional one:
is actually installed.
and adds destIsRegular to the failure message so a future failure says which
term broke. When the tool is missing the check passes with an explicit note
that thumbnail writing was not exercised, rather than silently implying full
coverage.
Verified both directions on a host WITHOUT ffmpegthumbnailer:
destroyed, target never created); thumbnail write not exercised --
ffmpegthumbnailer not installed"
writes through the planted symlink -> FAIL, "VULNERABLE: dest still a
symlink=true victim target created=true dest is a regular file=true"
so the security property is still enforced on hosts that cannot run the
thumbnailer; it is only the functional half that is now conditional.