Skip to content

WIP: Add LWS threat model document - #202

Open
renyuneyun wants to merge 11 commits into
w3c:mainfrom
renyuneyun:threat-model
Open

WIP: Add LWS threat model document#202
renyuneyun wants to merge 11 commits into
w3c:mainfrom
renyuneyun:threat-model

Conversation

@renyuneyun

@renyuneyun renyuneyun commented Jul 17, 2026

Copy link
Copy Markdown

Work In Progress
Creating this PR to get discussion going.

[preview]

Info

Initial threat model covering three threats:

  • T1: Injected Identity Providers
  • T2: Impersonation Through Credentials
  • T3: Client ID Impersonation

More to be added.

Question

Based on the respec-threats rendering library (Apache 2.0). Does that have any copyright issues with LWS Spec when it comes to maturity?

@renyuneyun renyuneyun mentioned this pull request Jul 17, 2026
1 task
@elf-pavlik

elf-pavlik commented Jul 17, 2026

Copy link
Copy Markdown
Member

Awesome @renyuneyun 🎉

I'm going to add few more things to this PR branch tomorrow. @acoburn can we allocate 5 min on Monday to introduce this work during the WG call? We could also use some pointers to how PR previews are setup for this repo.

Based on the respec-threats rendering library (Apache 2.0). Does that have any copyright issues with LWS Spec when it comes to maturity?

That lib/template already has an issue to track it moving to W3C github org

Comment thread threat-model/index.html Outdated
Data Flow Diagram for LWS Threat Model
</h3>
<figure id="lws-threat-model">
<img height="1890" src="minimalist-web-threat-model.png"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@acoburn

acoburn commented Jul 17, 2026

Copy link
Copy Markdown
Member

A preview of this document is at https://htmlpreview.github.io/?https://github.com/renyuneyun/lws-protocol/blob/threat-model/threat-model/index.html

We will want to adjust the formatting to bring it in line with W3C conventions

@renyuneyun

renyuneyun commented Jul 18, 2026

Copy link
Copy Markdown
Author

A preview of this document is at ...

Thanks @acoburn for having the preview. But... It appears the preview only included the html, without css and js? That leads to incorrect rendering, and incomplete content (of the threats, which are based on js).

@elf-pavlik

elf-pavlik commented Jul 18, 2026

Copy link
Copy Markdown
Member

This one seems to work better: https://raw.githack.com/renyuneyun/lws-protocol/threat-model/threat-model/index.html
@renyuneyun can you please add it to the original description for at the top?

@elf-pavlik

Copy link
Copy Markdown
Member

If, on Monday, we merge

I'll rebase this PR to reuse the same LikeC4 model and after few updates we could try to vote on this one the following week.

Comment thread threat-model/index.html
<p class="note" role="note"><span class="marker">note:</span>We
do NOT model potential attackers, as over-characterizing
attackers can lead to analysis bias that is better avoided.</p>
did not yet model potential attackers apart from the actors already existed,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
did not yet model potential attackers apart from the actors already existed,
did not yet model potential attackers apart from the actors that already existed,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @TallTed, I will double check if we plan to keep that note before applying your suggestion.
The original text comes from this template https://github.com/LegReq/respec-threats/blob/5dd39f65e54221af9dab9a87d635d8cf536c20e9/index.html#L131-L133

name: "CID and Environment Verification (from User Authorization Server)",
type: "Reduce",
desc: "The User Authorization Server verifies the identity of the Client, by checking the environmental information (e.g. redirect URL, Origin) of the Client matches those specified in the Client CID Document.",
desc: "The User Authorization Server verifies the identity of the Client, by checking the environmental information (e.g. redirect URL) of the Client matches those specified in the Client CID Document. This ensures that the response that the User Authorization Server sends is to a location trusted by the claimed Client CID Document. As long as those specified locations are not compromised, there will not be impersonations.",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
desc: "The User Authorization Server verifies the identity of the Client, by checking the environmental information (e.g. redirect URL) of the Client matches those specified in the Client CID Document. This ensures that the response that the User Authorization Server sends is to a location trusted by the claimed Client CID Document. As long as those specified locations are not compromised, there will not be impersonations.",
desc: "The User Authorization Server verifies the identity of the Client, by checking the environmental information (e.g., redirect URL) of the Client matches those specified in the Client CID Document. This ensures that the response sent by the User Authorization Server is to a location trusted by the claimed Client CID Document. As long as those specified locations are not compromised, there will be no impersonations.",

@w3cbot

w3cbot commented Jul 27, 2026

Copy link
Copy Markdown

This was discussed during the #lws meeting on 27 July 2026.

View the transcript

Discussion: Add Threat Model document PR#202

<ericP> elf-pavlik: since we want to model on top of 159, we're not ready to merge 202

<ericP> ... i will rebase on top of 159

<ericP> PROPOSED: Add Threat Model document PR#202

<gb> Issue 202 not found

ericP: anyone thinks they will vote agains?

TallTed: given it wasn't on agenda as a vote I'll rather push that

ericP: anything more to dicuss on it today?

<ericP> elf-pavlik: nope, just everyone take a look (before monday morning)


renyuneyun and others added 11 commits July 30, 2026 19:25
Initial threat model covering three threats:
- T1: Injected Identity Providers
- T2: Impersonation Through Credentials
- T3: Client ID Impersonation

Based on the respec-threats rendering library (Apache 2.0).
- T2: changed affected elements to P3, P4, P5
- T3: revised threat description and responses, changed elements to P3, P2
@elf-pavlik

Copy link
Copy Markdown
Member

Latest version extends C4 from

By adding a threat-model view and preserving exactly the same fig-container-diagram view as the one rendered as svg and included in the core spec.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants