Comment Re:How is this possible? (Score 5, Informative) 55
According to the writeup; there are two methods: it is possible for an extension to mark some parts of itself as 'web accessible'; and linkedin has assembled at least one characteristic file for 6,1000-odd extension IDs and attempts to fetch it to confirm/deny the extension's presence.
The other is based on the fact that the whole point of many extensions is to modify the site in some way; but the site normally has largely unfettered access to inspect itself, so they have theirs set up to walk the entire DOM looking for any references to "chrome-extension://" and snagging the IDs if found.
Not exactly a 'declare installed extensions'; but it looks like, out of some combination of supporting the use cases where an extension and page actively interact by design and either not wanting the possibility or not wanting the complexity of trying to enable 'invisible' edits(presumably some sort of 'shadow' DOM mechanism where as far as the site and everything delivered with it knows only its unedited DOM and resources exist; but the one the user sees is an extension-modified copy of that one, which sounds like it could get messy), inferential attacks are fairly easy and powerful.
The other is based on the fact that the whole point of many extensions is to modify the site in some way; but the site normally has largely unfettered access to inspect itself, so they have theirs set up to walk the entire DOM looking for any references to "chrome-extension://" and snagging the IDs if found.
Not exactly a 'declare installed extensions'; but it looks like, out of some combination of supporting the use cases where an extension and page actively interact by design and either not wanting the possibility or not wanting the complexity of trying to enable 'invisible' edits(presumably some sort of 'shadow' DOM mechanism where as far as the site and everything delivered with it knows only its unedited DOM and resources exist; but the one the user sees is an extension-modified copy of that one, which sounds like it could get messy), inferential attacks are fairly easy and powerful.