Summary
Analysis of current UI5 CodeQL modeling identified gaps in framework component coverage and query patterns. This issue tracks enhancements to improve detection of insecure UI5 patterns.
Identified Gaps
Navigation & Routing
Messaging & Events
Data Models & Binding
Controls & Components
Security-Specific
Storage & Persistence
Exclusions
Work already completed or in progress:
Implementation Notes
Following PR #258 pattern:
- Add types to
ext/ui5.model.yml for new framework APIs
- Extend
lib/.../FlowSteps.qll and lib/.../TypeTrackers.qll as needed
- Create test cases in
test/models/ and test/queries/ with both positive and negative examples
- Document in change notes following
src/change-notes/*.md format
References
- Agent:
.github/agents/javascript-ui5-modeling-agent.md
- Instructions:
.github/instructions/javascript_ui5_ql.instructions.md
- Prompts:
.github/prompts/ui5_framework_development.prompt.md
Summary
Analysis of current UI5 CodeQL modeling identified gaps in framework component coverage and query patterns. This issue tracks enhancements to improve detection of insecure UI5 patterns.
Identified Gaps
Navigation & Routing
NavContainer.to,NavContainer.back)sap.ui.core.routing.HashChangerparameter extractionattachRouteMatchedMessaging & Events
MessageBox.showcallbacks not modeled as event handlersfireEvent/attachEventpatterns incompleteData Models & Binding
sap.ui.model.Filternot tracked as potential injection vectors{= ... }) parsing incompleteControls & Components
Fragment.loaddynamic content not trackedComponentContainerincompletesap.ui.complibrary controls (SmartTable, SmartForm, etc.) not modeledSecurity-Specific
Storage & Persistence
jQuery.sap.storage.Type.sessionnot distinguished from local storageExclusions
Work already completed or in progress:
sap/ui/core/EventBus#258 - open)sanitizeContentattribute (Ensure sanitizeContent attribute is respected #257 - open)UI5BindingPath.getNode/0, fix UI5 AMD module inheritance #248 - draft)Implementation Notes
Following PR #258 pattern:
ext/ui5.model.ymlfor new framework APIslib/.../FlowSteps.qllandlib/.../TypeTrackers.qllas neededtest/models/andtest/queries/with both positive and negative examplessrc/change-notes/*.mdformatReferences
.github/agents/javascript-ui5-modeling-agent.md.github/instructions/javascript_ui5_ql.instructions.md.github/prompts/ui5_framework_development.prompt.md