Conversation
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/eee60283-9f6f-45a8-8f9e-dd3dadeced25 Co-authored-by: szabta89 <1330202+szabta89@users.noreply.github.com>
… injection channel Agent-Logs-Url: https://github.com/github/gh-aw/sessions/eee60283-9f6f-45a8-8f9e-dd3dadeced25 Co-authored-by: szabta89 <1330202+szabta89@users.noreply.github.com>
|
@copilot render the title as a sub element in the url text to maintain accessibility |
|
@copilot merge main and recompile |
1 similar comment
|
@copilot merge main and recompile |
…tripping them Agent-Logs-Url: https://github.com/github/gh-aw/sessions/fa062553-4504-4953-835a-1ccce3db4f5d Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done in 1dc131d. The function is now
Reference-style definitions ( |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR hardens the text sanitization pipeline by neutralizing Markdown link titles (hover-only tooltips) to eliminate a hidden prompt-injection channel, and updates multiple GitHub Actions workflow lock files.
Changes:
- Added
neutralizeMarkdownLinkTitles()and integrated it intosanitizeContentCore()for non-code regions. - Added a focused test suite covering inline/reference link title forms and code-region preservation.
- Refreshed multiple workflow lock files, including firewall container/AWF version bumps.
Show a summary per file
| File | Description |
|---|---|
| actions/setup/js/sanitize_content_core.cjs | Adds and wires a Markdown link-title neutralization pass into the sanitizer pipeline. |
| actions/setup/js/sanitize_content.test.cjs | Adds tests validating link-title neutralization behavior and code-span/block exclusions. |
| .github/workflows/workflow-generator.lock.yml | Updates pinned workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/video-analyzer.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/test-workflow.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/security-compliance.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/pr-triage-agent.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/plan.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/metrics-collector.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/gpclean.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/github-remote-mcp-auth-test.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/bot-detection.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/ai-moderator.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/ace-editor.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/firewall.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/dev.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/daily-malicious-code-scan.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/copilot-pr-merged-report.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/contribution-check.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/example-permissions-warning.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
| .github/workflows/codex-github-remote-mcp-test.lock.yml | Updates workflow-lock metadata and AWF/firewall container versions. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 62/192 changed files
- Comments generated: 0
…markdown-link-titles Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
🧪 Test Quality Sentinel ReportTest Quality Score: 86/100✅ Excellent test quality
Test Classification DetailsView all 13 test classifications
Flagged Tests — Requires ReviewNone. All 13 tests are behavioral contract tests with explicit Language SupportTests analyzed:
Verdict
📖 Understanding Test ClassificationsDesign Tests (High Value) verify what the system does:
Implementation Tests (Low Value) verify how the system does it:
Goal: Shift toward tests that describe the system's behavioral contract — the promises it makes to its users and collaborators. References: §24514658696
|
Done in 4336623 — merged main and recompiled all 191 workflows successfully.
Done in 4336623 — merged main and recompiled all 191 workflows successfully. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Markdown link titles (
[text](url "TITLE")and[ref]: url "TITLE") are rendered only as hover-tooltips in GitHub UI but pass throughsanitizeContentCore()verbatim — an invisible injection channel structurally equivalent to HTML comments, which are already stripped.Changes
neutralizeMarkdownLinkTitles()insanitize_content_core.cjs: for inline links, moves the quoted title into the visible link text as a parenthesised sub-element (e.g.[text](url "title")→[text (title)](url)), preserving accessibility information while eliminating the hidden channel; for reference-style link definitions (which have no inline display text), the title is strippedapplyToNonCodeRegions()immediately afterremoveXmlComments(), preserving code blocks and inline code spans; runs before mention neutralization so any@mentioninjected inside a title is moved into visible text and then neutralized by the existing mention sanitization stepsanitize_content.test.cjscovering all delimiter forms ("...",'...',(...)), reference-style definitions, code/inline-code preservation, multiple titles, and@mention-in-title injectionBefore / After