aprotyas
WebKit security specialist
Summary
aprotyas works almost entirely on UI-side input handling — the AppKit gesture path spanning WebKit and Platform, covering scroll deceleration interruption, press-and-drag over custom sliders, media controls and `<model>` orbit stages, scrollbar dragging during live scrolls, and transient zoom/magnification state — with a secondary line in test infrastructure (Swift Testing mouse delivery, API waits for synthetic momentum scrolling). The contribution pattern is regression-driven rather than security-driven: the security-flagged commits are themselves REGRESSION fixes in adjacent code (a UI process crash under DisplayLink callbacks for remote layer trees, and broken gesture-driven back/forward swipe), and the recurring failure mode is gesture state desynchronizing from what the page believes is happening — hover state drifting away from the pointer mid-pan, `WKWebView.magnification` reporting the pre-gesture scale while a committed zoom animates. Systematic-variant candidate: the PDF copy-restriction cluster, where edit-menu and context-menu paths on both macOS and iOS independently enabled Copy for documents that disallow copying — a document-permission check reached through several entry points, with at least one test in that area found to be loading no PDF content at all.
Components
Security Fix History
- 2026-08-29 REGRESSION(316606.145@safari-7625-branch): UI process crash under DisplayLink callbacks for RemoteLayerTree DisplayLink ·
- 2026-08-28 REGRESSION(319888@main): [AppKit Gestures] Cannot back/forward navigate with gesture-driven swipe
- 2026-07-01 REGRESSION(298821@main): [iOS] RequestPointerLock IPC twice in succession can produce use-after-free of unretained GCMou ·
- 2026-06-30 Compromised web content processes can use percent-encoded path separators in PDF suggested filenames to write outside te ·
- 2026-05-01 WebPaymentCoordinatorProxy_ShowPaymentUI handles arbitrary untyped image data from WebContent Process
- 2026-03-18 [Site Isolation] UI process crash via unchecked mouse event queue access during DidReceiveEvent IPC handling
Hardening Commits
Recent Commits
- 2026-09-17 [AppKit Gestures] Scrolling, then interrupting, an enclosing scroll view's deceleration follows the link below the mouse
- 2026-09-15 [AppKit Gestures] Cannot mouse drag to resize <textarea>
- 2026-09-15 [AppKit Gestures] Scrollbars cannot be dragged when a scroll is live
- 2026-09-14 REGRESSION(316424@main): [AppKit Gestures] Scrolling, then interrupting, sometimes follows the link below the mouse
- 2026-09-14 Allow API tests to wait for synthetic momentum scrolling to end
- 2026-09-12 [AppKit Gestures] Cannot press and drag over some custom sliders
- 2026-09-11 [AppKit Gestures] Cannot rotate some <model> elements in orbit stage mode by press-and-dragging
- 2026-09-10 WKWebViewEditActions.CopyMenuItemDisabledInCopyDisallowedPDF test does not load any PDF content
- 2026-09-09 [iOS] Edit menu over text selection shows “Copy” option for PDF document that disallows copying
- 2026-09-09 [AppKit Gestures] Hover state can move away from the pointer during pan gesture driven scrolling
- 2026-09-05 [Swift Testing] WebPage.mouseMove(to:) does not deliver mouse moves to the page
- 2026-09-04 [macOS] "Copy" option is enabled in edit menu after selecting text in PDF with copying disallowed
- 2026-09-03 [macOS] Text selection options missing from context menu in PDFs with copying disabled
- 2026-09-03 WebPage::handleContextMenuTranslation() is an unused method
- 2026-09-03 REGRESSION(318278@main): http/tests/websocket/tests/hybi/inspector/before-load.html (layout-tests) is a constant text Fa