Merged
Conversation
- sanitize-sed.sh: add detect_hidden_chars() and validate_ref() (v4)
8 detection categories: BOM, bidi, zero-width, word joiner,
line/para separators, interlinear annotation, broad non-printable
- sanitize.ps1: add Detect-HiddenChars and Validate-Ref (v4)
PowerShell parity with bash detection functions
- ci-pr-action.yml: add ref name validation in PR summary step
Calls detect_hidden_chars on HEAD_REF and BASE_REF
- ci-pr-risk-security-analysis.yml:
- Fix Section 7: detect all write-access permission scopes
(was only matching contents:write, now matches any scope:write)
- Add Section 10: Ref Name Security Validation (bash + PS)
- Renumber Workflow Inventory to Section 11
Addresses GitHub UI warning parity gap where branch names
containing U+FEFF (BOM) were silently stripped by sanitize_line()
but never reported as security findings.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
sanitize-sed.sh was bumped to iccDEV-sanitizer-v4 (added detect_hidden_chars and validate_ref), but test_sanitization.sh Test 58 still expected v3. Aligns test with actual version. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was
linked to
issues
Apr 6, 2026
grep returns exit 1 when no write scopes are found in a workflow permissions block. Under set -euo pipefail, this kills the entire step. Append || true to the pipeline so empty results are handled gracefully (same pattern as governance Finding #8). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ChrisCoxArt
approved these changes
Apr 6, 2026
Section 10: add PR #786 BOM canary check that verifies detect_hidden_chars() is functional before trusting ref validation results. Injects exact U+FEFF pattern from the known-bad branch name. Section 10: add emit_ref_finding() helper with raw hex dump and diagnostic category output. Makes invisible bytes forensically visible in the step summary. Section 6: upgrade unsanitized write listing from bullet list to table with File, Line, and Content columns. Fix: add elements-sanitized marker to Windows Section 10 Out-File write (closes 105/105 gap). Tested: 84/84 pass against xsscx/fuzz full-unicode.txt corpus (5.5MB, all 8 detection categories verified). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.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.
Pull Request Checklist