#1651

feat(skills): improve DoubleClickjacking detection and coverage

Opentheo-at-strixwants to merge intofrom

Summary

Improve Strix's coverage of clickjacking, UI redressing, and cross-window DoubleClickjacking.

This PR:

  • Adds explicit clickjacking and UI-redressing guidance to browser_security.
  • Requires testing both iframe and cross-window/popup paths because framing protections only close iframe coverage.
  • Requires two real browser clicks and traces focus, geometry, navigation, timing, and the resulting sensitive action.
  • Requires a repeatable server-side effect and negative controls before reporting a finding.
  • Keeps inconclusive paths as needs_follow_up when popup geometry, OS-level input, or the exact click sequence cannot be tested.
  • Prevents popup-as-tab behavior, ignored geometry, or manual control clicks from being treated as counterevidence.
  • Treats a successfully forced consent, approval, or grant as integrity impact while using downstream capability to calibrate severity.
  • Updates root-agent coordination so consequential browser workflows receive both iframe and cross-window coverage.
  • Preserves the existing browser-security coverage for client-side path traversal, XS-Leaks, service workers, Web Workers, drag interactions, and related techniques.

Why

X-Frame-Options and CSP frame-ancestors protect against framed attacks, but they do not prevent top-level navigation, popups, opener relationships, focus changes, or window closing.

Before these changes, Strix could reach a vulnerable cross-window flow but incorrectly close it because the browser rendered the popup as a tab, ignored requested geometry, or because the resulting protected action was idempotent or pre-seeded.

The updated guidance prevents these false-negative closure paths without weakening validation requirements: Strix must still reproduce the sensitive action with real user input and negative controls.

Activity

4
greptile-apps[bot]3d ago

Confidence Score: 4/5

[Medium impact] The PR changes how Strix agents cover sensitive browser workflows.

The PR appears safe to merge, with a non-blocking correction needed to keep single-click and drag proofs valid.

Findings

  1.  Single-click proofs need two targets ▶
Fix with agent prompt
### Issue 1
strix/skills/vulnerabilities/browser_security.md:183
This rule asks every interaction-dependent chain to show “both click targets,” but the same skill supports single-click framed attacks, drags, and worker attacks that need one user gesture. Those working proofs have no second click target, so agents may leave valid findings unconfirmed. Keep the general recording requirement and apply the two-click trace only to DoubleClickjacking.

```suggestion
7. For interaction-dependent chains, provide a screen recording or deterministic event trace showing the required interactions and resulting security effect. For DoubleClickjacking, include both click targets, intermediate context changes, and the resulting sensitive state change.
```

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

This PR adds iframe and cross-window clickjacking checks to browser guidance and root-agent coordination.

  • Browser-security guidance now covers iframe and cross-window redressing.
  • The root agent assigns browser checks to sensitive user workflows.

Reviews (1) · Last reviewed commit: "fix(skills): strengthen DoubleClickjacki..." · Reviewed by Greptile

greptile-apps[bot]reviewed3d ago