summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ai-validation.yml10
1 files changed, 8 insertions, 2 deletions
diff --git a/.github/workflows/ai-validation.yml b/.github/workflows/ai-validation.yml
index 3d77ec08..425644f1 100644
--- a/.github/workflows/ai-validation.yml
+++ b/.github/workflows/ai-validation.yml
@@ -110,8 +110,14 @@ jobs:
|| "$path" == "../"* \
|| "$path" == *"/.." \
|| "$path" == ".." ]]; then
- echo "::warning::Skipping unsafe path with traversal/absolute prefix: $path"
- continue
+ # Fail-fast (don't `continue`) so an unsafe path can't silently
+ # bypass Pass 1 (no file copied into _changed_md/) and Pass 2
+ # (LLM tools see no content) — same reasoning as the non-regular
+ # tree-entry check below: maintainers must explicitly decide to
+ # land such a path. Visible failure > silent skip on inputs that
+ # warrant the closest look.
+ echo "::error::Refusing to bundle: path has traversal/absolute prefix: $path"
+ exit 1
fi
# Refuse to bundle non-regular tree entries (symlinks mode 120000,
# submodules 160000, etc). Skipping silently would let a PR that