Fleet versions
- Discovered: 4.90.0-rc.2608041622 (branch
rc-minor-fleet-v4.90.0)
- Reproduced: 4.90.0-rc.2608041622 (branch
rc-minor-fleet-v4.90.0)
Web browser and operating system: Microsoft Edge (default install) running on Windows 11
💥 Actual behavior
The ai_tools table's browser_extension collector flags genuine, first-party browser components as sideloaded_unverified. Confirmed concretely with Microsoft Edge's built-in "Edge Copilot Bridge" feature, which was never sideloaded.
🛠️ Expected behavior
A component with a trusted Chromium location value (Internal or Component) should never be flagged sideloaded_unverified, regardless of its from_webstore value.
🧑💻 Steps to reproduce
These steps:
- On a Windows host with a default Microsoft Edge install (ships with the built-in "Edge Copilot Bridge" feature), query
SELECT name, identifier, risk_flags FROM ai_tools WHERE type='browser_extension' AND name='Edge Copilot Bridge';
- Observe
risk_flags includes sideloaded_unverified.
- Directly inspect the raw entry in Edge's
Secure Preferences file for this extension's id (ndcpkimcihhghdcddljkfmmjccdmcmof): confirm from_webstore: false and location: 5 (Chromium's "Component" location — an explicitly trusted origin).
🕯️ More info (optional)
Root cause: orbit/pkg/table/ai_tools/internal/browserext/risk.go's chromiumSideloaded() checks fromWebstore == 0 first and returns true immediately — it never reaches the subsequent check for a trusted location value (chromiumLocInternal/chromiumLocComponent). Genuine first-party browser components are installed by the browser itself, not through the Web Store, so they will always report from_webstore: false by definition — making the location-based trust exemption the code was clearly designed to support effectively unreachable in practice.
Suggested fix: check location for a trusted value first and return false immediately in that case, before falling through to the fromWebstore check:
func chromiumSideloaded(fromWebstore, location int) bool {
if location == chromiumLocInternal || location == chromiumLocComponent {
return false
}
if fromWebstore == 0 {
return true
}
...
}
Found while QA'ing #47619 (ai_tools fleetd table).
Fleet versions
rc-minor-fleet-v4.90.0)rc-minor-fleet-v4.90.0)Web browser and operating system: Microsoft Edge (default install) running on Windows 11
💥 Actual behavior
The
ai_toolstable'sbrowser_extensioncollector flags genuine, first-party browser components assideloaded_unverified. Confirmed concretely with Microsoft Edge's built-in "Edge Copilot Bridge" feature, which was never sideloaded.🛠️ Expected behavior
A component with a trusted Chromium
locationvalue (Internal or Component) should never be flaggedsideloaded_unverified, regardless of itsfrom_webstorevalue.🧑💻 Steps to reproduce
These steps:
SELECT name, identifier, risk_flags FROM ai_tools WHERE type='browser_extension' AND name='Edge Copilot Bridge';risk_flagsincludessideloaded_unverified.Secure Preferencesfile for this extension's id (ndcpkimcihhghdcddljkfmmjccdmcmof): confirmfrom_webstore: falseandlocation: 5(Chromium's "Component" location — an explicitly trusted origin).🕯️ More info (optional)
Root cause:
orbit/pkg/table/ai_tools/internal/browserext/risk.go'schromiumSideloaded()checksfromWebstore == 0first and returnstrueimmediately — it never reaches the subsequent check for a trustedlocationvalue (chromiumLocInternal/chromiumLocComponent). Genuine first-party browser components are installed by the browser itself, not through the Web Store, so they will always reportfrom_webstore: falseby definition — making the location-based trust exemption the code was clearly designed to support effectively unreachable in practice.Suggested fix: check
locationfor a trusted value first and returnfalseimmediately in that case, before falling through to thefromWebstorecheck:Found while QA'ing #47619 (
ai_toolsfleetd table).