{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-454106533ca4060d", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/jobsSeoPagesPlugin.ts:163", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobsSeoPagesPlugin.ts:163"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7536ce6626f0f84d", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/jobsJsonDistCleanupPlugin.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobsJsonDistCleanupPlugin.ts:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4450aafc9fd28b36", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/precompressHtmlPlugin.ts:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/precompressHtmlPlugin.ts:91"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6aa69cc41a13f1c0", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/legacyAliasPlugin.ts:304", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/legacyAliasPlugin.ts:304"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-34f4432700d6a8e6", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/calculatorLegacyAliasPlugin.ts:227", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/calculatorLegacyAliasPlugin.ts:227"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-03b47ef47326fa4d", "name": "TODO/FIXME marker in shipping code \u2014 build-plugins/fuelDailyPagesPlugin.ts:70", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 build-plugins/fuelDailyPagesPlugin.ts:70"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc55e54c8eb6702b", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/fuelDailyPagesPlugin.ts:5189", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/fuelDailyPagesPlugin.ts:5189"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6ba76b06728ede6d", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/borderMunicipalityPagesPlugin.ts:1038", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/borderMunicipalityPagesPlugin.ts:1038"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebe4ec69d235fc88", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/cfHot404BridgePlugin.ts:134", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/cfHot404BridgePlugin.ts:134"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05d4df71cfe8be5b", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/prepareOutDirPlugin.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/prepareOutDirPlugin.ts:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-43fa298839288a50", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/preloadLocalePlugin.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/preloadLocalePlugin.ts:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f28eb845493b953", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/postWalkCoordinatorPlugin.ts:145", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/postWalkCoordinatorPlugin.ts:145"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fdbef2d0546f7570", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/faqHubLinksPlugin.ts:123", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/faqHubLinksPlugin.ts:123"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7c50589881d5b64", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/marketReportPlugin.ts:740", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/marketReportPlugin.ts:740"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d1cb42a9ccbcee2", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/llmsTxtPlugin.ts:409", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/llmsTxtPlugin.ts:409"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ee259ed741cb3db", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/nursingLandingsPlugin.ts:533", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/nursingLandingsPlugin.ts:533"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-39752e001b2ae6c0", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/localeJobsSplitPlugin.ts:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/localeJobsSplitPlugin.ts:82"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c790824b6cb07c08", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/salaryHubIndexLinkPlugin.ts:209", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/salaryHubIndexLinkPlugin.ts:209"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-945721713896beda", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/cantonOrphanRedirectsPlugin.ts:206", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/cantonOrphanRedirectsPlugin.ts:206"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ddfe8c09ce3b5534", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/weatherCityPagesPlugin.ts:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/weatherCityPagesPlugin.ts:95"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-482c5f22d5a56a71", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/comparisonsHubPlugin.ts:558", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/comparisonsHubPlugin.ts:558"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-357aabb9ec3f18f5", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/professionLandingsPlugin.ts:615", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/professionLandingsPlugin.ts:615"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54f5288832df5ac4", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/annualReportPlugin.ts:1012", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/annualReportPlugin.ts:1012"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e1fae162b3751be", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/blogImageCdnFinalizePlugin.ts:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/blogImageCdnFinalizePlugin.ts:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db9cb8eccf005214", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/pdfWhitepapersPlugin.ts:703", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/pdfWhitepapersPlugin.ts:703"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c6d73f41f6f6f06", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/salaryHubPlugin.ts:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/salaryHubPlugin.ts:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-937baf49cdc613d9", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/jobRecencyPagesPlugin.ts:413", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobRecencyPagesPlugin.ts:413"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0e2e4326207da00e", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/costOfLivingLandingsPlugin.ts:705", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/costOfLivingLandingsPlugin.ts:705"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af763e20401ece76", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/locationHubBridgePlugin.ts:390", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/locationHubBridgePlugin.ts:390"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e1bc9bf0f3209db", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/blogContextualLinksPlugin.ts:573", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/blogContextualLinksPlugin.ts:573"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2baaa85a5a7426d7", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/salaryStatsChCantonPages.ts:465", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/salaryStatsChCantonPages.ts:465"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1edfe6bbf451bf18", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/adminDataPlugin.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/adminDataPlugin.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9503a03abaebf7f", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/jobSectorPagesPlugin.ts:618", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobSectorPagesPlugin.ts:618"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38bb23a1ffd62e25", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/sitemapAliasPlugin.ts:127", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/sitemapAliasPlugin.ts:127"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ee422a558270acc", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/weeklyEmployersPlugin.ts:4057", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/weeklyEmployersPlugin.ts:4057"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c4c6df668e47c66", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/legacyRedirectsPlugin.ts:426", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/legacyRedirectsPlugin.ts:426"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77361caa4bd2fe82", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/affiliateRedirectPlugin.ts:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/affiliateRedirectPlugin.ts:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b2e794dcf5aaed6", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/jobOgImagesPlugin.ts:582", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobOgImagesPlugin.ts:582"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6013224ead20e6ef", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/ogPagesPlugin.ts:1156", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/ogPagesPlugin.ts:1156"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f13f60aa8b6a4c9e", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/companyHubBridgePlugin.ts:521", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/companyHubBridgePlugin.ts:521"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-85c1676a3585b847", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/flatHtmlRedirectPlugin.ts:246", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/flatHtmlRedirectPlugin.ts:246"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6029f2b6d45e140", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/crawlerRegistryPlugin.ts:141", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/crawlerRegistryPlugin.ts:141"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-938588094e46bd7e", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/profilePlugin.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/profilePlugin.ts:71"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02ebe208a5eb12b5", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/healthPremiumsLandingPlugin.ts:3239", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/healthPremiumsLandingPlugin.ts:3239"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-712a2554694026a8", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/relatedSearchClustersPlugin.ts:2115", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/relatedSearchClustersPlugin.ts:2115"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76531051f7cac59c", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/comparisonsHubLinksPlugin.ts:120", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/comparisonsHubLinksPlugin.ts:120"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ec54a6d7e3b5e3f", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/weatherAlertPagesPlugin.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/weatherAlertPagesPlugin.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb6b1830a035b076", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/writeRegistryLifecyclePlugin.ts:108", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/writeRegistryLifecyclePlugin.ts:108"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c9b1c53e24f1d9c", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/orphanQueryLandingPlugin.ts:802", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/orphanQueryLandingPlugin.ts:802"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11244ee294b1b95d", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/professionCantonLandings.ts:392", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/professionCantonLandings.ts:392"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-91dd4437f4c80d89", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/staticPagesPlugin.ts:1052", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/staticPagesPlugin.ts:1052"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d71910ddd0ee3a7", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/frSalaireNetLandingPlugin.ts:574", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/frSalaireNetLandingPlugin.ts:574"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37bc7bac124ac2f4", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/staticScriptsPlugin.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/staticScriptsPlugin.ts:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-090864b12f8d23cd", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/webpPlugin.ts:102", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/webpPlugin.ts:102"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a139c4afc71a26e1", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/weatherBorderWaitFusionPlugin.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/weatherBorderWaitFusionPlugin.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b46969aa70c4de1", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/careerLandingsPlugin.ts:616", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/careerLandingsPlugin.ts:616"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1d23620d5e0a8bf6", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/jobMarketSnapshotPlugin.ts:3116", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobMarketSnapshotPlugin.ts:3116"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fa6eb79eea98d0fe", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/jobOrphanBridgePlugin.ts:440", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobOrphanBridgePlugin.ts:440"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24c71ffa5643065f", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/sectionPagesPlugin.ts:1120", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/sectionPagesPlugin.ts:1120"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d355e6b970378921", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/hreflangPostprocessPlugin.ts:282", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/hreflangPostprocessPlugin.ts:282"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-82b7b92e177a27cb", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/borderWaitMapPlugin.ts:636", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/borderWaitMapPlugin.ts:636"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1547ade7c6e6ba2c", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/professionLandingsLinksPlugin.ts:291", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/professionLandingsLinksPlugin.ts:291"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b758edad2ac9c6b", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/professionCantonLandingsLinksPlugin.ts:175", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/professionCantonLandingsLinksPlugin.ts:175"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a51f2cc047e6309d", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/publisherAdPagesPlugin.ts:322", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/publisherAdPagesPlugin.ts:322"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c9e8a123ee45a5d8", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/borderWaitPagesPlugin.ts:2602", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/borderWaitPagesPlugin.ts:2602"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6a543dcf14eb931", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/faqHubPlugin.ts:498", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/faqHubPlugin.ts:498"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-88e6c72d0173424d", "name": "TODO/FIXME marker in shipping code \u2014 build-plugins/shared/cantonHubEditorial.ts:152", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 build-plugins/shared/cantonHubEditorial.ts:152"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a80017638780fe30", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/jobsSeoProfiler.ts:197", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/jobsSeoProfiler.ts:197"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e749b0a60592b01b", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/relatedSearchClustersProfiler.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/relatedSearchClustersProfiler.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0d3d174e1e45ed6", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/weeklyEmployersProfiler.ts:161", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/weeklyEmployersProfiler.ts:161"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e2a74e637de8d1a", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/postWalkCoordinatorProfiler.ts:221", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/postWalkCoordinatorProfiler.ts:221"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d9b224d69281c6d", "name": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/trafficEvidenceFilter.ts:281", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/trafficEvidenceFilter.ts:281"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3504080ba607e742", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 build-plugins/shared/jobDetailHtml/context.ts:7", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 build-plugins/shared/jobDetailHtml/context.ts:7"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3f3cf5db05080f52", "name": "Stray `console.log` in TS/JS \u2014 functions/index.js:169", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 functions/index.js:169"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4158b3275e42fb2f", "name": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailjetWebhookCore.js:238", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailjetWebhookCore.js:238"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7e440c8a92f9c024", "name": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailgunWebhookCore.js:239", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailgunWebhookCore.js:239"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-36d38e9ac8de6014", "name": "Stray `console.log` in TS/JS \u2014 functions/src/geminiGenerate.js:126", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/geminiGenerate.js:126"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c244b51d0a1b81d1", "name": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailtrapWebhookCore.js:213", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailtrapWebhookCore.js:213"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e47281cfc733a46", "name": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterUnosendWebhookCore.js:248", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterUnosendWebhookCore.js:248"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-060772d413d7b918", "name": "Stray `console.log` in TS/JS \u2014 functions/src/trafficSchedulerCore.js:213", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/trafficSchedulerCore.js:213"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c12ab08e64bb3c5", "name": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailerooWebhookCore.js:272", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailerooWebhookCore.js:272"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-083774aff112b252", "name": "Stray `console.log` in TS/JS \u2014 functions/src/chatbotInference.js:264", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/chatbotInference.js:264"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-694bf16b9a68178e", "name": "Stray `console.log` in TS/JS \u2014 tests/i18n-completeness.test.ts:348", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/i18n-completeness.test.ts:348"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b417d2ff792dfa86", "name": "Stray `console.log` in TS/JS \u2014 tests/no-js-redirects-in-build.test.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/no-js-redirects-in-build.test.ts:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-615a30fcea671812", "name": "Stray `console.log` in TS/JS \u2014 tests/check-hardcoded-locale-segments.test.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/check-hardcoded-locale-segments.test.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2a81e7eb109943a", "name": "TODO/FIXME marker in shipping code \u2014 tests/job-locale-consistency.test.ts:19", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 tests/job-locale-consistency.test.ts:19"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f90f4208d400c048", "name": "Stray `console.log` in TS/JS \u2014 tests/manor-localization-flow.test.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/manor-localization-flow.test.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ecf48049fad9af89", "name": "Stray `console.log` in TS/JS \u2014 tests/seo/html-minify.test.ts:108", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/seo/html-minify.test.ts:108"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee00fba3f5e647b2", "name": "Stray `console.log` in TS/JS \u2014 tests/seo/content-duplicates.test.ts:205", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/seo/content-duplicates.test.ts:205"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f096213d82fa9643", "name": "Stray `console.log` in TS/JS \u2014 scripts/parse-bfs.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/parse-bfs.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-68af27598ed237c9", "name": "Stray `console.log` in TS/JS \u2014 scripts/submit-google-indexing.js:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/submit-google-indexing.js:48"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83c8e642a11b846b", "name": "Stray `console.log` in TS/JS \u2014 scripts/submit-indexnow.js:195", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/submit-indexnow.js:195"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b11e629c2632036e", "name": "Stray `console.log` in TS/JS \u2014 scripts/prune-404-compat-paths.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/prune-404-compat-paths.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f06519672c0d90a", "name": "Stray `console.log` in TS/JS \u2014 scripts/update-jobs.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-jobs.ts:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53f28631e38df6c1", "name": "Stray `console.log` in TS/JS \u2014 scripts/ingest-gsc-coverage-404s.ts:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest-gsc-coverage-404s.ts:140"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-176ceb8e2e4e1ae4", "name": "Stray `console.log` in TS/JS \u2014 scripts/submit-google-indexing-jobs.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/submit-google-indexing-jobs.js:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebf83be1831407b6", "name": "Stray `console.log` in TS/JS \u2014 scripts/geocode-municipalities.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/geocode-municipalities.ts:87"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0e26a7ba47a8946", "name": "`truncate` class without `title=` for hover reveal \u2014 components/vita/TicinoCompanies.tsx:842", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/vita/TicinoCompanies.tsx:842"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-202c3fd6a33cc13f", "name": "`truncate` class without `title=` for hover reveal \u2014 components/vita/DailyDialectPhrase.tsx:35", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/vita/DailyDialectPhrase.tsx:35"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e350b13f12e53b75", "name": "`truncate` class without `title=` for hover reveal \u2014 components/vita/MorningDashboard.tsx:428", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/vita/MorningDashboard.tsx:428"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ad8dded44eab381", "name": "`truncate` class without `title=` for hover reveal \u2014 components/vita/TicineseDialect.tsx:498", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/vita/TicineseDialect.tsx:498"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c01cb22225abefb", "name": "`truncate` class without `title=` for hover reveal \u2014 components/shared/NotFoundSuggestions.tsx:293", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/shared/NotFoundSuggestions.tsx:293"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-234791ba4d737abd", "name": "`truncate` class without `title=` for hover reveal \u2014 components/shared/SocialProofBadge.tsx:53", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/shared/SocialProofBadge.tsx:53"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d456ab031745a9ad", "name": "`truncate` class without `title=` for hover reveal \u2014 components/shared/SiteSearch.tsx:1417", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/shared/SiteSearch.tsx:1417"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-558ded38654bb4ae", "name": "`truncate` class without `title=` for hover reveal \u2014 components/community/JobBoard.tsx:5164", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/JobBoard.tsx:5164"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4910330ff5a08cc", "name": "Stray `console.log` in TS/JS \u2014 components/community/JobBoard.tsx:2474", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/community/JobBoard.tsx:2474"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a693ab2c8a20576f", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/community/JobBoard.tsx:6701", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/community/JobBoard.tsx:6701"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-327ac4b0dd1117a0", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/community/JobExpiredView.tsx:527", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/community/JobExpiredView.tsx:527"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fe3c5ac2ce5fb273", "name": "`truncate` class without `title=` for hover reveal \u2014 components/community/WhatsNewModal.tsx:1958", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/WhatsNewModal.tsx:1958"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc8e6201a88e063d", "name": "`truncate` class without `title=` for hover reveal \u2014 components/community/GamificationWidget.tsx:183", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/GamificationWidget.tsx:183"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0840a4d0794903c", "name": "`truncate` class without `title=` for hover reveal \u2014 components/community/JobOrphanView.tsx:452", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/JobOrphanView.tsx:452"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-732e9c8f5cb8666b", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/community/JobOrphanView.tsx:485", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/community/JobOrphanView.tsx:485"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f5e9871a162ce19", "name": "`truncate` class without `title=` for hover reveal \u2014 components/community/PublisherApplyForm.tsx:198", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/PublisherApplyForm.tsx:198"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac9893e1de1179e9", "name": "`truncate` class without `title=` for hover reveal \u2014 components/community/ToolOfTheWeek.tsx:139", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/ToolOfTheWeek.tsx:139"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f0ff8d54a8bb32a0", "name": "`truncate` class without `title=` for hover reveal \u2014 components/community/BlogArticles.tsx:2169", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/BlogArticles.tsx:2169"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a75b8818bda9a47", "name": "Stray `console.log` in TS/JS \u2014 components/community/Newsletter.tsx:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/community/Newsletter.tsx:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0862621d020a1c00", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/Metodologia.tsx:50", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/Metodologia.tsx:50"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-33edb7764682650d", "name": "`truncate` class without `title=` for hover reveal \u2014 components/pages/PublisherPublishPage.tsx:1707", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/pages/PublisherPublishPage.tsx:1707"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f600e7bda209e755", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/PublisherPublishPage.tsx:1390", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/PublisherPublishPage.tsx:1390"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5b77308b1852fb70", "name": "`truncate` class without `title=` for hover reveal \u2014 components/pages/UserProfile.tsx:1036", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/pages/UserProfile.tsx:1036"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98d1c257e1dab537", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/Correzioni.tsx:127", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/Correzioni.tsx:127"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-011bf6df62beb33d", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/AutorePage.tsx:59", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/AutorePage.tsx:59"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ffd10a06bfc5ca4a", "name": "`truncate` class without `title=` for hover reveal \u2014 components/pages/ChiSiamo.tsx:171", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/pages/ChiSiamo.tsx:171"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ccc03fd42c04775a", "name": "`truncate` class without `title=` for hover reveal \u2014 components/pages/AdminPanel.tsx:251", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/pages/AdminPanel.tsx:251"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-37b81aaf45090911", "name": "`truncate` class without `title=` for hover reveal \u2014 components/calculator/ResultsView.tsx:626", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/calculator/ResultsView.tsx:626"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e6f50e60c71fb4f2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/calculator/NewFrontierOver20KmHub.tsx:436", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/calculator/NewFrontierOver20KmHub.tsx:436"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-31c390a0a1869056", "name": "`truncate` class without `title=` for hover reveal \u2014 components/calculator/InputCard.tsx:89", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/calculator/InputCard.tsx:89"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4133ac284272c679", "name": "`truncate` class without `title=` for hover reveal \u2014 components/calculator/ResidencySimulator.tsx:250", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/calculator/ResidencySimulator.tsx:250"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65d3eb2568d71cb9", "name": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/SalaryCompare.tsx:688", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/SalaryCompare.tsx:688"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65bc7c96e5cad370", "name": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/ShoppingCalculator.tsx:440", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/ShoppingCalculator.tsx:440"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-832beff3bb0e47dc", "name": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/CurrencyExchange.tsx:460", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/CurrencyExchange.tsx:460"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0cc06902ec345a65", "name": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/MobileOperators.tsx:471", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/MobileOperators.tsx:471"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5618e8ac3a9071d", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/comparators/BankComparison.tsx:245", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/comparators/BankComparison.tsx:245"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f216a96a059c933", "name": "`truncate` class without `title=` for hover reveal \u2014 components/guide/TrafficAlerts.tsx:275", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/guide/TrafficAlerts.tsx:275"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08dbfd91aca481f7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/guide/TrafficAlerts.tsx:240", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/guide/TrafficAlerts.tsx:240"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0c18e02aedf3c5c0", "name": "`truncate` class without `title=` for hover reveal \u2014 components/guide/FrontierGuide.tsx:1025", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/guide/FrontierGuide.tsx:1025"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-911258de71003b08", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/jobs/EmployerBrandHub.tsx:287", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/jobs/EmployerBrandHub.tsx:287"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0d224b14ccc2e917", "name": "Stray `console.log` in TS/JS \u2014 server/recaptchaVerification.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/recaptchaVerification.js:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89cb16098c94b223", "name": "Stray `console.log` in TS/JS \u2014 services/clarity.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 services/clarity.ts:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df85a7c89103666c", "name": "Stray `console.log` in TS/JS \u2014 services/analytics.ts:737", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 services/analytics.ts:737"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da9e6f74f83fc482", "name": "Stray `console.log` in TS/JS \u2014 services/firebase.ts:343", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 services/firebase.ts:343"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-065b86996571141c", "name": "Stray `console.log` in TS/JS \u2014 services/mobileUxMonitor.ts:194", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 services/mobileUxMonitor.ts:194"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b5ae31679da9891d", "name": "Stray `console.log` in TS/JS \u2014 services/authService.ts:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 services/authService.ts:73"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf7ff1e43f9dcd40", "name": "TODO/FIXME marker in shipping code \u2014 services/errorReporter.ts:86", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 services/errorReporter.ts:86"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-96aacf8a0213e091", "name": "Stray `console.log` in TS/JS \u2014 services/webVitals.ts:122", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 services/webVitals.ts:122"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6cd08fa8d1eb4b0", "name": "Analyzer timeout: security.gitleaks", "shortDescription": {"text": "Analyzer timeout: security.gitleaks"}, "fullDescription": {"text": "analyzer exceeded 60.0s wall-clock (thread mode \u2014 daemon abandoned). Bump REPOBILITY_ANALYZER_TIMEOUT_S if expected."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6b71377f7532a22c", "name": "Privileged port 33 in use", "shortDescription": {"text": "Privileged port 33 in use"}, "fullDescription": {"text": "Port 33 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4a4e6e5842b62d63", "name": "Privileged port 37 in use", "shortDescription": {"text": "Privileged port 37 in use"}, "fullDescription": {"text": "Port 37 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-10d73af5e3d8de60", "name": "Analyzer timeout: security.scan", "shortDescription": {"text": "Analyzer timeout: security.scan"}, "fullDescription": {"text": "analyzer exceeded 60.0s wall-clock (thread mode \u2014 daemon abandoned). Bump REPOBILITY_ANALYZER_TIMEOUT_S if expected."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-38bd0a42185d036c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d410708f47f78071", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b3fb4f6544196bf", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cbe466b506496fed", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3bff97383b626b05", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-36962324259801cb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9e3076ee8129b20", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2c41a2298dafc2af", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6ad2a66b8a44b00", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-782ebfd09a6b227c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed044f6c384e4cb6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25775b3a51f365f6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02230b110cd2011c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5d2c4550c91709db", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-317a9b96665f19cc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-63ac3e51cde9cd7f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83136cc5e3e3d232", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0d439d39380ba91", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-641eb08d359307a5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-69777db163c4326f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f63f3d4452b4c83", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7ae8cf73d4876d62", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57a18def8be5c107", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0dcc8aecb309fe3e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8580cf5f34f6952a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a9a182207f7cd65", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cfb18a53e7657dff", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26c6f6d272304d8a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-92c49393df525de4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b83b14c08fbea76", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-41c0d8b68672d26f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c213be2ffe4aa073", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f060dac51c242c2d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-faa2dedf8c65df60", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2b53f6ed66647f40", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8c750e35fa01c82", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d19c917836ed15f9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d3f51eb79a27a4e9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7fa0183d745348d3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f56bf2315e8ab5f5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-306f044621fb9483", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-850d74d4c336b216", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2e613274e9432acc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28814c7d95ce5531", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-73f2c3e72c551eed", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48661d61d5a575d2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a51b8ce66f8f224e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd43fab59c6c1432", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-74f627a6bdd5d02c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e96b02d4b83ae6e9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-22c690a2516ff602", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2d8eac5739fe1ca", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-670a373674028409", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca9e68ccd94ba100", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d8a3ddce3630eb61", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-36585e1ee03bba36", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00654967f47dd57d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-936896572b7149d2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5b7191f19db3f5ba", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-022ee6416389f3b7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-47476bc4dc68ea88", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9e476d9aa5648e0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e2da3fe68fbc39c3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90671c0296ed9652", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e88f12de16f3b5c6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-425dc925dfcea51d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fcbd8329fa234f56", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e05ce751bc34b9f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1654aec9f7ff660e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf6600fef8a68208", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-834265b3484978db", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4484d70996dc1ed", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d0d23968cdc5f139", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-372ce97140ede0d2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-34f2d77f6a1fe917", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-989c88b58a049910", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-05e381786dae41e9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e2f752eecd6adde", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-55288e864a8f2849", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95e1167961907b5e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c8f305cc62bca477", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-794d1592b239478a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6ab2187c37bdc782", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2132f897e712d27", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dddb5c25487673c9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6294d09df53563cd", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9cf09970b23f4323", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb4d6c4478f88acc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bae1b4abbcca1ac1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-811441b9297935a2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2a969a3dc02f2195", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dbd138934dabf66b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-59736112b85b8506", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-516b197fa5db8645", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b3b3608412dc22a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5bd660129d8eb4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0fbdd7f04a26273", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-722614d932626ec2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de3f3e5e10b1823c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c8cec9d85c74d75", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7413db149362947e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9ce7a61cb32857d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a3edb846b7902a8d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-51781f0a1ad5c290", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3eaac806df90bfd6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-92dfdcc1dbc24fdb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e20e48cf8631df41", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0bd82c15698e4ef", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4dc10ec5c822f182", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-84d1ff3c1614471d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6af3a21aefab688d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-973a0ba2e71f0acd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-241034852d4beec3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-156108b15c985192", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3fd74fedbd3f8cd5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1a9c0b0e691e32b5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf83f88e343ffb6a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e2916cb93bfe521", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72d64f3b8c132cbe", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a02665c6a293b928", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57faed57e19b4742", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b0d718ebfe845016", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-451fcefd8a61ddeb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af853ca9646d762c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0bd11f1e28543c1a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa33991cb696d89f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f235280845bddfa0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-87dd89d0e3f6ca99", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-473ed68792909ec4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b59717e9af7b497e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-41b962f3b14cd96a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eb31bcf25ff22ffc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f4395afa0861d1b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-03a28387b86f224b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f50dc9c68ed79dd5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f250b1a76056aba2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9844b2956a7ec812", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fdf0957e90c43ac3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7d089643ef1e7ad0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-62093576bc858672", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-001c2fae44adeff1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba47989fdd646ae1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-35cda1f6c293747a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bff2ecbf2ab9e8ed", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-993717762caabd9b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d2934df499433ec", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cebbf9962ed0db33", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3cd1233e57732cb7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-84f50bf61a794c0b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1717613686363917", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c799bc859ca7bfd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f66259c9de64c977", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a9d72a784d4df7d3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-486efc4bf28386fe", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fe2ef10dae0a4ba8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0b38ee94af20c6ef", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1210965da751ddc0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be6ea7b4f9f0edae", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3601c09503b18848", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ce8e3c2a429ddf0f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e92731f9408c72a7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9dff4db60c9bae3b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5486418e5d829f5a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8f7dcea6424db48c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd07d1f21d3360ba", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-daea0cafed50cc5c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-600738562886f0ee", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3a83949e8051f7c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aabe9e9a2a2154f9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4af6e64c7a601b1e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1aaedb3e0d9e2d3b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ae0e490ff64d021", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e29f7198f1a077ec", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d4058c24bc0e4c5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4325983acd0279a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1759c8f7398670e7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f594457af55fa36a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-458a6a73119c95a4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9345afe0347aea85", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a6717cb61e079f85", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac311bb5c2c07319", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-402046f8668bc407", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17c3c96fb691a844", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2b62e43add8f31ff", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-130218070023338a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1ac5f4ba63a3526", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8819ef147931a42", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-17f374e1e885d6a5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6381559dfe7d89ee", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ae3da3d2bdb1eb4d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c36e3d21a116b02", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-08a6989683f2c144", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1af0c402bec138e4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-35921ad541ec6204", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d576f6edfb66cf36", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6429d2c00887de7a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d73a3545399a590e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f15bc678e5b3ecfa", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-629ab452c0f0ba8e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-caf8976901cb5f4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-230466093d8c7bc7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d0a8c2d41acffaa6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0fdde9e4e7c6a9ab", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-118e3440e5b49058", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-baa80fd633302343", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ac12b7257b1f5cd", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8825e4747295a008", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22ba99b69234032e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d194b708751c82cb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7e8b30bc1d998f3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9c600b6fec7ccbf9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7715afbfd24259d8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb3551915077d09a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cfd2773109c6a85b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0086b4206cf87af2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9e3ff861f03fc099", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3016947f821ab87b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-75f8caafe2f62b70", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c762c718a158d057", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-431b1e1905da2686", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7c45eb344be4509", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c27ee87d219d9d62", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-91ac2efd78b0c13b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-663af276cb7a5267", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-176829ad3db1dee9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bd9f3c69b55d6a67", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5da918cad8456d50", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-388c8de80ba824bc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e82a43db580bbb69", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0478327ab5ebe67", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-440d7ab478b59823", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a592907db30c962", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b470f6014577d138", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c1f3d94a0cef355", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1571f7a15e16c804", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c34c57f0c96195c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-27d2c6cbf1ee1dfb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80228422f95e4cdc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-285e69ad91536025", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-06226a89cb2acc84", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a772b21a6518c2a1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3fa86d4c3ad656ea", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d27a5cf533a827a2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2933911cfd032770", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a95224e05596fb9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-95e9df98e3de9820", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c9abdcd512a636bb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7836f30cc45efff3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6dd4eba5e6620496", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c01ffbcf4b34416a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ccfbc39462b43c61", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0abc694db9180631", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46f70c7b66fb098c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6fd3c12020ca8ce2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cee4c5bb7921250", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-685af5cd0cede4df", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8dcddffae8e9fa3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-26838cf87c10a96d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79ac67b503879410", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c5feacb6f8b2a882", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a4d94c1ff81d916", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-62a88686f4b37172", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-969731c494736283", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c924568f054f0b0d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-626a28d55fcdc345", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e70f2432766ffd60", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52423dfc6aa8dffe", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b1436f7f866d9402", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-363d55c62b64089b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-968ab42d7fd4eddc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1c8ac28cc0b570d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-30326a77fd48814c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1c7d8f5badad6cf", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b01f07e626911c5e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29ea946bc5c7c923", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-606d4e914223d574", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e33f0cf20a7b43b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e0df2a232bedc660", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9db5464648a86a79", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aba0360598697341", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-248dbc6eba2b2919", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef1d9e73d3fc093c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-85a065e514d653ef", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-19d2f80d3c6d0bf1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05d0c9b5cb63ffd3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11ba0a42a6578345", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed2d90d91aa58dab", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-501ddc2d0136528c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98e318f00592b893", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c46701803b1bff2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8866c5a41d113df", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d21250beb847de5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-91957e550143a5e0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4ba914e16766da7f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-458f189089541dce", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-78e8d65e52dd4631", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90bdf7edfc97555d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-64173677ad07fa30", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e03f489ac8fd04a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c16b85b2d3477001", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-473c43c264c3be81", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a4f7eabbf0c11c34", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b2d5c1891f77480", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-66669049193d4632", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7194111e7ab0e077", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3208f227d722cfa7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29e25cbf4e6fe5af", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98e4170a6e06c892", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6101d1e988402637", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b42452594c47e3d3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-06d23ddd10842ee2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c198a24c7e265a92", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-efeedb890ac1582b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9172fe0617642988", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-684787d1f9fea636", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1cf43fabf7e48c9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-075632eb0858be7c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7b00e8bd52154de", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a71069f4f4d2e860", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-afb34bccd91cc219", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9a96402913b5e9b1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ac57c4394c0c989", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8f0e302005a63568", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8e66350b1ad1acb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ff32e90cad736f31", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-112055de8769c3fe", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c88401e9b8fe4e4f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1a5b597768ccf997", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8fdfcc4c2dd43027", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c0850d65131008e8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d8f61b0f6c0b7c2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-871fc09f5fc3eb79", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b743624259ef83af", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8681cde9860cf458", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b5c61e9dd39b58cd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-58c39abd1c2c57e0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ad86429755209c96", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10b4d933851b3008", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5d3b8cb38009bd63", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d070d9a50202664a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e06f202af7cf9a7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f044504484ebb170", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e2789e616bfe7cc7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-81f73373c5a66463", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb987152941b1241", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fc866cd6ce8715c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-100c2952c07d02aa", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-23d18ca9419ac5a2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b4c8c121645f4371", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f98746620b3d6e77", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24c5bd7edb68ce5a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eca43b33f11aa947", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3a78d8676ae6404", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-474417903452bd4e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2372aac4034751a3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d0ec04acaae0c80", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-623a96667f396378", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-050ef9d15023855e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-09a67fec80e23db0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9fa494f7687fc511", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7833b55ef774ef1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dbbe4ce2f1c7392e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a1845ee54ca9c4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c243ca106477727", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e7135f1a656e827", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef2d622b0606db3e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f7341371e00f4dd", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ee607431df1ce4a8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db2253ca9e9c2db3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-36d0bfa665e3acf0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50d75f758a16b58b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fc468e0d10232b6c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf18f1a4ac8ade7f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2deae60d9c5fb954", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aaddde86856144c3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9532f527ee98f21", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebc8446fa300c90b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b989b2badbdf4435", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fab10721c3f4b70d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-82a06dbdb0209ab9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9488c8500cb48b40", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-22346b9382ffe85a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22e3eb7482933938", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-26337ffc943f2603", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0b190ff71a8b19c9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5903c187d08bb8a7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-abba586bc0b54df4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-17118a960c3bb6f8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4f9ce59453855c8e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d3ec061bb0593b03", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd8b9ea0d72b3d92", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-28c4a04bd807da0c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad6701f0a8405e22", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b5a12a880c6213f4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-875ed0bd79dc3ef7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4fe99c126192540b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-564a20d7f9c8efa4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-933955e42c3b0ccc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c56fc4f8d2761288", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5d032371208dda2a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-638f28169d84cd65", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-137b911d61345bbb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dbccdb191cc70662", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0b4d452e987ad6a6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7ef864cfb3a0af1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4a469aea5612baf5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79ab5df8d33765bf", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e42b9b0021a8b03d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3cea2cb2df4f2803", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d5e349ff9afa2697", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64b7cd660862b2fc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f487f21cd296cc0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-051bdf80b3a69722", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cd440a8109630c70", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb548cbde2d835fd", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-facbc1791638891c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9223569b412419ac", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-41f03e3b8187a44e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb2e506d245ed927", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8c3289ada5f5b8b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4002d9eefb6d4655", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b2ab6b68eac27cfc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-394df4aff58e1983", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cc6a26e9f448e01e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-705d3dd2a79eae81", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b334185630e40403", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1283586476080c20", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1f6d30d27230eb4d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d87e34ec05a4a5d3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-19784d0dbd4f4036", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f78ce954cfe6ce0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f69968e758e2c197", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9592b663f697e7a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bdd7110a50766fbe", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a2bba0a797fd620", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ba5606c2dbc2483c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-376a4dd54f550910", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e66fa93f1257ba0a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c9abc958d5236a5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d855f3e77a28c94", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0817c17e8fdd940", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-02a446a3020ea5d0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0f04bd77da2e456", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eb1fa410514d1c3a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a71a026969fb2ba9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d993312387c82409", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-36a75c03a1d6a945", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-409caa057556bed6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d2f7d9e4166ff0ae", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-554ffa595c485b3d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b0d7d714de41fef", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b1f3e82ddda833b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e01173d32ad432b4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9b9c5972718f0bb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d53f157be5d77acb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3d46a887da93ce4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5bb1fec7561026de", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77be69670555ed7a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-48123938c49d30bc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e00cd58473884f7c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4850f2488b52f0ce", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00f177b3160a0636", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5f536092e01c78bb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8e6fe8e5e77ebbe", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a97aa247171f0c4b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d460a743b42a7c1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-18377973ac09cfbe", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc3992a5534e892f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0a92541f4a7dc896", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce579ee341f60654", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-50dfc33a329a203e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-703f23d75480b900", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ad00a5c09195d016", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-75337af52cf99ddc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6f66bf362bf10c12", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-58efaf0a8bfabce9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b0ba24dd06672b0a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-193407fc7d40fd82", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4eddccf4fb69eb1f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8972d700e26ba838", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b82808f0e207032c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1846d2193a1e5d06", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bc4d9b8248b7d18c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-150018e2c524642f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0fe154e51808ebbe", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb44b56afde3f125", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8214cdb77e28014", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d76655e23ff71b4e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19cda362a660010a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-261b4c537b3e0348", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6cb3746fed110e9a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-120fc7041932e1f4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f2d18e731714353f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dfb9b724c98f3f70", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0239f7f38dd1d00d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8a964183a4ed8282", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cf3889a4f89cec9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ec3be02e1310b391", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cbda9bb14936c36c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-19bdd72249ae1dc5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a4c087e9ee05ac5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1f5786b87c64aabc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ab5958e51ba9523", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a8e1ea176b8211bc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d43b124459b4609", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4089dfd854811b1b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6b2e372ec98d0e9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-05f21e9c9abb3f46", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26e75465f623e7ec", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0b7b5f54d659e6ea", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d51c098b63393fe", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df2356ee096bc879", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1bd0ec56fc7b6b79", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22bf51eeb034b2ca", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a5fa532ded13149f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-70fff6b4c9f6705f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e253efe12faeffc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e7702776bb63ba1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8eb3f4a83c466682", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fcbf08100e893421", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-432bcd901ce4a8a4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-84b771cc775743e5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-81a5364ad5b773ec", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1a48eeee9c7ef04e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf14386bd73a1ed0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eb8b26123e475d00", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b3cec7ef1a02c2c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-325ef3202b8892c6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bfcb4350c7e6853b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5159cc42f6486f26", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84514b0b36b47aed", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-051cc9f04667df8f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69260e85a2284173", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d669314318fa82a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ccecc194f4acd4f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b2acf09e633fdd0a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8ab72bba1a80299", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4dc2771a08422e77", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3361f7f654ed64ef", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6085a2d84d9e25e6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2fef13587842e1c9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c491739bec6c5c10", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf42b5a00f173a5c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-81cd490e2689e8e0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97392023b93aafd8", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c91e55ef39bfadc1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d867be3b78b18c2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-558584421097fac9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e5922ac44138ac6e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c33c5970d63d1f22", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b27fbf27cc6376f7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-823042691f754c89", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4aaac3f30029765f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54a826439d3015e0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-630a8b38ff00890e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a65743b6cfa64258", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f191fb55cd69c7fa", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79269267bcde7d57", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-67b9a1f0284826b3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6786131e08aa1f43", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7d1223a26ba2f095", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2f5153a680bcf9f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-38b0fd91869661f4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba9393adf5eb17d6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3dbd8be490e6deef", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-91afc50b9ebb6d2d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a399fc955a3c26f5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4136badb6f5cc038", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-82e03ed159a05823", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6fbcd45fa76ffe2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ebfe44c49c2f0c59", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19bad50b69ddf85e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef369f241921a7c6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef8f0a822abd900e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-544ecb5124f428c3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d7046f12e4d7acba", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8a44ef6405f76d67", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57dbe98a34285727", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6ccc83d284e8973b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ed825cfb1427056", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a330206fb1320217", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c9b7aefb96a26151", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-586d9371eb9292fb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9ad8dab60193475", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d809b9b7d52cc6f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a04c2365318b82a1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fda63bab2cf99d5c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-962087102ee01747", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a330892bd6b6ecc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-419a5cdd584a93e6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27b90d3d7aedb42c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ef8b248fda4d5a0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72c47320b3ce3008", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-534c74ca16b9f730", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b95b6c8bdb00c46", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-033ec26e03fdf334", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd9470facff00990", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1cd2caaace932d04", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e39207b982fc69f6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-005fec59deece045", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8440d03f0c49d173", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-36d84d8ba28ed68d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-33f36e4542081a85", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-841adb53de683b3f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2cf08b12d43e7a05", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-23d545aa0cf96303", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7713b2497bf3425a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9fb1e022c72a13a2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d4ee9216f24015e2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b64e25a7313bd662", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de36538fd7c51947", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-344b49db5eb4e283", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c09b0b0387a1a693", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb63a7d02ba4bbd2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-48f4c0c2ed20a238", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e383068162dad3f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-07432b544f29514f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de463c94ee09c78b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c249664a0488387", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0de834630a178253", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5371c1f3294ab72e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c88d655b2a7a5908", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dc238198e5703a0b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90dc991e69bb8784", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cd69690c31aa93e3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0a66aca18274918", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af2483f882f84a62", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a1eb84ff71066ebf", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-346267121982e746", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a1e49e54c49226d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b81a0124700bb91f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cf116934b55d3c6a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d154ff32eb623fc1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e2477bccdc4dc0a2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7eb6e668746fd425", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8ea76623b4308c0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dd0c0ef7ea781de2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-056c084ed0ad333f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-09c52ba4c2be77f6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-380f9e941c0349e8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a153d47d1679ece", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aed27d7fd6cad08a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3fa2091c8a954890", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c40c6fe09d465fe3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-348c59f04333d3aa", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9aaba12963cfe37", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b534944456821318", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-61da90855e10e593", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-658ad3adc16f808a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-473f84303745c4e6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-47443621af29f422", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-181f3d6a7b514018", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d96903a6af17747", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-16901fc2329b55fe", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0f88f53b324014ae", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b0b6b5948c098ba", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0adb12dd45fa958b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3bd5c204e6b22ce5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-980628730127f890", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e6832d505350b892", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3f2e1f8b86f05b0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-19827c49d37cc930", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d3c405582a1fd7d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7837095285ebed71", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ecb811982d3ff64", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cccf1ea56e8f2ec7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-55f6eb5b747d24d6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11b7f8a9e827916e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-499e76d98c828ad0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-859785802bc75f27", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1fad89df8e2e4d59", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef6b9c811874a82f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56eae3bdb7e9a51d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c416da3c39eb7990", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8200f498a9463de", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a96650a0d7ba32ad", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d442c4e1594fedb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141ba010850c385f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d75a635c6533d2d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a5a351be305f4aa9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-791d1cffccbe59c1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e805eeeed58c36c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7810cef3cf1338c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de298e68e510ee49", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9970e9b5ed7eab79", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f406d3bd2d2a44bd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b696adb9f3d1488", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b60396d919d6a77a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-45354980a048d961", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6292f0b4b5f3885b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ade928c0572850dd", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4b9e3106da0fe958", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90b7bbe8dce015af", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-440ac05d2cf2a0a8", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-89fd00c531cb3451", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ea5fa0a98f4ead8", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-922db5333ea0d356", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21716620bff95b34", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-99ef7b252062cc20", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca21ddba104d38a0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-31ae657ca41f9cb4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-911b2607eb20a64f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-01b6f30ca12aab41", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0a8ca7681072cd1c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c6dac6211716159d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fecbdab6513d0383", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42153b630f679002", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c9c77fe10dd76150", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-09c7e23926c6a450", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6241e26deab70f54", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d3c6da2f312fbeff", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d6a86dadd90198f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-586d210190f82cf2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de3717a5370fcf8c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4835015dface973b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a67783cd9faae56d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f6f168d818a0862f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b23d27ee6ca9038a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8eeda19ba29ee36f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73b842c0325fc6b7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dc79dc97afdc50cb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c2c1c25289c2174", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-00dc203d52711519", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7584af24eba63c95", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-78b6eccc4a1a24f9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-623b3818b8915710", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8e100eeb61e93184", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dbc125a75af7f395", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-665f4ff004958025", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-883df97f03f2c333", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-05d8cdb9fcd46a0c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-539a25e68e459275", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-598d8da07a264ef1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a22913e51784a3d7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9894468395a73569", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-da6e85ff3667a522", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f68ddea6770cde17", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ca4bc20a1bb74f81", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9180ab757e00d17", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-acbf6cb5d01666fc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5cac1a11ffc6c20c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a67097585c059489", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-478f3aef77225cbf", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b15dd4c6459ab1e1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-22571e7c7b7862d3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-040dcc55c33ffd5d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2afadfb8e34aaeb3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8ecb4d1d51c603b0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c0c1309fcfeea77", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a06b35fe4ca1fe43", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4710d4611e23aa5c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-10ca1fe291fc289a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f0106f005ae7a66", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-37fdd36521d09226", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0117ad731c056324", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-24313cfbd8e2eab7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-760a07890488e45d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42a0c3f3537d94e2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c9fc75dd00fc6ee", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2e971b8441d6e385", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1dc30da23180e1bb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50c3caa1be5a413b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e72f00b70ecf307e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9408699e646e9cfb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0f9e8e75827ef877", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-755385d35bfd2f78", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-550c0c6a401b0492", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-675c1922a0fc6e4a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-800bb9049f20214a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1fb898ae634bea8c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-327488b5f502342e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c2def4253136e743", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dfe312153a419f45", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f80d62cabb427f22", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-658f1aa5a0155ee6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-765e7fac434c8301", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d273046a3962f5b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a946f9011e09bec6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6070d6c62ec9e34c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4dd461f30e6eed27", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-10e280c8df62f5ab", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-982e0e6ba447e759", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1da511a2d2d457aa", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a26768d32a14849", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0c7cb561ec996ce3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e80ce01d3c149a9e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef82e09928d4ac0a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78486d825eda9b6e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3a45d856ad3da208", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-555c0aeca58e09b9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ec60365fedc0f2b6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95df0a566c963eeb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-01ac317eb7599d9a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db9da6e634f118ec", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-92f6da5a0d005b4c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac1ae43d07c30a37", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2131a9c0e23a9148", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76c1a963d7d4f706", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-87f15d8a4d1d43a9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb30db626b85a3b3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a1db0c5a1de1895f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6abccdc7862c90f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-55f5400e9c909363", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d3c3be244e529a31", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-76b41ca68d061b82", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24680bab70260f22", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c5e3817f31d9e347", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f563ac15511813a7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2341b3556de0bbb5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-27ec1624e9b8376d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b49d3fbcce66a83", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-343c67db859dc47f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-892e95aa0e8268d1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b8cff9fd7fab61a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e88ed9cf737e907a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ccbffc32fe7cabdd", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9604f67d7eb3d2ed", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a94f78b018c420e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af22d7d7db5ac4e2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e984812d1eb75b8d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-214c4b21fbc98b28", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d62525e099d90c2f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0b2ad800d3463e0d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d2c6cd3df6a179e0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c4b111657b07888", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b87262386b74394", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-451341b0d0e33874", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9417399bf78668c6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eba510b7cd916722", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-59dc16692e0cb346", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e670975fe1f23f76", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-797b274eeb728b07", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fc6d26ecdf45001f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7f98056b3db6cb34", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5fdef4fde30e6973", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-381a1bbf5e4b27ef", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7c58739f27a3fefd", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f66f2af82f9363a5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-572dfcbe91cbf8b4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11a071eb2a139bd3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5eddf1b87aedfbff", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21748f183dc468a1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-40ac13db7ea889ce", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c03938f5e1457ee4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ecf150c759575f8e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3c7da77af2b08ab", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f91ffdc3e314bc43", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52e0a4aafa379033", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-95817e85a98bf83c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01c5e26eb5b78853", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1ecfe6e7629aa945", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-548e25eb92766c63", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-df5d5b9990a712aa", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26c624c2325db91c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-66c721843811cfeb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-afaaf5c56a6133ba", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-300bee8360ed95e6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d199f706100e2e5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-be7df0d8770bf048", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea72dc6daa999ecf", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-022e22d70a215677", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4b0e2abd34a8aa9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c23d0fbe8432fccc", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-45971c52f8bfbc19", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3a080bf87750348e", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12b4c28829cbc18e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f6ca01f93a5572de", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-727b9bc5bea40575", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e7c0d38b3933f234", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1bb238fefb014aac", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-92c0b0059e0aeec8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46c420d41362c86c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9cb9c381518926d1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07ed7af92af74278", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fb2ae55beab5b946", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e01a6d4cbf3a2515", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c4810f70083e6b4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a346575cd7dd0f11", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-34cad7ddb6cd9cc3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05f9fbc2ebfb6df4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54962fc564ee4f64", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c01f7e9d3be2c925", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-513c900d032b1c05", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57e325224e03f28a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-978f19a8c7b0bede", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-34d08419a8eda057", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a595b48cf50e95ed", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28c031baeb10cf6d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-573f29c4bb882f8a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f9405b8b9d9ff7f8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0873a7f9c5441d0e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5f44c4bbca611caf", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f50f96b6ebd4503", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4491b0a45c7c9b6b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fa3b7922931d7b06", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9a1091f652906a18", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0432d7f7c707191", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54160311cde1e770", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7be1d950a28162e0", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2cbeddcbc09deebf", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2382f73f3ed59a28", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-58b7dd3763a4133d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-955ba685521e6fcd", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3556afa48b696fee", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6faef91c9bb8227", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13f2ce9cd544cd74", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f886920c449992ab", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-efaae38feef9fab3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-82d52dcddde46f0f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-322d58d7a6f36125", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fa404c26a54bdaf", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e32d0ea618da2694", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-301136ad2bf8a29b", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-29e5d48d94484ae8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2dca983b729ce325", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ffe6c63343ecaa67", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f5c8a8b3e64f1495", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fbd133571460eee", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca4b67dabbd5e72e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-021875b2c322248f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00b74954223e53df", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f7acd2214a639cd1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-082d63d0780b5f4d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bd4037eb1d06ada3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d53565c1abde52c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e44544eeadccae12", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9eb60c856d060f5c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7fef9158ddd3ac29", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-81ccf8d4fbb5432d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5839067271960f98", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-18af492b3de859b5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7adc7f9e621e1454", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f6aad96f080cbdf4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ac2fc3b94a37cda", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3bb217e36ea888e8", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a193a33dc0c63dc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e53562731b1c5a05", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a6a17b80a709608", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cff4299cebbed568", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84b758f09d48dfcc", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e1829932a77993a4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89a2e6ff4e79d9eb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c6d0bfd2324f7d22", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad0ed5c161926aa2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bc47c31a3b8d779a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de5f3546bce40269", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-00ca1d94d5c91cea", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ab0c9ac84c3e95f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6354cdc25129e74b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1ab146a3ac4df24", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0d0a356fd38c8f3", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebd6cbe9c71e6042", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11cadeb1efac6964", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0ca027d8bec6711", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-10989b0ecf1d11c5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6bdb88fb76d90364", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6b859155fa868bf1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a01ae8079fca317a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-19d1dadb37785f71", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd725411c45c5529", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c66c8e4d3414de80", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f3f5d87be0622a3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ae9e76f6d75d0fab", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f14cd1204a09bf68", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fd2ae0607c751bba", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b079a579a375058", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3acefdeaee280f38", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cde49dfaf00ed7e4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9315c13337718a6d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-801d64ea79487093", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2efc869c24a8ce14", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-956979d8e70b0352", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f0e83c72cfb9f79f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9c9251dcd962d5a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7263fc876a2c9f84", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8045074e423fa07", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d99ac31d7f850b67", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64bd913b8467e21c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fc2c5e033aa731b0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2dee857edadbc558", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eaf465dd98ebca54", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-371f566e1a50c240", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1b272d225ee2da4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f40e3ec659292b13", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c68576883cd545e7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93ccf43959f27029", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-993e11a96bb21e06", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27673c8e3bf62b75", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a79c76a587e7c8c7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cc7688678a18a1a", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1afe8c0d41508656", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52b9bd0df55df430", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-856dc0a0ae6cfabb", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84e9b53fb797bed2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-57c954f013376631", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0b43412a35b4bdd", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6ed03a78f79e7eb9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63e2a80928e0cfd5", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54ffe122a255de38", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dfb750896d8af2f3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9138eb1f7a5a17c4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c933d046827581ed", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1e3645a2b8f4d2d6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9bf7dd646dbc527e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f78928ca35a9cc5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bdb1fcce7ae392c3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e21d2ea305b02800", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2725198847b81640", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-971a5a50b5f8ddd4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30fc5f8ef53617a6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6a285250fe2af088", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a00864b67933b65", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-66bf2e8664f0aa7b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-87a2d16eaa5af2c2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4cdd8bab14e0a592", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-714a747eda52c775", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea6360637eb570a9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ea6730f95ef1a35", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af802cf512e40fc0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c1cfa9deb08f945", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a9145392552238b6", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d25400a8318e1ada", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d244c462bc9bac7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d134e43af31c3f3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dfb6c6bc1002f932", "name": "Very large file: App.tsx (3357 lines)", "shortDescription": {"text": "Very large file: App.tsx (3357 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19fe5aefff088736", "name": "Very large file: build-plugins/jobsSeoPagesPlugin.ts (11818 lines)", "shortDescription": {"text": "Very large file: build-plugins/jobsSeoPagesPlugin.ts (11818 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63174885d74589c7", "name": "Very large file: build-plugins/seoHubsPlugin.ts (2617 lines)", "shortDescription": {"text": "Very large file: build-plugins/seoHubsPlugin.ts (2617 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e49a64b85493f234", "name": "Very large file: build-plugins/fuelDailyPagesPlugin.ts (5498 lines)", "shortDescription": {"text": "Very large file: build-plugins/fuelDailyPagesPlugin.ts (5498 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7076aac6f2aa1fd3", "name": "Very large file: build-plugins/professionLandingsCopy.ts (1310 lines)", "shortDescription": {"text": "Very large file: build-plugins/professionLandingsCopy.ts (1310 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c02ef6bd47cdff9", "name": "Very large file: build-plugins/fuelStationIndexPages.ts (1342 lines)", "shortDescription": {"text": "Very large file: build-plugins/fuelStationIndexPages.ts (1342 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b316c3792383324", "name": "Very large file: build-plugins/borderMunicipalityPagesPlugin.ts (1080 lines)", "shortDescription": {"text": "Very large file: build-plugins/borderMunicipalityPagesPlugin.ts (1080 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2397d582cc5677ec", "name": "Very large file: build-plugins/jobSectorLanding.ts (1406 lines)", "shortDescription": {"text": "Very large file: build-plugins/jobSectorLanding.ts (1406 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7034f03dadb4e5cc", "name": "Very large file: build-plugins/annualReportPlugin.ts (1110 lines)", "shortDescription": {"text": "Very large file: build-plugins/annualReportPlugin.ts (1110 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7f2dd092635a486", "name": "Very large file: build-plugins/weeklyEmployersPlugin.ts (4286 lines)", "shortDescription": {"text": "Very large file: build-plugins/weeklyEmployersPlugin.ts (4286 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84ac6603bc22e240", "name": "Very large file: build-plugins/editorialContent.ts (3447 lines)", "shortDescription": {"text": "Very large file: build-plugins/editorialContent.ts (3447 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a1a4aec68cf7a926", "name": "Very large file: build-plugins/ogPagesPlugin.ts (1159 lines)", "shortDescription": {"text": "Very large file: build-plugins/ogPagesPlugin.ts (1159 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-87371196ee22b378", "name": "Very large file: build-plugins/nursingLandingsCopy.ts (1572 lines)", "shortDescription": {"text": "Very large file: build-plugins/nursingLandingsCopy.ts (1572 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af749fa991a7f596", "name": "Very large file: build-plugins/healthPremiumsLandingPlugin.ts (3441 lines)", "shortDescription": {"text": "Very large file: build-plugins/healthPremiumsLandingPlugin.ts (3441 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8cff6b1a5dbc9d88", "name": "Very large file: build-plugins/relatedSearchClustersPlugin.ts (2848 lines)", "shortDescription": {"text": "Very large file: build-plugins/relatedSearchClustersPlugin.ts (2848 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-693ca3ce410eb224", "name": "Very large file: build-plugins/orphanQueryLandingPlugin.ts (1116 lines)", "shortDescription": {"text": "Very large file: build-plugins/orphanQueryLandingPlugin.ts (1116 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f737d81d53d9382d", "name": "Very large file: build-plugins/careerLandingsCopy.ts (1782 lines)", "shortDescription": {"text": "Very large file: build-plugins/careerLandingsCopy.ts (1782 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb9f5fc66d940c39", "name": "Very large file: build-plugins/staticPagesPlugin.ts (4973 lines)", "shortDescription": {"text": "Very large file: build-plugins/staticPagesPlugin.ts (4973 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83ec20266346ee50", "name": "Very large file: build-plugins/jobMarketSnapshotPlugin.ts (3299 lines)", "shortDescription": {"text": "Very large file: build-plugins/jobMarketSnapshotPlugin.ts (3299 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fa235476f074f9d1", "name": "Very large file: build-plugins/sectionPagesPlugin.ts (1150 lines)", "shortDescription": {"text": "Very large file: build-plugins/sectionPagesPlugin.ts (1150 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e51704f249e3b8f0", "name": "Very large file: build-plugins/costOfLivingLandingsCopy.ts (841 lines)", "shortDescription": {"text": "Very large file: build-plugins/costOfLivingLandingsCopy.ts (841 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bf9dec4bfeb0e67", "name": "Very large file: build-plugins/jobEditorialLanding.ts (2549 lines)", "shortDescription": {"text": "Very large file: build-plugins/jobEditorialLanding.ts (2549 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-102b280f5985aa00", "name": "Very large file: build-plugins/borderWaitPagesPlugin.ts (2729 lines)", "shortDescription": {"text": "Very large file: build-plugins/borderWaitPagesPlugin.ts (2729 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-09a9fcf99d5b009a", "name": "Very large file: build-plugins/shared/relatedLinks.ts (1408 lines)", "shortDescription": {"text": "Very large file: build-plugins/shared/relatedLinks.ts (1408 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9bb51bd5137d262f", "name": "Very large file: build-plugins/shared/salaryLandingShell.ts (2138 lines)", "shortDescription": {"text": "Very large file: build-plugins/shared/salaryLandingShell.ts (2138 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf897902aefb3429", "name": "Very large file: tests/health-premiums-landing.test.ts (1839 lines)", "shortDescription": {"text": "Very large file: tests/health-premiums-landing.test.ts (1839 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9bbde2245986d607", "name": "Very large file: scripts/sync-gsc-orphans.mjs (1482 lines)", "shortDescription": {"text": "Very large file: scripts/sync-gsc-orphans.mjs (1482 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed54aa25c95bb75e", "name": "Very large file: scripts/audit-dist-multi.mjs (1964 lines)", "shortDescription": {"text": "Very large file: scripts/audit-dist-multi.mjs (1964 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db3c01e7eb9829b4", "name": "Very large file: scripts/send-newsletter.mjs (2311 lines)", "shortDescription": {"text": "Very large file: scripts/send-newsletter.mjs (2311 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b4d58f124821568f", "name": "Very large file: scripts/analytics-report.mjs (4379 lines)", "shortDescription": {"text": "Very large file: scripts/analytics-report.mjs (4379 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37445149e1072f0e", "name": "Very large file: scripts/assemble-jobs-dataset.mjs (2075 lines)", "shortDescription": {"text": "Very large file: scripts/assemble-jobs-dataset.mjs (2075 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20d9a84a1a98865f", "name": "Very large file: scripts/create-article.mjs (8276 lines)", "shortDescription": {"text": "Very large file: scripts/create-article.mjs (8276 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a1a7a733822a0db6", "name": "Very large file: scripts/update-usi-jobs.mjs (1363 lines)", "shortDescription": {"text": "Very large file: scripts/update-usi-jobs.mjs (1363 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-023b822f9471c2a3", "name": "Very large file: scripts/re-enrich-jobs.mjs (1116 lines)", "shortDescription": {"text": "Very large file: scripts/re-enrich-jobs.mjs (1116 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f10282d7c90f5608", "name": "Very large file: scripts/relocalize-pending-jobs.mjs (1144 lines)", "shortDescription": {"text": "Very large file: scripts/relocalize-pending-jobs.mjs (1144 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef3ab3eff11e13ab", "name": "Very large file: scripts/send-job-alerts.mjs (1182 lines)", "shortDescription": {"text": "Very large file: scripts/send-job-alerts.mjs (1182 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ebe55946cca46c7", "name": "Very large file: scripts/update-lis-jobs.mjs (1216 lines)", "shortDescription": {"text": "Very large file: scripts/update-lis-jobs.mjs (1216 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-623bc7d6a779074f", "name": "Very large file: scripts/lib/dedicated-crawler-common.mjs (6098 lines)", "shortDescription": {"text": "Very large file: scripts/lib/dedicated-crawler-common.mjs (6098 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74f3966aa6cf6581", "name": "Very large file: scripts/lib/shared-jobs-crawler.mjs (5559 lines)", "shortDescription": {"text": "Very large file: scripts/lib/shared-jobs-crawler.mjs (5559 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f411bafef6ba934", "name": "Very large file: scripts/lib/ai-models.mjs (2800 lines)", "shortDescription": {"text": "Very large file: scripts/lib/ai-models.mjs (2800 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-82024c1f229a0f1a", "name": "Very large file: components/vita/TicinoCompanies.tsx (961 lines)", "shortDescription": {"text": "Very large file: components/vita/TicinoCompanies.tsx (961 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-59e4e9659fde131e", "name": "Very large file: components/shared/SiteSearch.tsx (1515 lines)", "shortDescription": {"text": "Very large file: components/shared/SiteSearch.tsx (1515 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d42d61de417339db", "name": "Very large file: components/shared/LeadMagnetCTA.tsx (1100 lines)", "shortDescription": {"text": "Very large file: components/shared/LeadMagnetCTA.tsx (1100 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff8b4e255624687d", "name": "Very large file: components/community/JobBoard.tsx (7857 lines)", "shortDescription": {"text": "Very large file: components/community/JobBoard.tsx (7857 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c15a37c9218ec7a3", "name": "Very large file: components/community/WhatsNewModal.tsx (2148 lines)", "shortDescription": {"text": "Very large file: components/community/WhatsNewModal.tsx (2148 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-150a5067d64f594b", "name": "Very large file: components/community/BlogArticles.tsx (2823 lines)", "shortDescription": {"text": "Very large file: components/community/BlogArticles.tsx (2823 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-593ca65276a9bcd6", "name": "Very large file: components/pages/PublisherPublishPage.tsx (1818 lines)", "shortDescription": {"text": "Very large file: components/pages/PublisherPublishPage.tsx (1818 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb13ff0bea643232", "name": "Very large file: components/pages/UserProfile.tsx (1807 lines)", "shortDescription": {"text": "Very large file: components/pages/UserProfile.tsx (1807 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-daaafba95de2df14", "name": "Very large file: components/pages/AdminPanel.tsx (3224 lines)", "shortDescription": {"text": "Very large file: components/pages/AdminPanel.tsx (3224 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad0fd4976a4493fd", "name": "Very large file: components/calculator/InputCard.tsx (1110 lines)", "shortDescription": {"text": "Very large file: components/calculator/InputCard.tsx (1110 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9081a02108443399", "name": "Very large file: components/guide/FrontierGuide.tsx (2837 lines)", "shortDescription": {"text": "Very large file: components/guide/FrontierGuide.tsx (2837 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2436d0a0c3d14231", "name": "Very large file: services/analytics.ts (1902 lines)", "shortDescription": {"text": "Very large file: services/analytics.ts (1902 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-124e44ffb1182eb1", "name": "Very large file: services/employerBrands.ts (1506 lines)", "shortDescription": {"text": "Very large file: services/employerBrands.ts (1506 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8f6cc19a0e9ee59", "name": "Very large file: services/routerBlogData.ts (2724 lines)", "shortDescription": {"text": "Very large file: services/routerBlogData.ts (2724 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b69575953fb9b9f1", "name": "Very large file: services/seoService.ts (4625 lines)", "shortDescription": {"text": "Very large file: services/seoService.ts (4625 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6ef9898035260907", "name": "Very large file: services/authService.ts (1557 lines)", "shortDescription": {"text": "Very large file: services/authService.ts (1557 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9671c749fdddafc7", "name": "Very large file: services/router.ts (3813 lines)", "shortDescription": {"text": "Very large file: services/router.ts (3813 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10584496ffba63aa", "name": "Very large file: services/locales/de-guide.ts (1012 lines)", "shortDescription": {"text": "Very large file: services/locales/de-guide.ts (1012 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71af1c2dcf53820c", "name": "Very large file: services/locales/en-fisco.ts (874 lines)", "shortDescription": {"text": "Very large file: services/locales/en-fisco.ts (874 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1106c1704f43a3cf", "name": "Very large file: services/locales/it-guide.ts (1038 lines)", "shortDescription": {"text": "Very large file: services/locales/it-guide.ts (1038 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f73b8d6a4a9bc97", "name": "Very large file: services/locales/en-core.ts (3400 lines)", "shortDescription": {"text": "Very large file: services/locales/en-core.ts (3400 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ea73e21d57fa5e0", "name": "Very large file: services/locales/de-fisco.ts (874 lines)", "shortDescription": {"text": "Very large file: services/locales/de-fisco.ts (874 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c01abfd0885c6e45", "name": "Very large file: services/locales/it-core.ts (3489 lines)", "shortDescription": {"text": "Very large file: services/locales/it-core.ts (3489 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba3e12707f7d4243", "name": "Very large file: services/locales/it-fisco.ts (905 lines)", "shortDescription": {"text": "Very large file: services/locales/it-fisco.ts (905 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95cccfa668869653", "name": "Very large file: services/locales/fr-core.ts (3403 lines)", "shortDescription": {"text": "Very large file: services/locales/fr-core.ts (3403 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c060b5a2058c2ee6", "name": "Very large file: services/locales/fr-guide.ts (1012 lines)", "shortDescription": {"text": "Very large file: services/locales/fr-guide.ts (1012 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6bfa4bff75dca446", "name": "Very large file: services/locales/fr-fisco.ts (874 lines)", "shortDescription": {"text": "Very large file: services/locales/fr-fisco.ts (874 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a62dee4d4bc78441", "name": "Very large file: services/locales/en-guide.ts (1012 lines)", "shortDescription": {"text": "Very large file: services/locales/en-guide.ts (1012 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e46824345701891", "name": "Very large file: services/locales/de-core.ts (3403 lines)", "shortDescription": {"text": "Very large file: services/locales/de-core.ts (3403 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b0145fefe26da276", "name": "Very large file: services/seo/seo-blog-3.ts (2024 lines)", "shortDescription": {"text": "Very large file: services/seo/seo-blog-3.ts (2024 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de3234754f2197d8", "name": "Very large file: services/seo/seo-blog-7.ts (9164 lines)", "shortDescription": {"text": "Very large file: services/seo/seo-blog-7.ts (9164 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83ffd6a2a2696d6a", "name": "Very large file: services/seo/seo-blog-4.ts (5421 lines)", "shortDescription": {"text": "Very large file: services/seo/seo-blog-4.ts (5421 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc2e21e97f2bf704", "name": "Very large file: services/seo/seo-blog-6.ts (9176 lines)", "shortDescription": {"text": "Very large file: services/seo/seo-blog-6.ts (9176 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-765af0adf3d78dfe", "name": "Very large file: services/seo/faq-translations.ts (4612 lines)", "shortDescription": {"text": "Very large file: services/seo/faq-translations.ts (4612 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e61bc1e93cd7fc2", "name": "Very large file: services/seo/seo-blog-2.ts (4835 lines)", "shortDescription": {"text": "Very large file: services/seo/seo-blog-2.ts (4835 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ee7a26b7c6d9734", "name": "Very large file: services/seo/seo-blog-ch.ts (2209 lines)", "shortDescription": {"text": "Very large file: services/seo/seo-blog-ch.ts (2209 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "928 test file(s) for 12946 source file(s) (ratio 0.07). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-58ac4bdd8d2e5578", "name": "53 TODO/FIXME markers", "shortDescription": {"text": "53 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 7182 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 427 placeholder/mock markers across 175 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cc55229a7a3c078d", "name": "Agent authority lacks a verifier contract: .mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-122f91b7f2906dc4", "name": "Agent authority lacks a verifier contract: .claude/settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-48bb108fff8e8dbe", "name": "Agent instruction/config may expose a secret: .github/copilot-instructions.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .github/copilot-instructions.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-22a534af3eb50d3f", "name": "Commented-code block (5 lines) in vite.config.ts:113", "shortDescription": {"text": "Commented-code block (5 lines) in vite.config.ts:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-49f08fc54270137e", "name": "Commented-code block (9 lines) in index.tsx:91", "shortDescription": {"text": "Commented-code block (9 lines) in index.tsx:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b604f8ffe6dc9631", "name": "Commented-code block (5 lines) in knip.config.ts:108", "shortDescription": {"text": "Commented-code block (5 lines) in knip.config.ts:108"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d68b2ea45ddaa683", "name": "Commented-code block (9 lines) in App.tsx:205", "shortDescription": {"text": "Commented-code block (9 lines) in App.tsx:205"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-11b52e9549c1f26f", "name": "Commented-code block (8 lines) in vitest.config.ts:26", "shortDescription": {"text": "Commented-code block (8 lines) in vitest.config.ts:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-085672e5689908ad", "name": "Commented-code block (9 lines) in build-plugins/salaryHubContent.ts:159", "shortDescription": {"text": "Commented-code block (9 lines) in build-plugins/salaryHubContent.ts:159"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf94f31378635bb8", "name": "Legacy-named symbol `__tRelatedLegacy` in build-plugins/jobsSeoPagesPlugin.ts:2140", "shortDescription": {"text": "Legacy-named symbol `__tRelatedLegacy` in build-plugins/jobsSeoPagesPlugin.ts:2140"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3e09cee37ecf7b4c", "name": "Commented-code block (5 lines) in build-plugins/jobsSeoPagesPlugin.ts:149", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/jobsSeoPagesPlugin.ts:149"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bdb75e8da6264395", "name": "`fetch()` without try/.catch or AbortSignal \u2014 build-plugins/jobsSeoPagesPlugin.ts:10622", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 build-plugins/jobsSeoPagesPlugin.ts:10622"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-408cc4023b53ae98", "name": "Commented-code block (5 lines) in build-plugins/salaryHubIndex.ts:570", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/salaryHubIndex.ts:570"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a1d1c36abbc2c49f", "name": "Commented-code block (6 lines) in build-plugins/seoHubsPlugin.ts:255", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/seoHubsPlugin.ts:255"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf5456ee22c6d7dc", "name": "Legacy-named symbol `jobLegacy` in build-plugins/legacyAliasPlugin.ts:212", "shortDescription": {"text": "Legacy-named symbol `jobLegacy` in build-plugins/legacyAliasPlugin.ts:212"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00e4a0ed4fd74361", "name": "Commented-code block (6 lines) in build-plugins/legacyAliasPlugin.ts:223", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/legacyAliasPlugin.ts:223"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad61325392055c81", "name": "Legacy-named symbol `safeLegacy` in build-plugins/calculatorLegacyAliasPlugin.ts:131", "shortDescription": {"text": "Legacy-named symbol `safeLegacy` in build-plugins/calculatorLegacyAliasPlugin.ts:131"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95bea9b57889fc16", "name": "Commented-code block (5 lines) in build-plugins/calculatorLegacyAliasPlugin.ts:162", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/calculatorLegacyAliasPlugin.ts:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0baa9fb92758e6bd", "name": "Commented-code block (7 lines) in build-plugins/relatedSearchClustersData.ts:227", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/relatedSearchClustersData.ts:227"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-286acc7a2de58b6f", "name": "Commented-code block (7 lines) in build-plugins/fuelDailyPagesPlugin.ts:70", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/fuelDailyPagesPlugin.ts:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fcb269f91aa1ebd4", "name": "Commented-code block (5 lines) in build-plugins/fuelStationIndexPages.ts:88", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/fuelStationIndexPages.ts:88"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8a2d4ae27b84ed4", "name": "Commented-code block (6 lines) in build-plugins/cfHot404BridgePlugin.ts:54", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/cfHot404BridgePlugin.ts:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b97c319b714f64c7", "name": "Commented-code block (8 lines) in build-plugins/htmlTemplate.ts:212", "shortDescription": {"text": "Commented-code block (8 lines) in build-plugins/htmlTemplate.ts:212"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2bc3e9768f13d103", "name": "Commented-code block (5 lines) in build-plugins/jobMarketSnapshotChCantonPages.ts:470", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/jobMarketSnapshotChCantonPages.ts:470"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4ab841796e1a6a17", "name": "Commented-code block (6 lines) in build-plugins/postWalkCoordinatorPlugin.ts:327", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/postWalkCoordinatorPlugin.ts:327"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-047c4c0b2350de84", "name": "`fetch()` without try/.catch or AbortSignal \u2014 build-plugins/borderWaitHydrationScript.ts:98", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 build-plugins/borderWaitHydrationScript.ts:98"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2e40b7a85eece80d", "name": "Commented-code block (7 lines) in build-plugins/salaryHubArticles.ts:572", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/salaryHubArticles.ts:572"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05dc43577a505c38", "name": "Commented-code block (6 lines) in build-plugins/localeJobsSplitPlugin.ts:104", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/localeJobsSplitPlugin.ts:104"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a1b6f7424f9637a3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 build-plugins/localeJobsSplitPlugin.ts:107", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 build-plugins/localeJobsSplitPlugin.ts:107"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e135851dc00118b", "name": "Commented-code block (5 lines) in build-plugins/postWalkWorker.mjs:63", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/postWalkWorker.mjs:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f3aa856026cc72e7", "name": "Commented-code block (11 lines) in build-plugins/batchWrite.ts:146", "shortDescription": {"text": "Commented-code block (11 lines) in build-plugins/batchWrite.ts:146"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aba8dca00c29edc1", "name": "Commented-code block (5 lines) in build-plugins/jobSectorLanding.ts:627", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/jobSectorLanding.ts:627"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd6f5bef40fccb91", "name": "Commented-code block (13 lines) in build-plugins/cantonOrphanRedirectsPlugin.ts:101", "shortDescription": {"text": "Commented-code block (13 lines) in build-plugins/cantonOrphanRedirectsPlugin.ts:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b391693d29915c88", "name": "Commented-code block (6 lines) in build-plugins/weatherCityPagesPlugin.ts:578", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/weatherCityPagesPlugin.ts:578"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47d8b6a3f14cbf35", "name": "Commented-code block (6 lines) in build-plugins/weeklyEmployersChCantonPages.ts:361", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/weeklyEmployersChCantonPages.ts:361"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e06c14c9da8e08b", "name": "Commented-code block (7 lines) in build-plugins/annualReportPlugin.ts:698", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/annualReportPlugin.ts:698"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aee443100d818baa", "name": "Commented-code block (12 lines) in build-plugins/blogImageCdnFinalizePlugin.ts:7", "shortDescription": {"text": "Commented-code block (12 lines) in build-plugins/blogImageCdnFinalizePlugin.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b444aa1a6e48fe8c", "name": "Commented-code block (5 lines) in build-plugins/salaryHubPlugin.ts:246", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/salaryHubPlugin.ts:246"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9813e4239e08b21a", "name": "Commented-code block (6 lines) in build-plugins/jobRecencyPagesPlugin.ts:174", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/jobRecencyPagesPlugin.ts:174"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f03e063d72f285f0", "name": "Commented-code block (6 lines) in build-plugins/costOfLivingLandingsPlugin.ts:162", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/costOfLivingLandingsPlugin.ts:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4a4ec311be2fb828", "name": "Commented-code block (7 lines) in build-plugins/salaryStatsChCantonPages.ts:235", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/salaryStatsChCantonPages.ts:235"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-df4e3236e1fb3683", "name": "Commented-code block (6 lines) in build-plugins/seoHubsData.ts:58", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/seoHubsData.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a5aa1d5e1319196", "name": "Commented-code block (5 lines) in build-plugins/jobSectorPagesPlugin.ts:277", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/jobSectorPagesPlugin.ts:277"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1574df70370a62de", "name": "Commented-code block (5 lines) in build-plugins/constants.ts:342", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/constants.ts:342"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bdffe3e98ab6bfcc", "name": "Commented-code block (5 lines) in build-plugins/searchConsoleCompat.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/searchConsoleCompat.ts:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b94a418012bee800", "name": "Commented-code block (6 lines) in build-plugins/healthPremiumsData.ts:860", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/healthPremiumsData.ts:860"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cef172295ac58abe", "name": "Commented-code block (6 lines) in build-plugins/weeklyEmployersPlugin.ts:122", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/weeklyEmployersPlugin.ts:122"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-443ac6b929f9a1ce", "name": "Commented-code block (5 lines) in build-plugins/editorialContent.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/editorialContent.ts:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5ae937bd9086c09", "name": "Commented-code block (6 lines) in build-plugins/legacyRedirectsPlugin.ts:268", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/legacyRedirectsPlugin.ts:268"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5ec238b583557b1", "name": "Commented-code block (5 lines) in build-plugins/fuelDailyData.ts:149", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/fuelDailyData.ts:149"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6863b71652432d4", "name": "Commented-code block (5 lines) in build-plugins/jobOgImagesPlugin.ts:543", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/jobOgImagesPlugin.ts:543"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7cf022af1d133962", "name": "Commented-code block (7 lines) in build-plugins/ogPagesPlugin.ts:45", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/ogPagesPlugin.ts:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73cf1b682c41b5d5", "name": "Commented-code block (6 lines) in build-plugins/companyHubBridgePlugin.ts:365", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/companyHubBridgePlugin.ts:365"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab47bd2ee20f33de", "name": "Commented-code block (7 lines) in build-plugins/flatHtmlRedirectPlugin.ts:158", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/flatHtmlRedirectPlugin.ts:158"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6048549e32d4cb94", "name": "Commented-code block (6 lines) in build-plugins/profilePlugin.ts:81", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/profilePlugin.ts:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a2b6eaceddb0a632", "name": "Commented-code block (5 lines) in build-plugins/nursingLandingsCopy.ts:50", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/nursingLandingsCopy.ts:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34a2be266228c1cb", "name": "Commented-code block (13 lines) in build-plugins/healthPremiumsLandingPlugin.ts:2036", "shortDescription": {"text": "Commented-code block (13 lines) in build-plugins/healthPremiumsLandingPlugin.ts:2036"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dda788af065283e9", "name": "Commented-code block (14 lines) in build-plugins/relatedSearchClustersPlugin.ts:110", "shortDescription": {"text": "Commented-code block (14 lines) in build-plugins/relatedSearchClustersPlugin.ts:110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f354cad91c9c142", "name": "Commented-code block (5 lines) in build-plugins/salaryHubScenarios.ts:37", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/salaryHubScenarios.ts:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad5015c18a167bfa", "name": "Commented-code block (7 lines) in build-plugins/writeRegistryLifecyclePlugin.ts:94", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/writeRegistryLifecyclePlugin.ts:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-534110d118ae5347", "name": "Commented-code block (5 lines) in build-plugins/orphanQueryLandingPlugin.ts:501", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/orphanQueryLandingPlugin.ts:501"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-38937cd563da22d3", "name": "Commented-code block (5 lines) in build-plugins/professionCantonLandings.ts:340", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/professionCantonLandings.ts:340"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-78875c94114df3e9", "name": "Commented-code block (6 lines) in build-plugins/staticPagesPlugin.ts:82", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/staticPagesPlugin.ts:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cc5320f9647559f6", "name": "Commented-code block (11 lines) in build-plugins/sharedWriteRegistry.ts:263", "shortDescription": {"text": "Commented-code block (11 lines) in build-plugins/sharedWriteRegistry.ts:263"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-50032b128bab841c", "name": "Commented-code block (5 lines) in build-plugins/cityJobsAggregate.ts:267", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/cityJobsAggregate.ts:267"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f56acacbada8d90", "name": "Commented-code block (7 lines) in build-plugins/frSalaireNetLandingPlugin.ts:95", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/frSalaireNetLandingPlugin.ts:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c70dd7d4dc30aee", "name": "Commented-code block (5 lines) in build-plugins/weeklyEmployersData.ts:335", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/weeklyEmployersData.ts:335"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-484ada4052a7de83", "name": "Commented-code block (8 lines) in build-plugins/weatherBorderWaitFusionPlugin.ts:189", "shortDescription": {"text": "Commented-code block (8 lines) in build-plugins/weatherBorderWaitFusionPlugin.ts:189"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29ac2af01c7181ab", "name": "Commented-code block (7 lines) in build-plugins/jobMarketSnapshotPlugin.ts:110", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/jobMarketSnapshotPlugin.ts:110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c7d80a7d7ad0fbc2", "name": "Commented-code block (6 lines) in build-plugins/careerJobsAggregate.ts:522", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/careerJobsAggregate.ts:522"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d10a13eb503ddd64", "name": "Commented-code block (11 lines) in build-plugins/sectionPagesPlugin.ts:902", "shortDescription": {"text": "Commented-code block (11 lines) in build-plugins/sectionPagesPlugin.ts:902"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d913e9ad4fb5fa7f", "name": "Commented-code block (5 lines) in build-plugins/comparisonsHubAggregate.ts:234", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/comparisonsHubAggregate.ts:234"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b43155766ccbb63", "name": "Commented-code block (8 lines) in build-plugins/hreflangPostprocessPlugin.ts:133", "shortDescription": {"text": "Commented-code block (8 lines) in build-plugins/hreflangPostprocessPlugin.ts:133"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dcdccaa3780c551d", "name": "Commented-code block (7 lines) in build-plugins/asyncCssPlugin.ts:26", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/asyncCssPlugin.ts:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-452b533da38c8523", "name": "Commented-code block (11 lines) in build-plugins/borderWaitMapPlugin.ts:499", "shortDescription": {"text": "Commented-code block (11 lines) in build-plugins/borderWaitMapPlugin.ts:499"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27a962ca69cabadd", "name": "Commented-code block (6 lines) in build-plugins/costOfLivingLandingsCopy.ts:25", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/costOfLivingLandingsCopy.ts:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-616d4a4f0b82bd26", "name": "Commented-code block (5 lines) in build-plugins/publisherAdPagesPlugin.ts:183", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/publisherAdPagesPlugin.ts:183"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ba4fa96ddbd7796", "name": "Legacy-named symbol `fromLegacy` in build-plugins/jobEditorialLanding.ts:1438", "shortDescription": {"text": "Legacy-named symbol `fromLegacy` in build-plugins/jobEditorialLanding.ts:1438"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ed6c8e3311a0aec", "name": "Commented-code block (6 lines) in build-plugins/jobEditorialLanding.ts:81", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/jobEditorialLanding.ts:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8cd4ee13f154391", "name": "Commented-code block (5 lines) in build-plugins/borderWaitPagesPlugin.ts:111", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/borderWaitPagesPlugin.ts:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d4c75f06ceb63f2b", "name": "Commented-code block (6 lines) in build-plugins/faqHubPlugin.ts:392", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/faqHubPlugin.ts:392"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-866b9996951bfc52", "name": "Commented-code block (10 lines) in build-plugins/shared/cantonHubEditorial.ts:116", "shortDescription": {"text": "Commented-code block (10 lines) in build-plugins/shared/cantonHubEditorial.ts:116"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5dd30546815eba61", "name": "Commented-code block (9 lines) in build-plugins/shared/brandCanonicalMap.ts:83", "shortDescription": {"text": "Commented-code block (9 lines) in build-plugins/shared/brandCanonicalMap.ts:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-892875a43b9ad0a2", "name": "Commented-code block (6 lines) in build-plugins/shared/cantonSalaryIndex.ts:115", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/cantonSalaryIndex.ts:115"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-85aadeeab66c5472", "name": "Commented-code block (6 lines) in build-plugins/shared/jobListingProse.ts:68", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/jobListingProse.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f3fec4bcdaddffa", "name": "Commented-code block (6 lines) in build-plugins/shared/cantonSeoProse.ts:123", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/cantonSeoProse.ts:123"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ccaf3a23615795f", "name": "Commented-code block (6 lines) in build-plugins/shared/redirectStubMarker.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/redirectStubMarker.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c456921a00888e8", "name": "Commented-code block (7 lines) in build-plugins/shared/redirectStubMarker.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/shared/redirectStubMarker.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ea2804686577aa8", "name": "Commented-code block (5 lines) in build-plugins/shared/precomputeCache.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/shared/precomputeCache.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-805d8667f3c33afd", "name": "Commented-code block (8 lines) in build-plugins/shared/slimJobIndex.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in build-plugins/shared/slimJobIndex.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82664e7bca63c7ac", "name": "Commented-code block (6 lines) in build-plugins/shared/jobBoardCommuterContext.ts:196", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/jobBoardCommuterContext.ts:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-952ac9dfd1f5d79d", "name": "Commented-code block (7 lines) in build-plugins/shared/ejpMarker.mjs:3", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/shared/ejpMarker.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d3d94d3b6f97c003", "name": "Commented-code block (6 lines) in build-plugins/shared/bridgeThinShell.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/bridgeThinShell.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d4af39d39a8dfcd5", "name": "Commented-code block (9 lines) in build-plugins/shared/clusterThinShell.ts:11", "shortDescription": {"text": "Commented-code block (9 lines) in build-plugins/shared/clusterThinShell.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e6eededa4e884a4", "name": "Commented-code block (8 lines) in build-plugins/shared/cantonResolvers.mjs:3", "shortDescription": {"text": "Commented-code block (8 lines) in build-plugins/shared/cantonResolvers.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93dd807efa0d7415", "name": "Commented-code block (8 lines) in build-plugins/shared/employerCardHtml.ts:78", "shortDescription": {"text": "Commented-code block (8 lines) in build-plugins/shared/employerCardHtml.ts:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e62853d67c8a5fd9", "name": "Commented-code block (5 lines) in build-plugins/shared/stripLiteralMarkdown.ts:21", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/shared/stripLiteralMarkdown.ts:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cfbc9b4f2e4585dd", "name": "Commented-code block (9 lines) in build-plugins/shared/cantonCities.ts:7", "shortDescription": {"text": "Commented-code block (9 lines) in build-plugins/shared/cantonCities.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24f9901c99836793", "name": "Commented-code block (7 lines) in build-plugins/shared/relatedLinks.ts:892", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/shared/relatedLinks.ts:892"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3bf4a0a534c4d8ee", "name": "Commented-code block (5 lines) in build-plugins/shared/gscKeywordThinShell.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/shared/gscKeywordThinShell.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-281b297eef3e4f77", "name": "Commented-code block (5 lines) in build-plugins/shared/htmlMinify.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/shared/htmlMinify.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6800f27049f1222c", "name": "Commented-code block (5 lines) in build-plugins/shared/jobsSeoProfiler.ts:53", "shortDescription": {"text": "Commented-code block (5 lines) in build-plugins/shared/jobsSeoProfiler.ts:53"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e189265210688454", "name": "Commented-code block (6 lines) in build-plugins/shared/blogImageCdn.ts:12", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/blogImageCdn.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e991e296a89dbe56", "name": "Commented-code block (6 lines) in build-plugins/shared/seoContentTokens.ts:204", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/seoContentTokens.ts:204"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1851a841b0a5b161", "name": "Commented-code block (6 lines) in build-plugins/shared/ejpMarker.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/ejpMarker.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-942b92a40c333bdb", "name": "Commented-code block (11 lines) in build-plugins/shared/trafficEvidenceFilter.ts:9", "shortDescription": {"text": "Commented-code block (11 lines) in build-plugins/shared/trafficEvidenceFilter.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d82c5a7a5dfaad30", "name": "Commented-code block (8 lines) in build-plugins/shared/bridgePageProse.ts:50", "shortDescription": {"text": "Commented-code block (8 lines) in build-plugins/shared/bridgePageProse.ts:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ff51e62e47c66f7", "name": "Commented-code block (7 lines) in build-plugins/shared/salaryLandingShell.ts:159", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/shared/salaryLandingShell.ts:159"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7874d2571da4e46", "name": "Commented-code block (7 lines) in build-plugins/shared/cantonSection.ts:12", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/shared/cantonSection.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc2d7b9fc193063a", "name": "Commented-code block (10 lines) in build-plugins/shared/jobCardHtml.ts:178", "shortDescription": {"text": "Commented-code block (10 lines) in build-plugins/shared/jobCardHtml.ts:178"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-abea90469cfdb33b", "name": "Commented-code block (7 lines) in build-plugins/shared/softLandingThinShell.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/shared/softLandingThinShell.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-42c2c0bc40606b21", "name": "Commented-code block (10 lines) in build-plugins/shared/jobDetailHtml/highlightsChips.ts:30", "shortDescription": {"text": "Commented-code block (10 lines) in build-plugins/shared/jobDetailHtml/highlightsChips.ts:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f07ed7867901aaf", "name": "Commented-code block (7 lines) in build-plugins/shared/jobDescription/parser.ts:169", "shortDescription": {"text": "Commented-code block (7 lines) in build-plugins/shared/jobDescription/parser.ts:169"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ecde5e73cee05ed1", "name": "Commented-code block (6 lines) in build-plugins/shared/jobDescription/toHtml.ts:52", "shortDescription": {"text": "Commented-code block (6 lines) in build-plugins/shared/jobDescription/toHtml.ts:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cef168961fd0d8bf", "name": "Commented-code block (7 lines) in functions/src/stripePublisherCore.js:209", "shortDescription": {"text": "Commented-code block (7 lines) in functions/src/stripePublisherCore.js:209"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b3d5205864e2c159", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/linkedinAuthCallback.js:115", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/linkedinAuthCallback.js:115"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-775ee58c9e914689", "name": "Commented-code block (6 lines) in functions/src/newsletterUnosendWebhookCore.js:24", "shortDescription": {"text": "Commented-code block (6 lines) in functions/src/newsletterUnosendWebhookCore.js:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1eaa33dfec9695fa", "name": "Commented-code block (7 lines) in functions/src/trafficSchedulerCore.js:26", "shortDescription": {"text": "Commented-code block (7 lines) in functions/src/trafficSchedulerCore.js:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-568d762176852cd0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/trafficSchedulerCore.js:66", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/trafficSchedulerCore.js:66"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-95c05d2146785fc2", "name": "Commented-code block (5 lines) in functions/src/newsletterMailerooWebhookCore.js:93", "shortDescription": {"text": "Commented-code block (5 lines) in functions/src/newsletterMailerooWebhookCore.js:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62f6683d2bedd27b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/githubProxy.js:76", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/githubProxy.js:76"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-59c424afc87c1cc0", "name": "Commented-code block (5 lines) in functions/src/chatbotInference.js:41", "shortDescription": {"text": "Commented-code block (5 lines) in functions/src/chatbotInference.js:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-324a6f354001b253", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/chatbotInference.js:130", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/chatbotInference.js:130"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-835634b7f80a7372", "name": "Commented-code block (5 lines) in tests/pdf-job-content.test.ts:113", "shortDescription": {"text": "Commented-code block (5 lines) in tests/pdf-job-content.test.ts:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ae2026ff4e966c2", "name": "Commented-code block (8 lines) in tests/flat-html-redirect.test.ts:138", "shortDescription": {"text": "Commented-code block (8 lines) in tests/flat-html-redirect.test.ts:138"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc4a5a029a7f6afc", "name": "Commented-code block (6 lines) in tests/duferco-crawler.test.ts:134", "shortDescription": {"text": "Commented-code block (6 lines) in tests/duferco-crawler.test.ts:134"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-75f9a70a0bf50193", "name": "Commented-code block (7 lines) in tests/canton-snapshot-prose-comparator-href.test.ts:2", "shortDescription": {"text": "Commented-code block (7 lines) in tests/canton-snapshot-prose-comparator-href.test.ts:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3fae95cf9876d7ee", "name": "Legacy-named symbol `ref_legacy` in tests/newsletter-maileroo-webhook-core.test.ts:199", "shortDescription": {"text": "Legacy-named symbol `ref_legacy` in tests/newsletter-maileroo-webhook-core.test.ts:199"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c923febc4b4adc91", "name": "Commented-code block (7 lines) in tests/app-lite-shell.test.tsx:216", "shortDescription": {"text": "Commented-code block (7 lines) in tests/app-lite-shell.test.tsx:216"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6bc83b2ee3da8fd", "name": "Commented-code block (6 lines) in tests/cleanup-jobs-archive-dedup-losers.test.ts:145", "shortDescription": {"text": "Commented-code block (6 lines) in tests/cleanup-jobs-archive-dedup-losers.test.ts:145"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc257de755982661", "name": "Commented-code block (9 lines) in tests/canton-seo-prose-calc-href.test.ts:2", "shortDescription": {"text": "Commented-code block (9 lines) in tests/canton-seo-prose-calc-href.test.ts:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27e8f091c105b678", "name": "Commented-code block (5 lines) in tests/related-search-clusters-or-fill-floor.test.ts:32", "shortDescription": {"text": "Commented-code block (5 lines) in tests/related-search-clusters-or-fill-floor.test.ts:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e2af5cb7b957d96c", "name": "Commented-code block (5 lines) in tests/orphan-canton-paths.test.ts:74", "shortDescription": {"text": "Commented-code block (5 lines) in tests/orphan-canton-paths.test.ts:74"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a94ec31709a5f9f", "name": "Commented-code block (5 lines) in tests/regenerate-slugs-helpers.test.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in tests/regenerate-slugs-helpers.test.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c975f174e64956c8", "name": "Commented-code block (5 lines) in tests/meta-descriptions.test.ts:225", "shortDescription": {"text": "Commented-code block (5 lines) in tests/meta-descriptions.test.ts:225"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7961bcd6d801374d", "name": "Commented-code block (6 lines) in tests/alten-job-parser.test.ts:65", "shortDescription": {"text": "Commented-code block (6 lines) in tests/alten-job-parser.test.ts:65"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b355fccdfb40b4af", "name": "Commented-code block (7 lines) in tests/job-detail-seed.test.ts:100", "shortDescription": {"text": "Commented-code block (7 lines) in tests/job-detail-seed.test.ts:100"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7fb4528eb112fb4f", "name": "Commented-code block (5 lines) in tests/publisher-job-projection.test.ts:324", "shortDescription": {"text": "Commented-code block (5 lines) in tests/publisher-job-projection.test.ts:324"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dff25928dbdeb409", "name": "Commented-code block (5 lines) in tests/dist-salary-hub-footer-portal.test.ts:118", "shortDescription": {"text": "Commented-code block (5 lines) in tests/dist-salary-hub-footer-portal.test.ts:118"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-234923f6949249eb", "name": "Commented-code block (15 lines) in tests/noindex-builders.test.ts:103", "shortDescription": {"text": "Commented-code block (15 lines) in tests/noindex-builders.test.ts:103"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5092daf1e980fa5e", "name": "Commented-code block (5 lines) in tests/news-sitemap-whitelist.test.ts:51", "shortDescription": {"text": "Commented-code block (5 lines) in tests/news-sitemap-whitelist.test.ts:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-69300b2338e9c9ed", "name": "Commented-code block (5 lines) in tests/posthog-error-filter-may18.test.ts:45", "shortDescription": {"text": "Commented-code block (5 lines) in tests/posthog-error-filter-may18.test.ts:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-410dbf97cb3fdced", "name": "Commented-code block (10 lines) in tests/coop-crawler.test.ts:384", "shortDescription": {"text": "Commented-code block (10 lines) in tests/coop-crawler.test.ts:384"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ed2bacd9128639cf", "name": "Commented-code block (6 lines) in tests/adsense-lazy-load.test.ts:62", "shortDescription": {"text": "Commented-code block (6 lines) in tests/adsense-lazy-load.test.ts:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf105de0a5ead9ff", "name": "Commented-code block (6 lines) in tests/newsletter-template-tracking.test.ts:122", "shortDescription": {"text": "Commented-code block (6 lines) in tests/newsletter-template-tracking.test.ts:122"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91f7446868cfa9c5", "name": "Commented-code block (5 lines) in tests/search-console-compat.test.ts:22", "shortDescription": {"text": "Commented-code block (5 lines) in tests/search-console-compat.test.ts:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9903045224fb9383", "name": "Commented-code block (8 lines) in tests/luks-crawler.test.ts:181", "shortDescription": {"text": "Commented-code block (8 lines) in tests/luks-crawler.test.ts:181"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-78865f1f1fb19f5f", "name": "Commented-code block (8 lines) in tests/related-search-clusters-shell.test.ts:27", "shortDescription": {"text": "Commented-code block (8 lines) in tests/related-search-clusters-shell.test.ts:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-520e16c48dc6f7cd", "name": "Commented-code block (6 lines) in tests/url-max-length.test.ts:23", "shortDescription": {"text": "Commented-code block (6 lines) in tests/url-max-length.test.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c1dc4826b9854c8a", "name": "Commented-code block (10 lines) in tests/bridge-orphan-flicker-guard.test.ts:64", "shortDescription": {"text": "Commented-code block (10 lines) in tests/bridge-orphan-flicker-guard.test.ts:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f23819817ecf5ef4", "name": "Commented-code block (6 lines) in tests/related-search-clusters.test.ts:131", "shortDescription": {"text": "Commented-code block (6 lines) in tests/related-search-clusters.test.ts:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f48ac839b4d94d97", "name": "Commented-code block (6 lines) in tests/seo-completeness.test.ts:196", "shortDescription": {"text": "Commented-code block (6 lines) in tests/seo-completeness.test.ts:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad6713fbe8ef841b", "name": "Commented-code block (6 lines) in tests/crawler-regression-quality-guards.test.ts:203", "shortDescription": {"text": "Commented-code block (6 lines) in tests/crawler-regression-quality-guards.test.ts:203"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-791fe14385dde692", "name": "Commented-code block (6 lines) in tests/pre-spend-topic-gate.test.ts:176", "shortDescription": {"text": "Commented-code block (6 lines) in tests/pre-spend-topic-gate.test.ts:176"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a544b06432bbe56", "name": "Commented-code block (5 lines) in tests/fuel-diesel-italy.test.ts:47", "shortDescription": {"text": "Commented-code block (5 lines) in tests/fuel-diesel-italy.test.ts:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4efe69dd8bfe568", "name": "Commented-code block (5 lines) in tests/no-js-redirects-in-build.test.ts:68", "shortDescription": {"text": "Commented-code block (5 lines) in tests/no-js-redirects-in-build.test.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c69b5eddae31ece", "name": "Commented-code block (5 lines) in tests/sector-landing-content.test.ts:44", "shortDescription": {"text": "Commented-code block (5 lines) in tests/sector-landing-content.test.ts:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-425633e87af9d2ff", "name": "Commented-code block (5 lines) in tests/router.test.ts:578", "shortDescription": {"text": "Commented-code block (5 lines) in tests/router.test.ts:578"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0ee5df0626ca7ed", "name": "Commented-code block (5 lines) in tests/trafficService.quality.test.ts:140", "shortDescription": {"text": "Commented-code block (5 lines) in tests/trafficService.quality.test.ts:140"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1de510864ae81ac4", "name": "Commented-code block (5 lines) in tests/translation-length-ratio-gate.test.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in tests/translation-length-ratio-gate.test.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e10a9b1b57422cf", "name": "Commented-code block (8 lines) in tests/city-jobs-hub.test.ts:310", "shortDescription": {"text": "Commented-code block (8 lines) in tests/city-jobs-hub.test.ts:310"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6cd013e0e658d8d1", "name": "Commented-code block (8 lines) in tests/weekly-employers.test.ts:417", "shortDescription": {"text": "Commented-code block (8 lines) in tests/weekly-employers.test.ts:417"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ce4f0013b69458d5", "name": "Commented-code block (10 lines) in tests/deploy-workflow.test.ts:91", "shortDescription": {"text": "Commented-code block (10 lines) in tests/deploy-workflow.test.ts:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29abfa4703d7b875", "name": "Commented-code block (7 lines) in tests/google-news-compliance.test.ts:36", "shortDescription": {"text": "Commented-code block (7 lines) in tests/google-news-compliance.test.ts:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-704b978df9043f9d", "name": "Commented-code block (9 lines) in tests/audit-orphan-pages.test.ts:271", "shortDescription": {"text": "Commented-code block (9 lines) in tests/audit-orphan-pages.test.ts:271"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dfb5e6df711136cc", "name": "Commented-code block (6 lines) in tests/givaudan-crawler.test.ts:63", "shortDescription": {"text": "Commented-code block (6 lines) in tests/givaudan-crawler.test.ts:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0451c4a7ee1c3979", "name": "Commented-code block (7 lines) in tests/job-sector-landing.test.ts:552", "shortDescription": {"text": "Commented-code block (7 lines) in tests/job-sector-landing.test.ts:552"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0dd5edb76b824c66", "name": "Commented-code block (5 lines) in tests/fuel-station-redesign.test.ts:224", "shortDescription": {"text": "Commented-code block (5 lines) in tests/fuel-station-redesign.test.ts:224"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5ade0343cd49758", "name": "Commented-code block (6 lines) in tests/static-pages-seo-entry-lookup.test.ts:60", "shortDescription": {"text": "Commented-code block (6 lines) in tests/static-pages-seo-entry-lookup.test.ts:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-64739f0cfa56a420", "name": "Commented-code block (6 lines) in tests/blog-headline-validation.test.ts:214", "shortDescription": {"text": "Commented-code block (6 lines) in tests/blog-headline-validation.test.ts:214"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0533f56aac99c27f", "name": "Commented-code block (5 lines) in tests/jobboard-related-search-navigation.test.ts:61", "shortDescription": {"text": "Commented-code block (5 lines) in tests/jobboard-related-search-navigation.test.ts:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9187f6627d29e565", "name": "Commented-code block (5 lines) in tests/dedicated-crawler-thin-source-ratio-gate.test.ts:154", "shortDescription": {"text": "Commented-code block (5 lines) in tests/dedicated-crawler-thin-source-ratio-gate.test.ts:154"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9dc46c4bea8f7061", "name": "Commented-code block (5 lines) in tests/newsletter-qa-gate.test.ts:20", "shortDescription": {"text": "Commented-code block (5 lines) in tests/newsletter-qa-gate.test.ts:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ec9b105997cc421", "name": "Commented-code block (13 lines) in tests/bridge-canton-aware.test.ts:35", "shortDescription": {"text": "Commented-code block (13 lines) in tests/bridge-canton-aware.test.ts:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-543d3d51e8270986", "name": "Commented-code block (5 lines) in tests/switzerland-unemployment-parser.test.ts:57", "shortDescription": {"text": "Commented-code block (5 lines) in tests/switzerland-unemployment-parser.test.ts:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92f8b75437f606c8", "name": "Commented-code block (5 lines) in tests/dedicated-crawler-common.test.ts:511", "shortDescription": {"text": "Commented-code block (5 lines) in tests/dedicated-crawler-common.test.ts:511"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dddbe185c745df70", "name": "Commented-code block (5 lines) in tests/jobboard-detail-apply-links.test.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in tests/jobboard-detail-apply-links.test.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c5ff564ff0d62cf4", "name": "Commented-code block (5 lines) in tests/profession-canton-landings.test.ts:92", "shortDescription": {"text": "Commented-code block (5 lines) in tests/profession-canton-landings.test.ts:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f290d83c33b824f", "name": "Commented-code block (6 lines) in tests/comparator-href-ssot.test.ts:2", "shortDescription": {"text": "Commented-code block (6 lines) in tests/comparator-href-ssot.test.ts:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e8b8ad1963bbb14", "name": "Commented-code block (5 lines) in tests/setup.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in tests/setup.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fadb5b8a601899b2", "name": "Commented-code block (5 lines) in tests/dist-duplicate-meta-description.test.ts:63", "shortDescription": {"text": "Commented-code block (5 lines) in tests/dist-duplicate-meta-description.test.ts:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ae740457127defcf", "name": "Commented-code block (7 lines) in tests/allianz-source-lang.test.ts:44", "shortDescription": {"text": "Commented-code block (7 lines) in tests/allianz-source-lang.test.ts:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6523d9462ae80c41", "name": "Commented-code block (8 lines) in tests/raiffeisen-vc-crawler.test.ts:20", "shortDescription": {"text": "Commented-code block (8 lines) in tests/raiffeisen-vc-crawler.test.ts:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89b587cbb3fa320a", "name": "Commented-code block (5 lines) in tests/jina-proxy.test.ts:63", "shortDescription": {"text": "Commented-code block (5 lines) in tests/jina-proxy.test.ts:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-148b2503cd2ccba9", "name": "Commented-code block (5 lines) in tests/no-internal-nofollow.test.tsx:28", "shortDescription": {"text": "Commented-code block (5 lines) in tests/no-internal-nofollow.test.tsx:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bdce49e4627fda7d", "name": "Commented-code block (5 lines) in tests/solique-jsonld-parsers.test.ts:269", "shortDescription": {"text": "Commented-code block (5 lines) in tests/solique-jsonld-parsers.test.ts:269"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65a0d85f0fb99efd", "name": "Commented-code block (7 lines) in tests/canton-snapshot-prose-calc-href.test.ts:2", "shortDescription": {"text": "Commented-code block (7 lines) in tests/canton-snapshot-prose-calc-href.test.ts:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-15e541919c518b4e", "name": "Commented-code block (8 lines) in tests/reconcile-slugs-merged-count-contract.test.ts:10", "shortDescription": {"text": "Commented-code block (8 lines) in tests/reconcile-slugs-merged-count-contract.test.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef01d3096d9da946", "name": "Commented-code block (5 lines) in tests/fuel-daily-pages.test.ts:32", "shortDescription": {"text": "Commented-code block (5 lines) in tests/fuel-daily-pages.test.ts:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b7bd283eda571dc6", "name": "Commented-code block (9 lines) in tests/half-canton-merge.test.ts:208", "shortDescription": {"text": "Commented-code block (9 lines) in tests/half-canton-merge.test.ts:208"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ef735b2fbc6027f", "name": "Commented-code block (5 lines) in tests/static-pages-blog-skip.test.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in tests/static-pages-blog-skip.test.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-86b223138f9a0287", "name": "Commented-code block (6 lines) in tests/job-url-key.test.ts:47", "shortDescription": {"text": "Commented-code block (6 lines) in tests/job-url-key.test.ts:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4b9dc04ba9c9bbb9", "name": "Commented-code block (5 lines) in tests/fuel-generator-diesel-ranking.test.ts:26", "shortDescription": {"text": "Commented-code block (5 lines) in tests/fuel-generator-diesel-ranking.test.ts:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-049080a2bd0a4396", "name": "Commented-code block (7 lines) in tests/dxt-crawler.test.ts:23", "shortDescription": {"text": "Commented-code block (7 lines) in tests/dxt-crawler.test.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c90c055ac17c461", "name": "Commented-code block (5 lines) in tests/workflow-permissions-parity.test.ts:332", "shortDescription": {"text": "Commented-code block (5 lines) in tests/workflow-permissions-parity.test.ts:332"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a9baa94e96bff566", "name": "Commented-code block (8 lines) in tests/title-length.test.ts:19", "shortDescription": {"text": "Commented-code block (8 lines) in tests/title-length.test.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-70156575972fac73", "name": "Commented-code block (6 lines) in tests/job-locale-consistency.test.ts:19", "shortDescription": {"text": "Commented-code block (6 lines) in tests/job-locale-consistency.test.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-141afec56dc450bc", "name": "Commented-code block (5 lines) in tests/github-issue-creator-gate.test.ts:208", "shortDescription": {"text": "Commented-code block (5 lines) in tests/github-issue-creator-gate.test.ts:208"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3543df2692f8ff77", "name": "Commented-code block (5 lines) in tests/hirslanden-crawler.test.ts:201", "shortDescription": {"text": "Commented-code block (5 lines) in tests/hirslanden-crawler.test.ts:201"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-15b2b465e6380eb3", "name": "Commented-code block (6 lines) in tests/crawler-shared-fetch-retry.test.ts:145", "shortDescription": {"text": "Commented-code block (6 lines) in tests/crawler-shared-fetch-retry.test.ts:145"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5b001cdf5afcd046", "name": "Commented-code block (5 lines) in tests/post-build/faq-uniqueness.test.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in tests/post-build/faq-uniqueness.test.ts:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e33c5dfa174c2930", "name": "Commented-code block (5 lines) in tests/build-plugins/salaryLandingShell.test.ts:183", "shortDescription": {"text": "Commented-code block (5 lines) in tests/build-plugins/salaryLandingShell.test.ts:183"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-279600efae771321", "name": "Commented-code block (8 lines) in tests/build-plugins/criticalCssRootHeight.test.ts:58", "shortDescription": {"text": "Commented-code block (8 lines) in tests/build-plugins/criticalCssRootHeight.test.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1f0d45ae1ec76569", "name": "Commented-code block (7 lines) in tests/build-plugins/weeklyEmployersJobCardSpa.test.ts:80", "shortDescription": {"text": "Commented-code block (7 lines) in tests/build-plugins/weeklyEmployersJobCardSpa.test.ts:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2077e33c6d346d14", "name": "Commented-code block (8 lines) in tests/build-plugins/collapsifySeoBlock.test.ts:10", "shortDescription": {"text": "Commented-code block (8 lines) in tests/build-plugins/collapsifySeoBlock.test.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ca2644af581a72a", "name": "Commented-code block (5 lines) in tests/build-plugins/job-card-canonical-adoption.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in tests/build-plugins/job-card-canonical-adoption.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-651a58bbc4b99c2d", "name": "Commented-code block (5 lines) in tests/build-plugins/employer-card-html.test.ts:41", "shortDescription": {"text": "Commented-code block (5 lines) in tests/build-plugins/employer-card-html.test.ts:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ab8a3502e59c2de", "name": "Commented-code block (10 lines) in tests/build-plugins/featured-job-projection.test.ts:86", "shortDescription": {"text": "Commented-code block (10 lines) in tests/build-plugins/featured-job-projection.test.ts:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c36804500ab225e", "name": "Commented-code block (5 lines) in tests/parsers/smn-board-listing-href.test.ts:123", "shortDescription": {"text": "Commented-code block (5 lines) in tests/parsers/smn-board-listing-href.test.ts:123"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7cb9324a0daa1f14", "name": "Commented-code block (7 lines) in tests/router/canton-city-routing.test.ts:78", "shortDescription": {"text": "Commented-code block (7 lines) in tests/router/canton-city-routing.test.ts:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b1dc74195bbd910c", "name": "Commented-code block (10 lines) in tests/router/canton-static-overlay-slugs.test.ts:104", "shortDescription": {"text": "Commented-code block (10 lines) in tests/router/canton-static-overlay-slugs.test.ts:104"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c909773ba680e636", "name": "Commented-code block (5 lines) in tests/scripts/audit-parser-quality.test.ts:219", "shortDescription": {"text": "Commented-code block (5 lines) in tests/scripts/audit-parser-quality.test.ts:219"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f86ec8310632493e", "name": "Commented-code block (6 lines) in tests/scripts/quality-alerts.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in tests/scripts/quality-alerts.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30bb106888ca0fa6", "name": "Commented-code block (5 lines) in tests/scripts/ai-models-skip-error-capture.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in tests/scripts/ai-models-skip-error-capture.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef5787dd3c89c49c", "name": "Commented-code block (6 lines) in tests/scripts/ai-models-discovery-shape-guard.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in tests/scripts/ai-models-discovery-shape-guard.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2dd3ed18edf1d5b2", "name": "Commented-code block (7 lines) in tests/scripts/quota-exhausted-classifier.test.ts:6", "shortDescription": {"text": "Commented-code block (7 lines) in tests/scripts/quota-exhausted-classifier.test.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f75d99a52d147b9", "name": "Commented-code block (7 lines) in tests/scripts/tune-discovery-quota.test.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in tests/scripts/tune-discovery-quota.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-56a47a8bd29c451f", "name": "Commented-code block (9 lines) in tests/scripts/ai-models-nvidia-discovery-allowlist.test.ts:3", "shortDescription": {"text": "Commented-code block (9 lines) in tests/scripts/ai-models-nvidia-discovery-allowlist.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-96973cc97775775b", "name": "Commented-code block (5 lines) in tests/scripts/fetch-article-performance.test.ts:124", "shortDescription": {"text": "Commented-code block (5 lines) in tests/scripts/fetch-article-performance.test.ts:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-31205d754a971e7f", "name": "Commented-code block (5 lines) in tests/scripts/revenue-monitor.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in tests/scripts/revenue-monitor.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2f7ef4aeb8022fd6", "name": "Commented-code block (5 lines) in tests/scripts/build-evidence-index.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in tests/scripts/build-evidence-index.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8b11ca8a30f1acd", "name": "Commented-code block (5 lines) in tests/scripts/mine-topic-candidates.test.ts:224", "shortDescription": {"text": "Commented-code block (5 lines) in tests/scripts/mine-topic-candidates.test.ts:224"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08e7364ada4b2e41", "name": "Commented-code block (5 lines) in tests/scripts/topic-sources/reddit.test.ts:67", "shortDescription": {"text": "Commented-code block (5 lines) in tests/scripts/topic-sources/reddit.test.ts:67"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9cf3c6a2293ba6d1", "name": "Commented-code block (6 lines) in tests/scripts/lib/scoring/cascadedScore.test.ts:160", "shortDescription": {"text": "Commented-code block (6 lines) in tests/scripts/lib/scoring/cascadedScore.test.ts:160"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-622617a061d319c6", "name": "Commented-code block (9 lines) in tests/scripts/lib/scoring/embeddingStoreBinary.test.ts:3", "shortDescription": {"text": "Commented-code block (9 lines) in tests/scripts/lib/scoring/embeddingStoreBinary.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-66eec4ce9b11f7ef", "name": "Commented-code block (7 lines) in tests/scripts/lib/scoring/dedupTextSync.test.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in tests/scripts/lib/scoring/dedupTextSync.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0aed7adb9d162733", "name": "Commented-code block (6 lines) in tests/scripts/lib/discovery/domainAnchor.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in tests/scripts/lib/discovery/domainAnchor.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b1074de7e2e85360", "name": "Commented-code block (6 lines) in tests/scripts/lib/scheduler/winnerEvaluator.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in tests/scripts/lib/scheduler/winnerEvaluator.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-99496096326ec949", "name": "Commented-code block (5 lines) in tests/lib/trigger-self.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in tests/lib/trigger-self.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ae05a8824aea5de8", "name": "Commented-code block (8 lines) in tests/community/JobBoard.sticky-sidebar.test.tsx:50", "shortDescription": {"text": "Commented-code block (8 lines) in tests/community/JobBoard.sticky-sidebar.test.tsx:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-953ca95e69f059a1", "name": "Commented-code block (5 lines) in tests/calculator/calculator-paywall.test.tsx:293", "shortDescription": {"text": "Commented-code block (5 lines) in tests/calculator/calculator-paywall.test.tsx:293"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8119c102f7efd4bc", "name": "Commented-code block (5 lines) in tests/regression/recency-router-guards.test.ts:114", "shortDescription": {"text": "Commented-code block (5 lines) in tests/regression/recency-router-guards.test.ts:114"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0474843a88d3467a", "name": "Commented-code block (7 lines) in tests/regression/seo-landing-pattern.test.ts:105", "shortDescription": {"text": "Commented-code block (7 lines) in tests/regression/seo-landing-pattern.test.ts:105"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6b44432ce635223", "name": "Commented-code block (11 lines) in tests/regression/meta-tag-refresh-on-nav.test.tsx:129", "shortDescription": {"text": "Commented-code block (11 lines) in tests/regression/meta-tag-refresh-on-nav.test.tsx:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-880f04f1bef3a1bc", "name": "Commented-code block (6 lines) in tests/regression/seo-static-ad-slots.test.ts:49", "shortDescription": {"text": "Commented-code block (6 lines) in tests/regression/seo-static-ad-slots.test.ts:49"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cdc81da7ca0b11c6", "name": "Commented-code block (5 lines) in tests/regression/spa-client-side-nav-recency.test.tsx:198", "shortDescription": {"text": "Commented-code block (5 lines) in tests/regression/spa-client-side-nav-recency.test.tsx:198"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb8f2149bb326220", "name": "Commented-code block (5 lines) in tests/e2e/heading-utility-classes-live.spec.ts:52", "shortDescription": {"text": "Commented-code block (5 lines) in tests/e2e/heading-utility-classes-live.spec.ts:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3bf9ce820545e8d1", "name": "Commented-code block (5 lines) in tests/e2e/hub-chrome-parity.spec.ts:59", "shortDescription": {"text": "Commented-code block (5 lines) in tests/e2e/hub-chrome-parity.spec.ts:59"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c5154a66717540b9", "name": "Commented-code block (6 lines) in tests/e2e/calculator-no-runtime-errors.test.ts:23", "shortDescription": {"text": "Commented-code block (6 lines) in tests/e2e/calculator-no-runtime-errors.test.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27b223312d4918bc", "name": "Commented-code block (6 lines) in tests/e2e/post-deploy-rendering-live.spec.ts:173", "shortDescription": {"text": "Commented-code block (6 lines) in tests/e2e/post-deploy-rendering-live.spec.ts:173"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-310eb8844a84e574", "name": "Commented-code block (8 lines) in tests/e2e/seo-visual-regression.spec.ts:6", "shortDescription": {"text": "Commented-code block (8 lines) in tests/e2e/seo-visual-regression.spec.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a0b00c4281e9ec7", "name": "Commented-code block (8 lines) in tests/e2e/autologin-bridge-preserves-params.spec.ts:43", "shortDescription": {"text": "Commented-code block (8 lines) in tests/e2e/autologin-bridge-preserves-params.spec.ts:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-acb0e4c7e9b7e753", "name": "Commented-code block (5 lines) in tests/e2e/sectors-landing-live.spec.ts:141", "shortDescription": {"text": "Commented-code block (5 lines) in tests/e2e/sectors-landing-live.spec.ts:141"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e70fd62068c9eb79", "name": "Commented-code block (6 lines) in tests/e2e/spa-hydration-contract-live.spec.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in tests/e2e/spa-hydration-contract-live.spec.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0bfafec4f9424bd8", "name": "Commented-code block (7 lines) in tests/seo/cathedral-job-detail-canton.test.ts:10", "shortDescription": {"text": "Commented-code block (7 lines) in tests/seo/cathedral-job-detail-canton.test.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc325140ed414a13", "name": "Commented-code block (5 lines) in tests/seo/weekly-employers-bfs-reachable.test.ts:73", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/weekly-employers-bfs-reachable.test.ts:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-145c38fe74f83f98", "name": "Commented-code block (5 lines) in tests/seo/cathedral-canton-landing-order.test.ts:58", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-canton-landing-order.test.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dcd9c809088f73f1", "name": "Commented-code block (5 lines) in tests/seo/audit-text-html-ratio-rate-gate.test.ts:126", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/audit-text-html-ratio-rate-gate.test.ts:126"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a22f2985540e7897", "name": "Commented-code block (5 lines) in tests/seo/job-sector-page-weight.test.ts:70", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/job-sector-page-weight.test.ts:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-03c1d922e75d5ada", "name": "Commented-code block (10 lines) in tests/seo/cathedral-previous-slug-canton.test.ts:23", "shortDescription": {"text": "Commented-code block (10 lines) in tests/seo/cathedral-previous-slug-canton.test.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a6170d95e4e1c8c4", "name": "Commented-code block (27 lines) in tests/seo/thin-shell-ejp-marker.test.ts:88", "shortDescription": {"text": "Commented-code block (27 lines) in tests/seo/thin-shell-ejp-marker.test.ts:88"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a2f44532a997297b", "name": "Commented-code block (9 lines) in tests/seo/related-search-clusters-emitted.test.ts:483", "shortDescription": {"text": "Commented-code block (9 lines) in tests/seo/related-search-clusters-emitted.test.ts:483"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73611640f10d7b23", "name": "Commented-code block (5 lines) in tests/seo/audit-bfs-depth-rate-gate.test.ts:110", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/audit-bfs-depth-rate-gate.test.ts:110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-480cf1d39a8d09cc", "name": "Commented-code block (5 lines) in tests/seo/cathedral-no-ti-hardcodes.test.ts:12", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-no-ti-hardcodes.test.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-041267855ed384d9", "name": "Commented-code block (5 lines) in tests/seo/bridge-page-prose.test.ts:54", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/bridge-page-prose.test.ts:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fef378d28e7797f5", "name": "Commented-code block (9 lines) in tests/seo/seo-static-css.test.ts:28", "shortDescription": {"text": "Commented-code block (9 lines) in tests/seo/seo-static-css.test.ts:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e629e5502d272538", "name": "Commented-code block (8 lines) in tests/seo/cathedral-hreflang-x-default.test.ts:11", "shortDescription": {"text": "Commented-code block (8 lines) in tests/seo/cathedral-hreflang-x-default.test.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-455ee2f657c5ca60", "name": "Commented-code block (9 lines) in tests/seo/seo-hubs-pagination-bfs.test.ts:197", "shortDescription": {"text": "Commented-code block (9 lines) in tests/seo/seo-hubs-pagination-bfs.test.ts:197"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2cdd4a03c6ece89e", "name": "Commented-code block (6 lines) in tests/seo/inline-text-to-html-sanitize.test.ts:83", "shortDescription": {"text": "Commented-code block (6 lines) in tests/seo/inline-text-to-html-sanitize.test.ts:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-651ef618f79bbc53", "name": "Commented-code block (5 lines) in tests/seo/job-detail-html-snapshot.test.ts:29", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/job-detail-html-snapshot.test.ts:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b63615f0442c5b4", "name": "Commented-code block (6 lines) in tests/seo/small-sitemaps-orphans-eliminated.test.ts:130", "shortDescription": {"text": "Commented-code block (6 lines) in tests/seo/small-sitemaps-orphans-eliminated.test.ts:130"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-68720ecf8e18bb81", "name": "Commented-code block (6 lines) in tests/seo/dist-shrink.test.ts:39", "shortDescription": {"text": "Commented-code block (6 lines) in tests/seo/dist-shrink.test.ts:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e1b99df149bc240f", "name": "Commented-code block (5 lines) in tests/seo/expired-job-prose-marker.test.ts:52", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/expired-job-prose-marker.test.ts:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fbbfc664ab3ac4a3", "name": "Commented-code block (5 lines) in tests/seo/weekly-employers-text-ratio.test.ts:122", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/weekly-employers-text-ratio.test.ts:122"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-21c1b698682f0d11", "name": "Commented-code block (7 lines) in tests/seo/breadcrumb-coverage.test.ts:52", "shortDescription": {"text": "Commented-code block (7 lines) in tests/seo/breadcrumb-coverage.test.ts:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cb2416e789b9396b", "name": "Commented-code block (5 lines) in tests/seo/no-inlanguage-on-forbidden-schemas.test.ts:27", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/no-inlanguage-on-forbidden-schemas.test.ts:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fda4e6c2b140c3d3", "name": "Commented-code block (5 lines) in tests/seo/cathedral-editorial-slug-tables.test.ts:21", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-editorial-slug-tables.test.ts:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0d574f5c7203c9a3", "name": "Commented-code block (7 lines) in tests/seo/strip-literal-markdown.test.ts:4", "shortDescription": {"text": "Commented-code block (7 lines) in tests/seo/strip-literal-markdown.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4e69fe4a2f0a1e94", "name": "Commented-code block (5 lines) in tests/seo/cathedral-expired-tracking-canton.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-expired-tracking-canton.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f9f304ea02055419", "name": "Commented-code block (5 lines) in tests/seo/cathedral-canton-hub-parity.test.ts:23", "shortDescription": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-canton-hub-parity.test.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4cdf87e5e630e3d7", "name": "Commented-code block (6 lines) in tests/seo/static-job-page-body.test.ts:46", "shortDescription": {"text": "Commented-code block (6 lines) in tests/seo/static-job-page-body.test.ts:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-03bf67f48331e538", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-adsense-channels.mjs:52", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-adsense-channels.mjs:52"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-016ab446756f6e0a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/validate-webcam-urls.mjs:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/validate-webcam-urls.mjs:40"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0f302a37710e44c8", "name": "Commented-code block (11 lines) in scripts/update-grace-jobs.mjs:86", "shortDescription": {"text": "Commented-code block (11 lines) in scripts/update-grace-jobs.mjs:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9799d16d039577e3", "name": "Commented-code block (5 lines) in scripts/identify-top-marquee-by-gsc.mjs:443", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/identify-top-marquee-by-gsc.mjs:443"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea66079ca8930b90", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/identify-top-marquee-by-gsc.mjs:151", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/identify-top-marquee-by-gsc.mjs:151"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9f74e438c27ead97", "name": "Commented-code block (5 lines) in scripts/regen-parser-fix-slices.mjs:86", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/regen-parser-fix-slices.mjs:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5f8d17657917662", "name": "Commented-code block (5 lines) in scripts/reconcile-here-usage.mjs:74", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/reconcile-here-usage.mjs:74"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2cbed577801b00cf", "name": "Commented-code block (7 lines) in scripts/update-fnz-jobs.mjs:64", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/update-fnz-jobs.mjs:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-159f60b4b05ba34e", "name": "Commented-code block (5 lines) in scripts/sync-gsc-orphans.mjs:1125", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/sync-gsc-orphans.mjs:1125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1d8d04ef3672c30", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/sync-gsc-orphans.mjs:158", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/sync-gsc-orphans.mjs:158"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-514878c618286785", "name": "Commented-code block (7 lines) in scripts/update-has-healthcare-jobs.mjs:167", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/update-has-healthcare-jobs.mjs:167"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd4e51c6cd256d0b", "name": "Commented-code block (5 lines) in scripts/update-goline-jobs.mjs:119", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-goline-jobs.mjs:119"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-221991ac98858bc9", "name": "Commented-code block (5 lines) in scripts/update-confederazione-jobs.mjs:212", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-confederazione-jobs.mjs:212"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c09c759885c362d", "name": "Commented-code block (5 lines) in scripts/audit-dist-multi.mjs:1863", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audit-dist-multi.mjs:1863"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f470c0a61e17203", "name": "Commented-code block (5 lines) in scripts/backfill-article-authors.mjs:45", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/backfill-article-authors.mjs:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46d2d45891d8ed98", "name": "Commented-code block (8 lines) in scripts/build-article-embeddings.mjs:142", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/build-article-embeddings.mjs:142"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93842967bc68ed25", "name": "Commented-code block (5 lines) in scripts/validate-jobposting-schema.mjs:141", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/validate-jobposting-schema.mjs:141"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-550ce0eb6ac394b6", "name": "Commented-code block (5 lines) in scripts/profile-cluster-emission.mjs:63", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/profile-cluster-emission.mjs:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a4c3b70063db6225", "name": "Commented-code block (5 lines) in scripts/post-to-facebook.mjs:137", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/post-to-facebook.mjs:137"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ef7eacf2e8dd2be", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/post-to-facebook.mjs:94", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/post-to-facebook.mjs:94"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7807c16593012df6", "name": "Commented-code block (6 lines) in scripts/update-manor-jobs.mjs:312", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-manor-jobs.mjs:312"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cadabdca00c940aa", "name": "Commented-code block (5 lines) in scripts/cleanup-jobs.mjs:363", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/cleanup-jobs.mjs:363"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17f733d3bfe326b6", "name": "Commented-code block (6 lines) in scripts/update-groupe-mutuel-jobs.mjs:329", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-groupe-mutuel-jobs.mjs:329"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06ff3bcb36a78d26", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/setup-google-oauth.mjs:71", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/setup-google-oauth.mjs:71"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7c46af3b21a493b6", "name": "Commented-code block (9 lines) in scripts/prune-merged-worktrees.mjs:4", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/prune-merged-worktrees.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f80627d9a964ba9", "name": "Commented-code block (5 lines) in scripts/update-sbb-jobs.mjs:500", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-sbb-jobs.mjs:500"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f1a75824b719f1a6", "name": "Commented-code block (5 lines) in scripts/audit-cls-live.mjs:114", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audit-cls-live.mjs:114"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b98201982077589d", "name": "Commented-code block (5 lines) in scripts/audit-spa-bundle-injection.mjs:103", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audit-spa-bundle-injection.mjs:103"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eda169ead7345eb5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/diagnose-calc-funnel.mjs:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/diagnose-calc-funnel.mjs:13"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b1020c1449565fb4", "name": "Commented-code block (8 lines) in scripts/smoke-test-ai-models.mjs:14", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/smoke-test-ai-models.mjs:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3221398054c8cff4", "name": "Commented-code block (5 lines) in scripts/submit-indexnow.js:186", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/submit-indexnow.js:186"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6efc3112cfc2299b", "name": "Commented-code block (6 lines) in scripts/discover-404s-via-cloudflare.mjs:53", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/discover-404s-via-cloudflare.mjs:53"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a668232262f1fb82", "name": "Commented-code block (10 lines) in scripts/validate-jobs-quality.mjs:84", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/validate-jobs-quality.mjs:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-507731d41aebde09", "name": "Commented-code block (12 lines) in scripts/send-newsletter.mjs:69", "shortDescription": {"text": "Commented-code block (12 lines) in scripts/send-newsletter.mjs:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c12f9c0c87ca244c", "name": "Commented-code block (10 lines) in scripts/audit-bfs-depth.mjs:357", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/audit-bfs-depth.mjs:357"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a02d2fe2f12a1b2e", "name": "Commented-code block (5 lines) in scripts/backfill-dedup-lost-jobs.mjs:321", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/backfill-dedup-lost-jobs.mjs:321"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c1f9f347de64270", "name": "Commented-code block (7 lines) in scripts/update-pwc-jobs.mjs:183", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/update-pwc-jobs.mjs:183"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9176f7a2a972e7c4", "name": "Commented-code block (7 lines) in scripts/analytics-report.mjs:1449", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/analytics-report.mjs:1449"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8e08b285ebf91515", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/analytics-report.mjs:360", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/analytics-report.mjs:360"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e32a2909ec9eda0", "name": "Commented-code block (9 lines) in scripts/fetch-health-premiums.mjs:129", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/fetch-health-premiums.mjs:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c15e4aecc0c5a4f", "name": "Commented-code block (6 lines) in scripts/update-lidl-jobs.mjs:613", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-lidl-jobs.mjs:613"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1aa1fdd231636aab", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-lidl-jobs.mjs:63", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-lidl-jobs.mjs:63"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ff23bc70599899bb", "name": "Commented-code block (6 lines) in scripts/update-sintetica-jobs.mjs:70", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-sintetica-jobs.mjs:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2908c4f6dc55dd58", "name": "Commented-code block (5 lines) in scripts/audit-sitemap-canonicals.mjs:164", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audit-sitemap-canonicals.mjs:164"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9610f2c53599eb12", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-ksgr-jobs.mjs:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-ksgr-jobs.mjs:92"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d70589335acf4f3f", "name": "Commented-code block (14 lines) in scripts/wait-for-pages-propagation.mjs:35", "shortDescription": {"text": "Commented-code block (14 lines) in scripts/wait-for-pages-propagation.mjs:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5a5b521b59e5cbf", "name": "Commented-code block (9 lines) in scripts/update-axa-jobs.mjs:313", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/update-axa-jobs.mjs:313"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c2302ffb98b24470", "name": "Commented-code block (7 lines) in scripts/snapshot-fuel-history.mjs:46", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/snapshot-fuel-history.mjs:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-41a624336a6f2bfa", "name": "Commented-code block (5 lines) in scripts/update-kronenhof-jobs.mjs:267", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-kronenhof-jobs.mjs:267"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c376697ce1323e8f", "name": "Commented-code block (8 lines) in scripts/fetch-article-performance.mjs:133", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/fetch-article-performance.mjs:133"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6fbc905d35de8863", "name": "Commented-code block (7 lines) in scripts/fetch-thin-page-promotions.mjs:4", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/fetch-thin-page-promotions.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b0f6274c00329025", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/post-to-linkedin.mjs:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/post-to-linkedin.mjs:47"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eb7569c76f958d98", "name": "Commented-code block (5 lines) in scripts/update-medacta-jobs.mjs:494", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-medacta-jobs.mjs:494"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0bde8b20cec119cb", "name": "Commented-code block (6 lines) in scripts/fetch-webcam-snapshots-for-og.mjs:42", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/fetch-webcam-snapshots-for-og.mjs:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f81f34d84c0d2ebd", "name": "Commented-code block (8 lines) in scripts/validate-spa-render.mjs:197", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/validate-spa-render.mjs:197"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-67ba5c700fa0deca", "name": "Commented-code block (6 lines) in scripts/assemble-jobs-dataset.mjs:145", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/assemble-jobs-dataset.mjs:145"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b6d2592b4842046", "name": "Commented-code block (10 lines) in scripts/create-article.mjs:124", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/create-article.mjs:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b960a281427c1866", "name": "Commented-code block (5 lines) in scripts/backfill-blog-webp.mjs:173", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/backfill-blog-webp.mjs:173"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e5489a53a58f8616", "name": "Commented-code block (5 lines) in scripts/wait-for-live-article-meta.mjs:179", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/wait-for-live-article-meta.mjs:179"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d33db7d9666a1ba8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/wait-for-live-article-meta.mjs:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/wait-for-live-article-meta.mjs:22"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e0133816f8ad5996", "name": "Commented-code block (5 lines) in scripts/seo-audit-employer-slugs.mjs:21", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/seo-audit-employer-slugs.mjs:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a413e1ecf436f0b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo-audit-employer-slugs.mjs:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo-audit-employer-slugs.mjs:32"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e671efeb87ed2c04", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-orphan-indexed-jobs.mjs:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-orphan-indexed-jobs.mjs:32"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f0b93417a707d9d4", "name": "Commented-code block (5 lines) in scripts/update-dxt-jobs.mjs:131", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-dxt-jobs.mjs:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17df37923ab8ffcd", "name": "Commented-code block (5 lines) in scripts/backfill-ai-search-optimization.mjs:191", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/backfill-ai-search-optimization.mjs:191"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0e1b9ae2d1a368cb", "name": "Commented-code block (7 lines) in scripts/update-postch-jobs.mjs:261", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/update-postch-jobs.mjs:261"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b48d567d8a9ca88f", "name": "Commented-code block (6 lines) in scripts/batch-add-faq-to-articles.mjs:417", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/batch-add-faq-to-articles.mjs:417"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-52f1b5222dcef7a2", "name": "Commented-code block (6 lines) in scripts/update-centiel-jobs.mjs:245", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-centiel-jobs.mjs:245"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a3b46051c7023110", "name": "Commented-code block (10 lines) in scripts/prune-404-compat-paths.ts:21", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/prune-404-compat-paths.ts:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef11e29861919e84", "name": "Commented-code block (5 lines) in scripts/enrich-related-search-clusters.mjs:401", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/enrich-related-search-clusters.mjs:401"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02e6776a7b4dc3ba", "name": "Commented-code block (11 lines) in scripts/cf-purge-cache.mjs:46", "shortDescription": {"text": "Commented-code block (11 lines) in scripts/cf-purge-cache.mjs:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ec7bdbdf185de40", "name": "Commented-code block (6 lines) in scripts/validate-structured-data-completeness.mjs:776", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/validate-structured-data-completeness.mjs:776"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-df931795af82aac0", "name": "Commented-code block (5 lines) in scripts/update-vitrea-gesundheit-jobs.mjs:21", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-vitrea-gesundheit-jobs.mjs:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dd5450b1c08de41a", "name": "Commented-code block (5 lines) in scripts/validate-blog-meta-placeholders.mjs:132", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/validate-blog-meta-placeholders.mjs:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8146193b66159b52", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/setup-facebook-token.mjs:53", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/setup-facebook-token.mjs:53"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d5be40ae80d6041b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refresh-gsc-position-rolling.mjs:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refresh-gsc-position-rolling.mjs:32"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d5053a2c4b076cf", "name": "Commented-code block (7 lines) in scripts/schedule-fb-jobs-daily.mjs:612", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/schedule-fb-jobs-daily.mjs:612"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d95d2db10a54db60", "name": "Commented-code block (7 lines) in scripts/update-bracco-jobs.mjs:51", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/update-bracco-jobs.mjs:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6b06072efb6c98e3", "name": "Commented-code block (7 lines) in scripts/audit-cls-stripping.mjs:102", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/audit-cls-stripping.mjs:102"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd62c7219357cff7", "name": "Commented-code block (6 lines) in scripts/backfill-slug-aliases.mjs:217", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/backfill-slug-aliases.mjs:217"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4e096b133fec89e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-articles-factcheck.mjs:72", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-articles-factcheck.mjs:72"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-441dce4d03a97808", "name": "Commented-code block (5 lines) in scripts/import-handelszeitung-top500.mjs:2", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/import-handelszeitung-top500.mjs:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-48f8ea55a0d24f9e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/setup-posthog-email-funnel.mjs:63", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/setup-posthog-email-funnel.mjs:63"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1561b8b6b6215286", "name": "Commented-code block (6 lines) in scripts/tune-discovery-quota.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/tune-discovery-quota.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-86ac78d247ffe1a7", "name": "Commented-code block (5 lines) in scripts/quality-alerts.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/quality-alerts.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a8ba2c8091db18e", "name": "Legacy-named symbol `cleanupLegacy` in scripts/update-exchange-history.mjs:136", "shortDescription": {"text": "Legacy-named symbol `cleanupLegacy` in scripts/update-exchange-history.mjs:136"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-849af3f623be6808", "name": "Commented-code block (5 lines) in scripts/generate-image-thumbnails.mjs:16", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/generate-image-thumbnails.mjs:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f4ec69d99aa19dac", "name": "Commented-code block (9 lines) in scripts/update-geberit-jobs.mjs:30", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/update-geberit-jobs.mjs:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dffaa1dd66aef85c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check-mailgun-events.mjs:48", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check-mailgun-events.mjs:48"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e4ad80cc4dba3c0b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-jobs.ts:82", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-jobs.ts:82"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d6ccfec58421d48", "name": "Commented-code block (5 lines) in scripts/migrate-previous-slug-winners-add-canton.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/migrate-previous-slug-winners-add-canton.mjs:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-69bad246430e1e70", "name": "Commented-code block (5 lines) in scripts/local-mt-mopup.mjs:172", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/local-mt-mopup.mjs:172"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-352424065e849010", "name": "Commented-code block (6 lines) in scripts/update-hilcona-jobs.mjs:65", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-hilcona-jobs.mjs:65"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d36f175dbc8b02c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/adsense-archive-orphans.mjs:55", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/adsense-archive-orphans.mjs:55"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dce5e296dcd84850", "name": "Commented-code block (5 lines) in scripts/mine-all-job-slugs.mjs:503", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/mine-all-job-slugs.mjs:503"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4dac754ecec76c5e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/monitor-cls-posthog.mjs:59", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/monitor-cls-posthog.mjs:59"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2e9b3d62e5e81e64", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/monitor-gsc-job-indexation.mjs:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/monitor-gsc-job-indexation.mjs:50"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-513a4a47b1cf6d90", "name": "Commented-code block (5 lines) in scripts/seo-audit-structural.mjs:23", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/seo-audit-structural.mjs:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-287ab9c49176aecb", "name": "Commented-code block (5 lines) in scripts/report-dist-bytes-by-plugin.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/report-dist-bytes-by-plugin.mjs:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-198bb9fcf6573a74", "name": "Commented-code block (5 lines) in scripts/update-allianz-jobs.mjs:210", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-allianz-jobs.mjs:210"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88799e0e4a178031", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-allianz-jobs.mjs:115", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-allianz-jobs.mjs:115"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9fc658150ed84947", "name": "Commented-code block (7 lines) in scripts/detect-ats.mjs:248", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/detect-ats.mjs:248"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d238de575132c79e", "name": "Commented-code block (8 lines) in scripts/cf-locale-failover-setup.mjs:61", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/cf-locale-failover-setup.mjs:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bda9450c5b991ec9", "name": "Commented-code block (5 lines) in scripts/download-company-logos.mjs:369", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/download-company-logos.mjs:369"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-110fcec1611f93da", "name": "Commented-code block (6 lines) in scripts/update-ariston-jobs.mjs:117", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-ariston-jobs.mjs:117"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-938353eec6c9337c", "name": "Commented-code block (7 lines) in scripts/audit-orphan-pages-in-sitemaps.mjs:179", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/audit-orphan-pages-in-sitemaps.mjs:179"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ed7aa24c6a83432", "name": "Commented-code block (5 lines) in scripts/validate-canonical.mjs:102", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/validate-canonical.mjs:102"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ea30c3e9c40ec78", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/adsense-slot-audit.mjs:53", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/adsense-slot-audit.mjs:53"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-64f61a73a55da5e8", "name": "Commented-code block (9 lines) in scripts/dist-shrink.mjs:91", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/dist-shrink.mjs:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-56cda9258ae6e0b2", "name": "Commented-code block (5 lines) in scripts/update-rapelli-jobs.mjs:110", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-rapelli-jobs.mjs:110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-022f16e9dfb7844b", "name": "Commented-code block (9 lines) in scripts/re-enrich-jobs.mjs:968", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/re-enrich-jobs.mjs:968"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b9117bca12f38600", "name": "Commented-code block (12 lines) in scripts/offload-generated-images-cdn.mjs:4", "shortDescription": {"text": "Commented-code block (12 lines) in scripts/offload-generated-images-cdn.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f0c81153234acde5", "name": "Legacy-named symbol `stampOld` in scripts/recover-conflict-marker-slices.mjs:135", "shortDescription": {"text": "Legacy-named symbol `stampOld` in scripts/recover-conflict-marker-slices.mjs:135"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ea380caeef0a883", "name": "Commented-code block (8 lines) in scripts/update-cambiavalute-jobs.mjs:185", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/update-cambiavalute-jobs.mjs:185"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f02a87b5d3c5a813", "name": "Commented-code block (5 lines) in scripts/seed-url-first-seen-precise.mjs:12", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/seed-url-first-seen-precise.mjs:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9f7ef5f02a18e5d5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-url-first-seen-precise.mjs:136", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-url-first-seen-precise.mjs:136"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-23031576f69e5a5f", "name": "Commented-code block (7 lines) in scripts/update-coop-jobs.mjs:518", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/update-coop-jobs.mjs:518"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-608111a83f454dd4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-coop-jobs.mjs:529", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-coop-jobs.mjs:529"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8af184ffce452892", "name": "Commented-code block (6 lines) in scripts/relocalize-pending-jobs.mjs:50", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/relocalize-pending-jobs.mjs:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9274b7de4eeeb641", "name": "Commented-code block (5 lines) in scripts/check-crawler-health.mjs:88", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/check-crawler-health.mjs:88"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af6e6b75457071dc", "name": "Commented-code block (5 lines) in scripts/update-supsi-jobs.mjs:378", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-supsi-jobs.mjs:378"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf1f1bc1b41ad0b6", "name": "Commented-code block (6 lines) in scripts/blast-publisher-ads.mjs:96", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/blast-publisher-ads.mjs:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc8bb23ef01d3a46", "name": "Commented-code block (6 lines) in scripts/update-tinext-jobs.mjs:237", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-tinext-jobs.mjs:237"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-390838e49cfe8fc3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-tinext-jobs.mjs:441", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-tinext-jobs.mjs:441"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5f686cfe0f5ae800", "name": "Commented-code block (10 lines) in scripts/scaffold-crawler.mjs:151", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/scaffold-crawler.mjs:151"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b39f77c1e2330261", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/scaffold-crawler.mjs:541", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/scaffold-crawler.mjs:541"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b3738ffca2cba177", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-abb-jobs.mjs:247", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-abb-jobs.mjs:247"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0958b8343f9f9249", "name": "Commented-code block (6 lines) in scripts/send-job-alerts.mjs:416", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/send-job-alerts.mjs:416"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05340be3962ad0b7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check-resend-domain.mjs:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check-resend-domain.mjs:21"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-35401b4f7d03bc92", "name": "Legacy-named symbol `lis_salary_v2` in scripts/update-lis-jobs.mjs:49", "shortDescription": {"text": "Legacy-named symbol `lis_salary_v2` in scripts/update-lis-jobs.mjs:49"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-23e9a8b3f388d262", "name": "Commented-code block (6 lines) in scripts/update-lis-jobs.mjs:302", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-lis-jobs.mjs:302"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17f96294139cecb4", "name": "Commented-code block (5 lines) in scripts/update-alten-jobs.mjs:204", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-alten-jobs.mjs:204"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2914ae59aa626e4e", "name": "Commented-code block (5 lines) in scripts/update-ist-jobs.mjs:77", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-ist-jobs.mjs:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eccddb35e5355a37", "name": "Commented-code block (7 lines) in scripts/audit-text-html-ratio.mjs:32", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/audit-text-html-ratio.mjs:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-021c2033ef5a6b3b", "name": "Commented-code block (6 lines) in scripts/generate-fuel-prices-dataset.mjs:252", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/generate-fuel-prices-dataset.mjs:252"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4932ab01c0980c93", "name": "Commented-code block (9 lines) in scripts/discover-404s-via-inspection.mjs:315", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/discover-404s-via-inspection.mjs:315"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-903bc6e833699300", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/discover-404s-via-inspection.mjs:67", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/discover-404s-via-inspection.mjs:67"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d9a861b202c79b40", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/investigate-calc-funnel-drop.mjs:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/investigate-calc-funnel-drop.mjs:24"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-52cc97b470db85ac", "name": "Commented-code block (5 lines) in scripts/refresh-noslash-keep.mjs:291", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/refresh-noslash-keep.mjs:291"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a811a4d5c49dc76", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refresh-noslash-keep.mjs:103", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refresh-noslash-keep.mjs:103"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2efb7f97b344ca01", "name": "Commented-code block (6 lines) in scripts/import-swiss-hospitals.mjs:2", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/import-swiss-hospitals.mjs:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b2361efed17757e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-swiss-hospitals.mjs:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-swiss-hospitals.mjs:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1439db6c89bacd4", "name": "Commented-code block (10 lines) in scripts/audit-no-literal-markdown.mjs:44", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/audit-no-literal-markdown.mjs:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6022195c39e19a9", "name": "Commented-code block (5 lines) in scripts/ingest-gsc-coverage-404s.ts:75", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ingest-gsc-coverage-404s.ts:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c88c5fd718711ddf", "name": "Commented-code block (5 lines) in scripts/update-spitex-zuerich-jobs.mjs:21", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-spitex-zuerich-jobs.mjs:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34600389f457aeb9", "name": "Commented-code block (6 lines) in scripts/validate-content-quality.mjs:60", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/validate-content-quality.mjs:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9a16d8e17cf24928", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/revenue-monitor.mjs:98", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/revenue-monitor.mjs:98"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9414a1438f4ecea7", "name": "Commented-code block (9 lines) in scripts/backtest-scoring.mjs:8", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/backtest-scoring.mjs:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4192f1290c4c28b5", "name": "Commented-code block (6 lines) in scripts/refresh-bfs-stats.mjs:123", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/refresh-bfs-stats.mjs:123"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47fd10550c6764c7", "name": "Commented-code block (6 lines) in scripts/audit-title-uniqueness.mjs:176", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/audit-title-uniqueness.mjs:176"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ce7d51ee7fe8bc4", "name": "Commented-code block (8 lines) in scripts/update-skyguide-jobs.mjs:257", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/update-skyguide-jobs.mjs:257"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6f88d90fcbf692f", "name": "Legacy-named symbol `reports_legacy` in scripts/verify-l3-report-equivalence.mjs:11", "shortDescription": {"text": "Legacy-named symbol `reports_legacy` in scripts/verify-l3-report-equivalence.mjs:11"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-333cc9f8d5a98552", "name": "Commented-code block (5 lines) in scripts/cleanup-mailjet-contacts.mjs:71", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/cleanup-mailjet-contacts.mjs:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6652c0ac7ef594b3", "name": "Commented-code block (7 lines) in scripts/audit-parser-quality.mjs:176", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/audit-parser-quality.mjs:176"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6e63a83cb6d1d000", "name": "Commented-code block (5 lines) in scripts/refresh-url-first-seen.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/refresh-url-first-seen.mjs:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac6b7d0cd6c0a01c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-post-deploy-seo.mjs:42", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-post-deploy-seo.mjs:42"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3b0480fb6eae026f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/query-authgate-experiment.mjs:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/query-authgate-experiment.mjs:46"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-494af21f0ac18e02", "name": "Commented-code block (6 lines) in scripts/validate-sitemap-pages.mjs:397", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/validate-sitemap-pages.mjs:397"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d9604c302e6aaf8", "name": "Commented-code block (14 lines) in scripts/audit-404-risk.mjs:128", "shortDescription": {"text": "Commented-code block (14 lines) in scripts/audit-404-risk.mjs:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ff1fdb42afa98af", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/triage-app-errors.mjs:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/triage-app-errors.mjs:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-397f12304a9e5485", "name": "Commented-code block (10 lines) in scripts/regenerate-slugs-by-locale.mjs:56", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/regenerate-slugs-by-locale.mjs:56"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b927fa69a73ab0a", "name": "Commented-code block (5 lines) in scripts/update-hamilton-jobs.mjs:267", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-hamilton-jobs.mjs:267"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-99fe8a7ec3664861", "name": "Commented-code block (5 lines) in scripts/rebaseline-truncated-st-locality.mjs:5", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/rebaseline-truncated-st-locality.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2d758270cbe9f16", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/diagnose-app-errors.mjs:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/diagnose-app-errors.mjs:12"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3d095d153024c8d2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-url-first-seen-via-gsc.mjs:101", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-url-first-seen-via-gsc.mjs:101"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4b6a37371cc305e3", "name": "Commented-code block (11 lines) in scripts/reconcile-job-slugs.mjs:233", "shortDescription": {"text": "Commented-code block (11 lines) in scripts/reconcile-job-slugs.mjs:233"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35284fd0f5b91fa7", "name": "Commented-code block (5 lines) in scripts/canary-article-content.mjs:58", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/canary-article-content.mjs:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ca226e1aec9c2ba", "name": "Commented-code block (5 lines) in scripts/update-switzerland-unemployment-rate.mjs:105", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-switzerland-unemployment-rate.mjs:105"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c8770b55beb49f9", "name": "Commented-code block (6 lines) in scripts/migrate-all-known-job-slugs-canton-aware.mjs:6", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/migrate-all-known-job-slugs-canton-aware.mjs:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-81f5fffd0764cd53", "name": "Commented-code block (6 lines) in scripts/update-migros-jobs.mjs:144", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-migros-jobs.mjs:144"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8e39929c50bb413", "name": "Commented-code block (7 lines) in scripts/refresh-indexed-cluster-urls.mjs:67", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/refresh-indexed-cluster-urls.mjs:67"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ac6b9372181b71f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refresh-indexed-cluster-urls.mjs:110", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refresh-indexed-cluster-urls.mjs:110"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-729bf582a5f91e9e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/canary-rpm.mjs:59", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/canary-rpm.mjs:59"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3155d6d33390a5f9", "name": "Commented-code block (11 lines) in scripts/audit-related-search-candidates.mjs:295", "shortDescription": {"text": "Commented-code block (11 lines) in scripts/audit-related-search-candidates.mjs:295"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-744be46ef81c79b9", "name": "Commented-code block (6 lines) in scripts/audit-salary-landing-template.mjs:62", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/audit-salary-landing-template.mjs:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ceefec8d79d3802", "name": "Commented-code block (10 lines) in scripts/audit-page-weight.mjs:21", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/audit-page-weight.mjs:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-525873f8fe708a0f", "name": "Commented-code block (7 lines) in scripts/mine-topic-candidates.mjs:341", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/mine-topic-candidates.mjs:341"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-86fabf85f0491dce", "name": "Commented-code block (5 lines) in scripts/build-evidence-index.mjs:7", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/build-evidence-index.mjs:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f794444ad945915e", "name": "Commented-code block (5 lines) in scripts/update-corner-jobs.mjs:236", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update-corner-jobs.mjs:236"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-882a775aeb541f18", "name": "Commented-code block (5 lines) in scripts/lib/crawler-location-config.mjs:12", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/crawler-location-config.mjs:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f8a820ec075b93d", "name": "Commented-code block (5 lines) in scripts/lib/tertianum-job-parser.mjs:87", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/tertianum-job-parser.mjs:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4e563d00e61bec23", "name": "Commented-code block (5 lines) in scripts/lib/demand-vocabulary.mjs:7", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/demand-vocabulary.mjs:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e40f16221002b0df", "name": "Commented-code block (6 lines) in scripts/lib/cluster-classifier-prompt.mjs:19", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/cluster-classifier-prompt.mjs:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4d85f67d7bd1369", "name": "Commented-code block (5 lines) in scripts/lib/spital-zollikerberg-job-parser.mjs:150", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/spital-zollikerberg-job-parser.mjs:150"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b49f6dd108c73ca5", "name": "Commented-code block (6 lines) in scripts/lib/hirslanden-job-parser.mjs:345", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/hirslanden-job-parser.mjs:345"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06a249de5adc3946", "name": "Commented-code block (5 lines) in scripts/lib/dedicated-crawler-common.mjs:194", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/dedicated-crawler-common.mjs:194"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-01630c37be3b03a6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/eth-zurich-job-parser.mjs:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/eth-zurich-job-parser.mjs:16"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7eaedd765f7b72b", "name": "Legacy-named symbol `data_broker_total_published_job_list_v2` in scripts/lib/hopital-du-valais-job-parser.mjs:10", "shortDescription": {"text": "Legacy-named symbol `data_broker_total_published_job_list_v2` in scripts/lib/hopital-du-valais-job-parser.mjs:10"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ac97a187c112931", "name": "Commented-code block (6 lines) in scripts/lib/jobup-ch-feed-common.mjs:44", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/jobup-ch-feed-common.mjs:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a4919a906d6cf1d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/jobup-ch-feed-common.mjs:218", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/jobup-ch-feed-common.mjs:218"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-04ba00b2919e6085", "name": "Commented-code block (5 lines) in scripts/lib/geberit-job-parser.mjs:264", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/geberit-job-parser.mjs:264"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c3cc55f073656f57", "name": "Commented-code block (7 lines) in scripts/lib/pastahr-widget-client.mjs:98", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/pastahr-widget-client.mjs:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65c1eb134aec8cdc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/pastahr-widget-client.mjs:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/pastahr-widget-client.mjs:40"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a745db146719a2e1", "name": "Commented-code block (6 lines) in scripts/lib/github-issue-creator.mjs:48", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/github-issue-creator.mjs:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bdd72dced63beb74", "name": "Commented-code block (5 lines) in scripts/lib/vista-job-parser.mjs:253", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/vista-job-parser.mjs:253"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-075c37f5346eb05c", "name": "Commented-code block (6 lines) in scripts/lib/otis-job-parser.mjs:288", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/otis-job-parser.mjs:288"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c61fcdd55e457056", "name": "Commented-code block (5 lines) in scripts/lib/ikea-job-parser.mjs:24", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/ikea-job-parser.mjs:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8f83c3a3a4433f55", "name": "Commented-code block (5 lines) in scripts/lib/dxt-job-parser.mjs:144", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/dxt-job-parser.mjs:144"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a8b0bec979121f18", "name": "Legacy-named symbol `itLegacy` in scripts/lib/denner-job-parser.mjs:80", "shortDescription": {"text": "Legacy-named symbol `itLegacy` in scripts/lib/denner-job-parser.mjs:80"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3af6774566663c9b", "name": "Commented-code block (5 lines) in scripts/lib/see-spital-job-parser.mjs:352", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/see-spital-job-parser.mjs:352"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9bc62f8612c1f5be", "name": "Commented-code block (5 lines) in scripts/lib/heineken-ch-job-parser.mjs:589", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/heineken-ch-job-parser.mjs:589"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0e598a42fcbb9c4a", "name": "Commented-code block (5 lines) in scripts/lib/csvm-mustair-job-parser.mjs:100", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/csvm-mustair-job-parser.mjs:100"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-207a9d892a5601b3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/epfl-job-parser.mjs:213", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/epfl-job-parser.mjs:213"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-259dc544c329c446", "name": "Commented-code block (5 lines) in scripts/lib/liebherr-job-parser.mjs:317", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/liebherr-job-parser.mjs:317"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e8444c45e9bf13f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/chuv-job-parser.mjs:211", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/chuv-job-parser.mjs:211"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b5a64767ed1abef", "name": "Commented-code block (5 lines) in scripts/lib/rsbj-job-parser.mjs:225", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/rsbj-job-parser.mjs:225"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d6ec6a2e71e4ec5b", "name": "Commented-code block (5 lines) in scripts/lib/cereneo-job-parser.mjs:245", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/cereneo-job-parser.mjs:245"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f203e82942b5d5d8", "name": "Commented-code block (8 lines) in scripts/lib/spital-zofingen-job-parser.mjs:64", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/spital-zofingen-job-parser.mjs:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1865c0404435c0fc", "name": "Commented-code block (5 lines) in scripts/lib/klinik-schuetzen-job-parser.mjs:137", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-schuetzen-job-parser.mjs:137"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a8e94c04765482f", "name": "Commented-code block (5 lines) in scripts/lib/vaudoise-job-parser.mjs:37", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/vaudoise-job-parser.mjs:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04fa73cf0927bc62", "name": "Commented-code block (5 lines) in scripts/lib/spital-sts-job-parser.mjs:294", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/spital-sts-job-parser.mjs:294"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6dcb32e2e745037e", "name": "Commented-code block (6 lines) in scripts/lib/resolve-404-compat-conflict.mjs:126", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/resolve-404-compat-conflict.mjs:126"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e28d0610b94e985a", "name": "Commented-code block (7 lines) in scripts/lib/successfactors-shared-job-parser-common.mjs:192", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/successfactors-shared-job-parser-common.mjs:192"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b460c1f93068f141", "name": "Commented-code block (5 lines) in scripts/lib/spital-affoltern-job-parser.mjs:196", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/spital-affoltern-job-parser.mjs:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-633400aadcab83ab", "name": "Commented-code block (5 lines) in scripts/lib/strip-contact-pii.mjs:32", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/strip-contact-pii.mjs:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a28e327afab223a", "name": "Commented-code block (5 lines) in scripts/lib/shared-jobs-crawler.mjs:210", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/shared-jobs-crawler.mjs:210"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-899f2de302fce923", "name": "Commented-code block (5 lines) in scripts/lib/merian-iselin-job-parser.mjs:139", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/merian-iselin-job-parser.mjs:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89fbabad713fb211", "name": "Commented-code block (7 lines) in scripts/lib/globus-job-parser.mjs:127", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/globus-job-parser.mjs:127"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f919a73614d76a6b", "name": "Commented-code block (5 lines) in scripts/lib/klinik-susenberg-job-parser.mjs:193", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-susenberg-job-parser.mjs:193"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e6e309e30b462d1", "name": "Commented-code block (5 lines) in scripts/lib/triaplus-job-parser.mjs:215", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/triaplus-job-parser.mjs:215"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aaf189cb7cbbdc8d", "name": "Commented-code block (6 lines) in scripts/lib/fielmann-job-parser.mjs:314", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/fielmann-job-parser.mjs:314"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6447bb7099c7363a", "name": "Commented-code block (6 lines) in scripts/lib/email-cascade.mjs:145", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/email-cascade.mjs:145"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-33710fa800cb2690", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/email-cascade.mjs:139", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/email-cascade.mjs:139"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c9c9ded4fc7d8037", "name": "Commented-code block (5 lines) in scripts/lib/klinik-barmelweid-job-parser.mjs:217", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-barmelweid-job-parser.mjs:217"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc0a888480061812", "name": "Commented-code block (5 lines) in scripts/lib/klinik-adelheid-job-parser.mjs:159", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-adelheid-job-parser.mjs:159"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5fe2e9bfbe735553", "name": "Commented-code block (5 lines) in scripts/lib/sintetica-job-parser.mjs:136", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/sintetica-job-parser.mjs:136"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ae498833cf5312bb", "name": "Commented-code block (7 lines) in scripts/lib/jina-proxy.mjs:156", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/jina-proxy.mjs:156"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9746765a74b8d4dd", "name": "Legacy-named symbol `embed_v2` in scripts/lib/localsearch-job-parser.mjs:141", "shortDescription": {"text": "Legacy-named symbol `embed_v2` in scripts/lib/localsearch-job-parser.mjs:141"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4f4da5cd9a138f25", "name": "Commented-code block (10 lines) in scripts/lib/soh-solothurner-spitaeler-job-parser.mjs:91", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/lib/soh-solothurner-spitaeler-job-parser.mjs:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f05ae46f1ba1348e", "name": "Commented-code block (7 lines) in scripts/lib/kispi-sg-job-parser.mjs:156", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/kispi-sg-job-parser.mjs:156"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-adb95987cf9e3c13", "name": "Commented-code block (8 lines) in scripts/lib/hospital-custom-html-helpers.mjs:85", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/hospital-custom-html-helpers.mjs:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bde6128017747a8f", "name": "Commented-code block (5 lines) in scripts/lib/ksbl-job-parser.mjs:316", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/ksbl-job-parser.mjs:316"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9846634659a80d3d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/klinik-gut-job-parser.mjs:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/klinik-gut-job-parser.mjs:37"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-158b1eab894fe7ba", "name": "Commented-code block (5 lines) in scripts/lib/decathlon-job-parser.mjs:229", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/decathlon-job-parser.mjs:229"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-85c71a1d4e514cc3", "name": "Commented-code block (6 lines) in scripts/lib/vd-emploi-platform-common.mjs:237", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/vd-emploi-platform-common.mjs:237"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5e67b67139b7732", "name": "Commented-code block (6 lines) in scripts/lib/umantis-listing-common.mjs:75", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/umantis-listing-common.mjs:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6d467610463a2e68", "name": "Commented-code block (9 lines) in scripts/lib/auditReport.mjs:21", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/lib/auditReport.mjs:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9cb457f32ca1c45b", "name": "Commented-code block (6 lines) in scripts/lib/schindler-job-parser.mjs:214", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/schindler-job-parser.mjs:214"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2be71133a52f9bbb", "name": "Commented-code block (6 lines) in scripts/lib/article-sanitizers.mjs:31", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/article-sanitizers.mjs:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e9d089c41c77a09f", "name": "Commented-code block (6 lines) in scripts/lib/mymemory-translate.mjs:52", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/mymemory-translate.mjs:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a54875bce85e430b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/mymemory-translate.mjs:80", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/mymemory-translate.mjs:80"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-785ce913ded9b2b5", "name": "Commented-code block (13 lines) in scripts/lib/job-board-stats.mjs:18", "shortDescription": {"text": "Commented-code block (13 lines) in scripts/lib/job-board-stats.mjs:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30eec6ef6a1ec277", "name": "Commented-code block (5 lines) in scripts/lib/institution-lavigny-job-parser.mjs:207", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/institution-lavigny-job-parser.mjs:207"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7d27c54c845f94f", "name": "Commented-code block (8 lines) in scripts/lib/transient-fetch.mjs:201", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/transient-fetch.mjs:201"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7419679f4b621bf8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/transient-fetch.mjs:168", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/transient-fetch.mjs:168"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-92af6f76d04e4c72", "name": "Commented-code block (5 lines) in scripts/lib/alten-job-parser.mjs:44", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/alten-job-parser.mjs:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82108ecf4441ffb8", "name": "Commented-code block (5 lines) in scripts/lib/postch-job-parser.mjs:170", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/postch-job-parser.mjs:170"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c2a40c5e58b578a", "name": "Commented-code block (6 lines) in scripts/lib/prospective-ch-job-parser-common.mjs:247", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/prospective-ch-job-parser-common.mjs:247"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5ffda6e040c7836", "name": "Commented-code block (5 lines) in scripts/lib/rehab-basel-job-parser.mjs:89", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/rehab-basel-job-parser.mjs:89"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bbf5f081f44aa304", "name": "Commented-code block (11 lines) in scripts/lib/bls-job-parser.mjs:147", "shortDescription": {"text": "Commented-code block (11 lines) in scripts/lib/bls-job-parser.mjs:147"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-220bcd7158f7b9da", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/indexing-api.mjs:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/indexing-api.mjs:73"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a8073af833534581", "name": "Commented-code block (6 lines) in scripts/lib/agroscope-job-parser.mjs:115", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/agroscope-job-parser.mjs:115"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06b5a46a161f4123", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/cds-savognin-job-parser.mjs:234", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/cds-savognin-job-parser.mjs:234"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-223448a75518360e", "name": "Commented-code block (5 lines) in scripts/lib/klinik-arlesheim-job-parser.mjs:153", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-arlesheim-job-parser.mjs:153"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-721fd6ca476eacb5", "name": "Commented-code block (6 lines) in scripts/lib/engelvoelkers-job-parser.mjs:264", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/engelvoelkers-job-parser.mjs:264"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a2ee4eff0c86575b", "name": "Commented-code block (5 lines) in scripts/lib/target-swiss-locations.mjs:255", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/target-swiss-locations.mjs:255"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c0d9365357ec80f", "name": "Commented-code block (5 lines) in scripts/lib/assert-json-list-shape.mjs:128", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/assert-json-list-shape.mjs:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89bff65dbab70445", "name": "Commented-code block (7 lines) in scripts/lib/related-search-serialize.mjs:6", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/related-search-serialize.mjs:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fdf362eade1b6ab0", "name": "Commented-code block (5 lines) in scripts/lib/gzo-wetzikon-job-parser.mjs:347", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/gzo-wetzikon-job-parser.mjs:347"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08c837d361cb36d1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/canton-valais-job-parser.mjs:136", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/canton-valais-job-parser.mjs:136"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-24bd9cc1f59bca9f", "name": "Commented-code block (8 lines) in scripts/lib/orphan-canton-paths.mjs:49", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/orphan-canton-paths.mjs:49"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ec609b9b7cb868bd", "name": "Commented-code block (7 lines) in scripts/lib/article-topic-selector.mjs:50", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/article-topic-selector.mjs:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa1ea7636800afea", "name": "Commented-code block (5 lines) in scripts/lib/riveneuve-job-parser.mjs:192", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/riveneuve-job-parser.mjs:192"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da1204b8a0b0da2e", "name": "Commented-code block (5 lines) in scripts/lib/spital-maennedorf-job-parser.mjs:354", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/spital-maennedorf-job-parser.mjs:354"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-665f8d631c06dff8", "name": "Commented-code block (10 lines) in scripts/lib/publisherJobProjection.mjs:94", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/lib/publisherJobProjection.mjs:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65dd141cee8bb853", "name": "Commented-code block (5 lines) in scripts/lib/sulzer-job-parser.mjs:131", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/sulzer-job-parser.mjs:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c798f61772c72f1", "name": "Commented-code block (5 lines) in scripts/lib/suedhang-job-parser.mjs:111", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/suedhang-job-parser.mjs:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d32ec938131968c", "name": "Commented-code block (6 lines) in scripts/lib/canton-ticino-osc-job-parser.mjs:142", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/canton-ticino-osc-job-parser.mjs:142"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4eb301f5b52528ee", "name": "Commented-code block (5 lines) in scripts/lib/implenia-job-parser.mjs:368", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/implenia-job-parser.mjs:368"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ee1b5e295ebc769", "name": "Commented-code block (7 lines) in scripts/lib/duferco-job-parser.mjs:200", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/duferco-job-parser.mjs:200"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9eb46219f81290b7", "name": "Commented-code block (5 lines) in scripts/lib/cs-bregaglia-job-parser.mjs:98", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/cs-bregaglia-job-parser.mjs:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27f010fbda3404c5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/clienia-ag-job-parser.mjs:88", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/clienia-ag-job-parser.mjs:88"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-55e5a6258380d8bd", "name": "Commented-code block (7 lines) in scripts/lib/ai-models.mjs:124", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/ai-models.mjs:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d492467964f50e7b", "name": "Commented-code block (8 lines) in scripts/lib/pdf-job-content.mjs:180", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/pdf-job-content.mjs:180"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-50f3f581805a4bc7", "name": "Commented-code block (5 lines) in scripts/lib/bcvs-job-parser.mjs:159", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/bcvs-job-parser.mjs:159"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-39148999204becde", "name": "Commented-code block (5 lines) in scripts/lib/forel-klinik-job-parser.mjs:190", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/forel-klinik-job-parser.mjs:190"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-769f6ab1b3378a88", "name": "Commented-code block (8 lines) in scripts/lib/audit-runner.mjs:11", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/audit-runner.mjs:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2814ce625674d65c", "name": "Commented-code block (5 lines) in scripts/lib/crawler-template.mjs:285", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/crawler-template.mjs:285"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c90149d9869cf7a", "name": "Commented-code block (5 lines) in scripts/lib/job-identity.mjs:21", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/job-identity.mjs:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-53bf52f97dedb869", "name": "Commented-code block (7 lines) in scripts/lib/solothurner-spitaeler-job-parser.mjs:391", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/solothurner-spitaeler-job-parser.mjs:391"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2edaadd4d7e9ec5c", "name": "Commented-code block (5 lines) in scripts/lib/klinik-schloss-mammern-job-parser.mjs:186", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-schloss-mammern-job-parser.mjs:186"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f856e21254fcb5c8", "name": "Commented-code block (5 lines) in scripts/lib/bfs-stats-parser.mjs:180", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/bfs-stats-parser.mjs:180"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65cc680b15818e8e", "name": "Commented-code block (8 lines) in scripts/lib/allianz-job-parser.mjs:346", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/allianz-job-parser.mjs:346"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4816405b9a8c4e5", "name": "Commented-code block (5 lines) in scripts/lib/spital-lachen-job-parser.mjs:179", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/spital-lachen-job-parser.mjs:179"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2cda86cbd0d515a2", "name": "Commented-code block (5 lines) in scripts/lib/msc-cargo-job-parser.mjs:389", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/msc-cargo-job-parser.mjs:389"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cdf8d9f6458f0cdd", "name": "Commented-code block (9 lines) in scripts/lib/resolve-winners-conflict.mjs:31", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/lib/resolve-winners-conflict.mjs:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a0ed3cf809737634", "name": "Commented-code block (5 lines) in scripts/lib/dup-stoplist.mjs:23", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/dup-stoplist.mjs:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d0aa15a243c8ec8", "name": "Commented-code block (8 lines) in scripts/lib/swiss-life-job-parser.mjs:45", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/swiss-life-job-parser.mjs:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62a524459417672f", "name": "Commented-code block (5 lines) in scripts/lib/job-url-key.mjs:46", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/job-url-key.mjs:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8466747b5120782e", "name": "Commented-code block (11 lines) in scripts/lib/solique-common.mjs:91", "shortDescription": {"text": "Commented-code block (11 lines) in scripts/lib/solique-common.mjs:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cb8847e4570c02b8", "name": "Commented-code block (5 lines) in scripts/lib/berner-klinik-montana-job-parser.mjs:139", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/berner-klinik-montana-job-parser.mjs:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-273e3376e1861d32", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/leukerbad-clinic-job-parser.mjs:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/leukerbad-clinic-job-parser.mjs:50"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-244fbc28355f6912", "name": "Commented-code block (5 lines) in scripts/lib/free-translate.mjs:106", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/free-translate.mjs:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c21e245696f31893", "name": "Commented-code block (7 lines) in scripts/lib/csvp-poschiavo-job-parser.mjs:86", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/csvp-poschiavo-job-parser.mjs:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d27d0419f3aa70b", "name": "Commented-code block (5 lines) in scripts/lib/kispi-job-parser.mjs:188", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/kispi-job-parser.mjs:188"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d58adbd1ca78aedc", "name": "Commented-code block (7 lines) in scripts/lib/swiss-locality-sentence-split.mjs:4", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/swiss-locality-sentence-split.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c87114b10ca527ab", "name": "Commented-code block (9 lines) in scripts/lib/pbl-job-parser.mjs:93", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/lib/pbl-job-parser.mjs:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6ed7faa973d6a7a", "name": "Commented-code block (5 lines) in scripts/lib/uroviva-job-parser.mjs:209", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/uroviva-job-parser.mjs:209"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89ea784ffb193086", "name": "Commented-code block (5 lines) in scripts/lib/prosenectute-ti-job-parser.mjs:166", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/prosenectute-ti-job-parser.mjs:166"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6262d8e4d797b6de", "name": "Commented-code block (6 lines) in scripts/lib/topic-sources/reddit.mjs:156", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/topic-sources/reddit.mjs:156"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c0ade247cb53144", "name": "Commented-code block (6 lines) in scripts/lib/topic-sources/googleSuggest.mjs:14", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/topic-sources/googleSuggest.mjs:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4f12e8f9a6f44848", "name": "Commented-code block (5 lines) in scripts/lib/topic-sources/detectLocale.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/topic-sources/detectLocale.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a22470e0a5b1999f", "name": "Commented-code block (8 lines) in scripts/lib/topic-sources/facebookPages.mjs:3", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/topic-sources/facebookPages.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb083861cc1d2638", "name": "Commented-code block (5 lines) in scripts/lib/topic-sources/googleTrends.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/topic-sources/googleTrends.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d49a9a56072266cc", "name": "Commented-code block (5 lines) in scripts/lib/topic-sources/googleNewsRss.mjs:15", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/topic-sources/googleNewsRss.mjs:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6d871ed9c36aad5a", "name": "Commented-code block (5 lines) in scripts/lib/topic-sources/gscOrphans.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/topic-sources/gscOrphans.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1d03cc4a2887d0e", "name": "Commented-code block (6 lines) in scripts/lib/ats-clients/playwright-runtime.mjs:198", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/ats-clients/playwright-runtime.mjs:198"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bcf191fed20e3115", "name": "Commented-code block (5 lines) in scripts/lib/ats-clients/smartrecruiters-client.mjs:264", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/ats-clients/smartrecruiters-client.mjs:264"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f62a9fdd01af1a4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/ats-clients/smartrecruiters-client.mjs:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/ats-clients/smartrecruiters-client.mjs:13"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d05bfb17c1d74ab6", "name": "Commented-code block (6 lines) in scripts/lib/ats-clients/workday-client.mjs:129", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/ats-clients/workday-client.mjs:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c4726375c466a5d", "name": "Commented-code block (5 lines) in scripts/lib/ats-clients/successfactors-client.mjs:605", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/ats-clients/successfactors-client.mjs:605"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-25869cdefd98ac21", "name": "Commented-code block (6 lines) in scripts/lib/perf-sources/scoring.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/perf-sources/scoring.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8c9edf5bb6b68b42", "name": "Commented-code block (5 lines) in scripts/lib/perf-sources/domainTerms.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/perf-sources/domainTerms.mjs:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c5356301a18a1a5", "name": "Commented-code block (5 lines) in scripts/lib/perf-sources/articleDiscovery.mjs:170", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/perf-sources/articleDiscovery.mjs:170"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6542c0d82e8d0d71", "name": "Commented-code block (6 lines) in scripts/lib/perf-sources/posthog.mjs:34", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/perf-sources/posthog.mjs:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5f972829ead65f4", "name": "Commented-code block (17 lines) in scripts/lib/perf-sources/adsense.mjs:3", "shortDescription": {"text": "Commented-code block (17 lines) in scripts/lib/perf-sources/adsense.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-938196d58e83d476", "name": "Commented-code block (6 lines) in scripts/lib/alerts/snoozer.mjs:10", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/alerts/snoozer.mjs:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e64aafee115dd66d", "name": "Commented-code block (8 lines) in scripts/lib/scoring/constants.mjs:16", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lib/scoring/constants.mjs:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09c57d0f4b0bcb47", "name": "Commented-code block (5 lines) in scripts/lib/scoring/cascadedScore.mjs:190", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/scoring/cascadedScore.mjs:190"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-74904d85a0985c43", "name": "Commented-code block (7 lines) in scripts/lib/scoring/semanticDedup.mjs:5", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/scoring/semanticDedup.mjs:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-178faa9c97009ce2", "name": "Commented-code block (6 lines) in scripts/lib/evidence/gscFetcher.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/evidence/gscFetcher.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b7427496f4c22bde", "name": "Commented-code block (6 lines) in scripts/lib/evidence/embeddingClient.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/evidence/embeddingClient.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa9f6d1f190febd2", "name": "Commented-code block (6 lines) in scripts/lib/evidence/posthogFetcher.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/evidence/posthogFetcher.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-532dc543dde5c186", "name": "Commented-code block (10 lines) in scripts/lib/discovery/domainAnchor.mjs:8", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/lib/discovery/domainAnchor.mjs:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-075317efff5fe693", "name": "Commented-code block (6 lines) in scripts/lib/discovery/discoveryScore.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lib/discovery/discoveryScore.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8e57653325cfea5c", "name": "Commented-code block (5 lines) in scripts/lib/discovery/discoveryPool.mjs:7", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/discovery/discoveryPool.mjs:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-42722dd65946f981", "name": "Commented-code block (5 lines) in scripts/lib/scheduler/slugSimilarity.mjs:7", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/scheduler/slugSimilarity.mjs:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab559ddd047a2d1a", "name": "Commented-code block (7 lines) in scripts/lib/scheduler/winnerEvaluator.mjs:3", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lib/scheduler/winnerEvaluator.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d1f5757bc5c53e5", "name": "Commented-code block (6 lines) in scripts/ci/pr-autorebase.mjs:50", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/ci/pr-autorebase.mjs:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28cd0422b93004ea", "name": "Commented-code block (8 lines) in scripts/ci/check-cls-ad-slots.mjs:62", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/ci/check-cls-ad-slots.mjs:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-952b2e4823eb376c", "name": "Commented-code block (5 lines) in scripts/ci/auto-merge-eval.mjs:53", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ci/auto-merge-eval.mjs:53"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-21a62544d0a00e62", "name": "Commented-code block (9 lines) in scripts/ci/followup-drainer.mjs:36", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/ci/followup-drainer.mjs:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b47416f9f166ef86", "name": "Commented-code block (6 lines) in scripts/ci/check-issue-already-resolved.mjs:189", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/ci/check-issue-already-resolved.mjs:189"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d60cbd0375e5f7c", "name": "Commented-code block (6 lines) in scripts/ci/claude-usage-summary.mjs:2", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/ci/claude-usage-summary.mjs:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a52c99209325008", "name": "Commented-code block (6 lines) in scripts/ci/harvest-agent-lessons.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/ci/harvest-agent-lessons.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1015710c53761ede", "name": "Commented-code block (8 lines) in scripts/ci/check-client-lookbehind.mjs:82", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/ci/check-client-lookbehind.mjs:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a32d92ef042b596c", "name": "Commented-code block (5 lines) in scripts/ci/prune-cdn-assets.mjs:66", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/ci/prune-cdn-assets.mjs:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29ff08e272d8e40e", "name": "Commented-code block (8 lines) in scripts/ci/followup-resolution-match.mjs:47", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/ci/followup-resolution-match.mjs:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-60e6939079d3fabc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo/semrush-snapshot.mjs:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo/semrush-snapshot.mjs:96"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a32525989660ad05", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo/semrush-site-audit.mjs:159", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo/semrush-site-audit.mjs:159"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-06364cc4de16c07d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo/detect-cannibalization.mjs:99", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo/detect-cannibalization.mjs:99"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f6ab4315c71235b", "name": "Legacy-named symbol `dialect_user_phrases_v1` in components/vita/TicineseDialect.tsx:42", "shortDescription": {"text": "Legacy-named symbol `dialect_user_phrases_v1` in components/vita/TicineseDialect.tsx:42"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cbc93ad80801583e", "name": "Legacy-named symbol `ft_tax_checklist_done_v1` in components/fisco/TaxCalendar.tsx:324", "shortDescription": {"text": "Legacy-named symbol `ft_tax_checklist_done_v1` in components/fisco/TaxCalendar.tsx:324"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-14aeaf25cdffd00c", "name": "Legacy-named symbol `newAgrOld` in components/fisco/SwissTaxReturn.tsx:253", "shortDescription": {"text": "Legacy-named symbol `newAgrOld` in components/fisco/SwissTaxReturn.tsx:253"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cc94009b07a9ec0", "name": "Commented-code block (5 lines) in components/shared/ErrorBoundary.tsx:16", "shortDescription": {"text": "Commented-code block (5 lines) in components/shared/ErrorBoundary.tsx:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b361e041667f05fe", "name": "Commented-code block (5 lines) in components/shared/NotFoundSuggestions.tsx:149", "shortDescription": {"text": "Commented-code block (5 lines) in components/shared/NotFoundSuggestions.tsx:149"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f142e15e57f8e511", "name": "Commented-code block (7 lines) in components/shared/ProviderLogo.tsx:20", "shortDescription": {"text": "Commented-code block (7 lines) in components/shared/ProviderLogo.tsx:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1bee488b36698c88", "name": "Commented-code block (5 lines) in components/shared/AiChatbot.tsx:121", "shortDescription": {"text": "Commented-code block (5 lines) in components/shared/AiChatbot.tsx:121"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65c249275056c4be", "name": "Commented-code block (9 lines) in components/shared/AdSenseBanner.tsx:225", "shortDescription": {"text": "Commented-code block (9 lines) in components/shared/AdSenseBanner.tsx:225"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e5ed20dbf3d55fb0", "name": "Commented-code block (5 lines) in components/community/JobBoard.tsx:176", "shortDescription": {"text": "Commented-code block (5 lines) in components/community/JobBoard.tsx:176"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55706a90963ca7c5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/community/JobBoard.tsx:1823", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/community/JobBoard.tsx:1823"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-08dcd4f65918b754", "name": "Commented-code block (11 lines) in components/community/JobExpiredView.tsx:279", "shortDescription": {"text": "Commented-code block (11 lines) in components/community/JobExpiredView.tsx:279"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-63aa0c081c7763c8", "name": "Commented-code block (11 lines) in components/community/JobOrphanView.tsx:264", "shortDescription": {"text": "Commented-code block (11 lines) in components/community/JobOrphanView.tsx:264"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b23a07d7f8289544", "name": "Commented-code block (5 lines) in components/community/PublisherApplyForm.tsx:51", "shortDescription": {"text": "Commented-code block (5 lines) in components/community/PublisherApplyForm.tsx:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b537b06a8f0980a9", "name": "Commented-code block (11 lines) in components/community/JobBridgeView.tsx:223", "shortDescription": {"text": "Commented-code block (11 lines) in components/community/JobBridgeView.tsx:223"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b6eb38c8d6044b8", "name": "Commented-code block (7 lines) in components/community/BlogArticles.tsx:88", "shortDescription": {"text": "Commented-code block (7 lines) in components/community/BlogArticles.tsx:88"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2203e00c82d0c7fd", "name": "Commented-code block (5 lines) in components/community/JobAlertForm.tsx:63", "shortDescription": {"text": "Commented-code block (5 lines) in components/community/JobAlertForm.tsx:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-315dd15776bead54", "name": "Commented-code block (7 lines) in components/pages/PublisherPublishPage.tsx:262", "shortDescription": {"text": "Commented-code block (7 lines) in components/pages/PublisherPublishPage.tsx:262"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-25be400909d7c6f8", "name": "Commented-code block (5 lines) in components/pages/PublisherDashboardPage.tsx:469", "shortDescription": {"text": "Commented-code block (5 lines) in components/pages/PublisherDashboardPage.tsx:469"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a30c28feed8b1d08", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/pages/AdminPanel.tsx:2095", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/pages/AdminPanel.tsx:2095"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-523bf72d7e80c79f", "name": "Commented-code block (5 lines) in components/pages/FuelPriceStats.tsx:418", "shortDescription": {"text": "Commented-code block (5 lines) in components/pages/FuelPriceStats.tsx:418"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-609b9a46febb5831", "name": "Legacy-named symbol `easterEggOld` in components/calculator/InputCard.tsx:244", "shortDescription": {"text": "Legacy-named symbol `easterEggOld` in components/calculator/InputCard.tsx:244"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3085a70c6d777d66", "name": "Legacy-named symbol `frontierOld` in components/calculator/WhatIfSimulator.tsx:81", "shortDescription": {"text": "Legacy-named symbol `frontierOld` in components/calculator/WhatIfSimulator.tsx:81"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fad1c69f3aaaf8d8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/calculator/CalculatorPaywall.tsx:106", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/calculator/CalculatorPaywall.tsx:106"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bc1d65128d8dbd4d", "name": "Legacy-named symbol `simOld` in components/calculator/ComparisonChart.tsx:168", "shortDescription": {"text": "Legacy-named symbol `simOld` in components/calculator/ComparisonChart.tsx:168"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb645486a84a1679", "name": "Commented-code block (5 lines) in components/comparators/CurrencyExchange.tsx:370", "shortDescription": {"text": "Commented-code block (5 lines) in components/comparators/CurrencyExchange.tsx:370"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44da68835d6bd58d", "name": "Legacy-named symbol `ft_exchange_weekly_alert_v1` in components/comparators/CurrencyExchangeStats.tsx:734", "shortDescription": {"text": "Legacy-named symbol `ft_exchange_weekly_alert_v1` in components/comparators/CurrencyExchangeStats.tsx:734"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d227624ad532becf", "name": "Commented-code block (5 lines) in components/guide/ContractsGuide.tsx:9", "shortDescription": {"text": "Commented-code block (5 lines) in components/guide/ContractsGuide.tsx:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc511b2e7d0c968a", "name": "Legacy-named symbol `easterEggOld` in components/guide/PermitCompare.tsx:292", "shortDescription": {"text": "Legacy-named symbol `easterEggOld` in components/guide/PermitCompare.tsx:292"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a53a8d1328a0e85e", "name": "Commented-code block (5 lines) in components/guide/FrontierGuide.tsx:75", "shortDescription": {"text": "Commented-code block (5 lines) in components/guide/FrontierGuide.tsx:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10e14988f3f5bfa4", "name": "Commented-code block (10 lines) in components/guide/BorderMunicipalitiesMap.tsx:37", "shortDescription": {"text": "Commented-code block (10 lines) in components/guide/BorderMunicipalitiesMap.tsx:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0705b7d87ea0164d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/useExpiredJob.ts:130", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/useExpiredJob.ts:130"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5d66dd2453cd99bb", "name": "Commented-code block (6 lines) in hooks/useNavigationState.ts:112", "shortDescription": {"text": "Commented-code block (6 lines) in hooks/useNavigationState.ts:112"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e992db3885ee1df0", "name": "Commented-code block (5 lines) in hooks/useSimulationState.ts:68", "shortDescription": {"text": "Commented-code block (5 lines) in hooks/useSimulationState.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-59199895251de48e", "name": "Commented-code block (6 lines) in hooks/useUIState.ts:99", "shortDescription": {"text": "Commented-code block (6 lines) in hooks/useUIState.ts:99"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2344ff2ac68100ac", "name": "Legacy-named symbol `ft_social_proof_counted_v1` in services/firestoreService.ts:25", "shortDescription": {"text": "Legacy-named symbol `ft_social_proof_counted_v1` in services/firestoreService.ts:25"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1dea41a2f313db74", "name": "Commented-code block (6 lines) in services/textUtils.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in services/textUtils.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82439e45038ef380", "name": "Commented-code block (5 lines) in services/jobDataNormalization.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in services/jobDataNormalization.ts:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a703ade339895818", "name": "Legacy-named symbol `bfs_stats_cache_v2` in services/statsService.ts:12", "shortDescription": {"text": "Legacy-named symbol `bfs_stats_cache_v2` in services/statsService.ts:12"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0cd8e8c1d106dfa2", "name": "Commented-code block (6 lines) in services/newsletterAutologinSignal.ts:63", "shortDescription": {"text": "Commented-code block (6 lines) in services/newsletterAutologinSignal.ts:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-673fad872d2bdae0", "name": "Legacy-named symbol `ft_attribution_v1` in services/analytics.ts:293", "shortDescription": {"text": "Legacy-named symbol `ft_attribution_v1` in services/analytics.ts:293"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ab41b2f536fc3d9", "name": "Commented-code block (8 lines) in services/analytics.ts:423", "shortDescription": {"text": "Commented-code block (8 lines) in services/analytics.ts:423"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98c06183241163a9", "name": "Commented-code block (6 lines) in services/firebase.ts:66", "shortDescription": {"text": "Commented-code block (6 lines) in services/firebase.ts:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a7693bc2c5949308", "name": "Commented-code block (5 lines) in services/employerBrands.ts:309", "shortDescription": {"text": "Commented-code block (5 lines) in services/employerBrands.ts:309"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af5bf7068eaabfea", "name": "Commented-code block (5 lines) in services/cdnImageBase.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in services/cdnImageBase.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4321cb9e433e522d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 services/jobsService.ts:177", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/jobsService.ts:177"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c17c42db2dd1dfd", "name": "Commented-code block (6 lines) in services/analytics-seo.ts:218", "shortDescription": {"text": "Commented-code block (6 lines) in services/analytics-seo.ts:218"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27bf808f2b5eb1ee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 services/fuelPricesService.ts:175", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/fuelPricesService.ts:175"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bc1b8768da4a0c02", "name": "Commented-code block (7 lines) in services/newsletter-content.mjs:31", "shortDescription": {"text": "Commented-code block (7 lines) in services/newsletter-content.mjs:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1ed896b0d31e59c", "name": "Commented-code block (5 lines) in services/relatedSearchClusters.ts:23", "shortDescription": {"text": "Commented-code block (5 lines) in services/relatedSearchClusters.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c44e474e0364823", "name": "Commented-code block (10 lines) in services/jobAlertService.ts:141", "shortDescription": {"text": "Commented-code block (10 lines) in services/jobAlertService.ts:141"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dd3bcda3d68b0f95", "name": "Legacy-named symbol `seo_serp_experiment_state_v1` in services/seoService.ts:129", "shortDescription": {"text": "Legacy-named symbol `seo_serp_experiment_state_v1` in services/seoService.ts:129"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1ac3459638d9cb3", "name": "Commented-code block (5 lines) in services/seoService.ts:272", "shortDescription": {"text": "Commented-code block (5 lines) in services/seoService.ts:272"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c04da8dd28ba9a07", "name": "Commented-code block (6 lines) in services/authService.ts:17", "shortDescription": {"text": "Commented-code block (6 lines) in services/authService.ts:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-99712c4bba53d486", "name": "`fetch()` without try/.catch or AbortSignal \u2014 services/newsletterPreview.ts:187", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/newsletterPreview.ts:187"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1107da278e5fc42e", "name": "Commented-code block (8 lines) in services/posthog-error-filter.ts:26", "shortDescription": {"text": "Commented-code block (8 lines) in services/posthog-error-filter.ts:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fca84fd1e2a728d0", "name": "Commented-code block (5 lines) in services/errorReporter.ts:84", "shortDescription": {"text": "Commented-code block (5 lines) in services/errorReporter.ts:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-333d5d968aa76ab0", "name": "Commented-code block (6 lines) in services/posthog.ts:24", "shortDescription": {"text": "Commented-code block (6 lines) in services/posthog.ts:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-570a7617a1fa8c05", "name": "Commented-code block (7 lines) in services/router.ts:77", "shortDescription": {"text": "Commented-code block (7 lines) in services/router.ts:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0d5ec49f18f6bbb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 services/router.ts:1666", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/router.ts:1666"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-23c2acde375c4cb7", "name": "Commented-code block (7 lines) in services/newsletter-subject-variants.mjs:24", "shortDescription": {"text": "Commented-code block (7 lines) in services/newsletter-subject-variants.mjs:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e7ab9056cbccd9b3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 services/jobBoardStatsService.ts:74", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/jobBoardStatsService.ts:74"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dd00bf51e27fd32b", "name": "Legacy-named symbol `newsletter_geo_snapshot_v1` in services/newsletterSubscribers.ts:16", "shortDescription": {"text": "Legacy-named symbol `newsletter_geo_snapshot_v1` in services/newsletterSubscribers.ts:16"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46b7a37f7734b718", "name": "Commented-code block (8 lines) in services/newsletterSubscribers.ts:263", "shortDescription": {"text": "Commented-code block (8 lines) in services/newsletterSubscribers.ts:263"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a8b923453378fa78", "name": "`fetch()` without try/.catch or AbortSignal \u2014 services/newsletterSubscribers.ts:782", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/newsletterSubscribers.ts:782"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e1034ba08216078e", "name": "Legacy-named symbol `filterOld` in services/locales/en-fisco.ts:177", "shortDescription": {"text": "Legacy-named symbol `filterOld` in services/locales/en-fisco.ts:177"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9998167f7e48f684", "name": "Legacy-named symbol `workerTypeOld` in services/locales/de-calculator.ts:6", "shortDescription": {"text": "Legacy-named symbol `workerTypeOld` in services/locales/de-calculator.ts:6"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db3406d09f2d511f", "name": "Legacy-named symbol `frontierOld` in services/locales/en-vita.ts:58", "shortDescription": {"text": "Legacy-named symbol `frontierOld` in services/locales/en-vita.ts:58"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-482f4feee58921ef", "name": "Legacy-named symbol `frontierOld` in services/locales/it-vita.ts:59", "shortDescription": {"text": "Legacy-named symbol `frontierOld` in services/locales/it-vita.ts:59"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4eeb9c3d423f18b8", "name": "Legacy-named symbol `gTypeOld` in services/locales/en-core.ts:189", "shortDescription": {"text": "Legacy-named symbol `gTypeOld` in services/locales/en-core.ts:189"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7930d9bac9551063", "name": "Legacy-named symbol `filterOld` in services/locales/de-fisco.ts:177", "shortDescription": {"text": "Legacy-named symbol `filterOld` in services/locales/de-fisco.ts:177"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6002b7afffd71bb3", "name": "Legacy-named symbol `gTypeOld` in services/locales/it-core.ts:206", "shortDescription": {"text": "Legacy-named symbol `gTypeOld` in services/locales/it-core.ts:206"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f5e52a593340fc90", "name": "Legacy-named symbol `frontierOld` in services/locales/de-vita.ts:58", "shortDescription": {"text": "Legacy-named symbol `frontierOld` in services/locales/de-vita.ts:58"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b77dc1ccb739897", "name": "Legacy-named symbol `filterOld` in services/locales/it-fisco.ts:190", "shortDescription": {"text": "Legacy-named symbol `filterOld` in services/locales/it-fisco.ts:190"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a40d17850477ca7c", "name": "Commented-code block (6 lines) in services/locales/it-critical.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in services/locales/it-critical.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a7e5acdf2e5de1d", "name": "Legacy-named symbol `gTypeOld` in services/locales/fr-core.ts:192", "shortDescription": {"text": "Legacy-named symbol `gTypeOld` in services/locales/fr-core.ts:192"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d19cee2ce584bd10", "name": "Commented-code block (5 lines) in services/locales/it-border-wait.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in services/locales/it-border-wait.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28f27fa5b89dc2f6", "name": "Legacy-named symbol `frontierOld` in services/locales/fr-vita.ts:58", "shortDescription": {"text": "Legacy-named symbol `frontierOld` in services/locales/fr-vita.ts:58"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7219d83132d0055", "name": "Commented-code block (5 lines) in services/locales/it-health-premiums.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in services/locales/it-health-premiums.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-50843625ea3bc305", "name": "Commented-code block (7 lines) in services/locales/it-seo-links.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in services/locales/it-seo-links.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7f2c63d6ca4a19d", "name": "Legacy-named symbol `workerTypeOld` in services/locales/fr-calculator.ts:6", "shortDescription": {"text": "Legacy-named symbol `workerTypeOld` in services/locales/fr-calculator.ts:6"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c4b2adaf8536e52", "name": "Legacy-named symbol `workerTypeOld` in services/locales/it-calculator.ts:7", "shortDescription": {"text": "Legacy-named symbol `workerTypeOld` in services/locales/it-calculator.ts:7"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e03b983790c8198e", "name": "Legacy-named symbol `filterOld` in services/locales/fr-fisco.ts:177", "shortDescription": {"text": "Legacy-named symbol `filterOld` in services/locales/fr-fisco.ts:177"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-96d93c0265ad6982", "name": "Legacy-named symbol `workerTypeOld` in services/locales/en-calculator.ts:6", "shortDescription": {"text": "Legacy-named symbol `workerTypeOld` in services/locales/en-calculator.ts:6"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e05b34bb6512f20f", "name": "Legacy-named symbol `gTypeOld` in services/locales/de-core.ts:192", "shortDescription": {"text": "Legacy-named symbol `gTypeOld` in services/locales/de-core.ts:192"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-649f4f0c23210e86", "name": "Legacy-named symbol `nOld` in services/locales/blog-body/en/social-media-frontalieri-ticino.ts:2", "shortDescription": {"text": "Legacy-named symbol `nOld` in services/locales/blog-body/en/social-media-frontalieri-ticino.ts:2"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd918fd77b3e729b", "name": "Commented-code block (5 lines) in services/jobs/canonicalFallback.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in services/jobs/canonicalFallback.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dadfc6fda95002b9", "name": "Commented-code block (5 lines) in services/seo/seo-authors.ts:61", "shortDescription": {"text": "Commented-code block (5 lines) in services/seo/seo-authors.ts:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9d03f4531e705116", "name": "Commented-code block (10 lines) in services/seo/claim-review.ts:11", "shortDescription": {"text": "Commented-code block (10 lines) in services/seo/claim-review.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5314d8f188aacbfa", "name": "Commented-code block (5 lines) in services/seo/entity-translations.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in services/seo/entity-translations.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c9c919300ae14f18", "name": "Commented-code block (5 lines) in services/seo/job-board-titles.ts:425", "shortDescription": {"text": "Commented-code block (5 lines) in services/seo/job-board-titles.ts:425"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-771eda1807991e6a", "name": "Commented-code block (6 lines) in services/seo/faq-translations.ts:4485", "shortDescription": {"text": "Commented-code block (6 lines) in services/seo/faq-translations.ts:4485"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-39634c984eb71511", "name": "Commented-code block (5 lines) in services/seo/schema-translators.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in services/seo/schema-translators.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4b3e1bad2cb156cf", "name": "Commented-code block (6 lines) in services/seo/blogImageCdn.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in services/seo/blogImageCdn.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b980504c1f114235", "name": "Commented-code block (7 lines) in services/seo/article-translations.ts:6", "shortDescription": {"text": "Commented-code block (7 lines) in services/seo/article-translations.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cc651ddc94e57e83", "name": "Commented-code block (5 lines) in services/seo/seo-blog-ch.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in services/seo/seo-blog-ch.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e8b7649491a82601", "name": "Commented-code block (5 lines) in services/seo/schema-normalizers.ts:61", "shortDescription": {"text": "Commented-code block (5 lines) in services/seo/schema-normalizers.ts:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a42254ed014a0b00", "name": "Commented-code block (6 lines) in infra/cloudflare-worker/locale-router.js:74", "shortDescription": {"text": "Commented-code block (6 lines) in infra/cloudflare-worker/locale-router.js:74"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a2cb79733d8991cb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 infra/cloudflare-worker/locale-router.js:191", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 infra/cloudflare-worker/locale-router.js:191"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a8c1678b482ec827", "name": "436 env vars used in code but missing from .env.example", "shortDescription": {"text": "436 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ACTIVE_JOBS_REGRESSION_THRESHOLD`, `ADAPTER_ACTION`, `ADAPTER_ENABLED`, `ADAPTER_KEY`, `ADSENSE_CLIENT_ID`, `ADSENSE_CLIENT_SECRET`, `ADSENSE_REFRESH_TOKEN`, `AFRY_MAX_DETAIL_PAGES` + 428 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3143cbd7a742d31", "name": "Dangling fetch: GET https://api.linkedin.com/v2/me?projection=(id,localizedHeadline,vanityName) (functions/src/linkedinA", "shortDescription": {"text": "Dangling fetch: GET https://api.linkedin.com/v2/me?projection=(id,localizedHeadline,vanityName) (functions/src/linkedinAuthCallback.js:30)"}, "fullDescription": {"text": "`functions/src/linkedinAuthCallback.js:30` calls `GET https://api.linkedin.com/v2/me?projection=(id,localizedHeadline,vanityName)` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.linkedin.com/v2/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-453608bd4f333bb0", "name": "Dangling fetch: POST https://www.linkedin.com/oauth/v2/accessToken (functions/src/linkedinAuthCallback.js:95)", "shortDescription": {"text": "Dangling fetch: POST https://www.linkedin.com/oauth/v2/accessToken (functions/src/linkedinAuthCallback.js:95)"}, "fullDescription": {"text": "`functions/src/linkedinAuthCallback.js:95` calls `POST https://www.linkedin.com/oauth/v2/accessToken` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/www.linkedin.com/oauth/v2/accesstoken`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4e6e16d8a5a8038e", "name": "Dangling fetch: GET https://api.linkedin.com/v2/userinfo (functions/src/linkedinAuthCallback.js:115)", "shortDescription": {"text": "Dangling fetch: GET https://api.linkedin.com/v2/userinfo (functions/src/linkedinAuthCallback.js:115)"}, "fullDescription": {"text": "`functions/src/linkedinAuthCallback.js:115` calls `GET https://api.linkedin.com/v2/userinfo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.linkedin.com/v2/userinfo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1874e25346ec92ed", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/audit-adsense-channels.mjs:52)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/audit-adsense-channels.mjs:52)"}, "fullDescription": {"text": "`scripts/audit-adsense-channels.mjs:52` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e853ca36828df1ca", "name": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/localize-vf-existing-jobs.mjs:111)", "shortDescription": {"text": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/localize-vf-existing-jobs.mjs:111)"}, "fullDescription": {"text": "`scripts/localize-vf-existing-jobs.mjs:111` calls `POST https://api-free.deepl.com/v2/translate` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api-free.deepl.com/v2/translate`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-295fe6621e065391", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/identify-top-marquee-by-gsc.mjs:119)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/identify-top-marquee-by-gsc.mjs:119)"}, "fullDescription": {"text": "`scripts/identify-top-marquee-by-gsc.mjs:119` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7a3bbedd98b503e7", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/sync-gsc-orphans.mjs:158)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/sync-gsc-orphans.mjs:158)"}, "fullDescription": {"text": "`scripts/sync-gsc-orphans.mjs:158` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a7469d435af8a18e", "name": "Dangling fetch: GET https://www.googleapis.com/webmasters/v3/sites (scripts/sync-gsc-orphans.mjs:176)", "shortDescription": {"text": "Dangling fetch: GET https://www.googleapis.com/webmasters/v3/sites (scripts/sync-gsc-orphans.mjs:176)"}, "fullDescription": {"text": "`scripts/sync-gsc-orphans.mjs:176` calls `GET https://www.googleapis.com/webmasters/v3/sites` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/www.googleapis.com/webmasters/v3/sites`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b9cf4f46cb2417b3", "name": "Dangling fetch: POST https://www.googleapis.com/webmasters/v3/sites/${encodeURIComponent(resolvedSiteUrl)}/searchAnalyti", "shortDescription": {"text": "Dangling fetch: POST https://www.googleapis.com/webmasters/v3/sites/${encodeURIComponent(resolvedSiteUrl)}/searchAnalytics/query (scripts/sync-gsc-orphans.mjs:242)"}, "fullDescription": {"text": "`scripts/sync-gsc-orphans.mjs:242` calls `POST https://www.googleapis.com/webmasters/v3/sites/${encodeURIComponent(resolvedSiteUrl)}/searchAnalytics/query` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/www.googleapis.com/webmasters/v3/sites/<p>/searchanalytics/query`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6d2476a8cc7bcc0c", "name": "Dangling fetch: POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect (scripts/sync-gsc-orphans.mjs:7", "shortDescription": {"text": "Dangling fetch: POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect (scripts/sync-gsc-orphans.mjs:775)"}, "fullDescription": {"text": "`scripts/sync-gsc-orphans.mjs:775` calls `POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/searchconsole.googleapis.com/v1/urlinspection/index/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73df312201597b03", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/check-gsc-frontaliere-baseline.mjs:156)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/check-gsc-frontaliere-baseline.mjs:156)"}, "fullDescription": {"text": "`scripts/check-gsc-frontaliere-baseline.mjs:156` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0523e405ae441f9b", "name": "Dangling fetch: GET https://graph.facebook.com/v21.0/me?access_token=${FB_PAGE_ACCESS_TOKEN} (scripts/post-to-facebook.m", "shortDescription": {"text": "Dangling fetch: GET https://graph.facebook.com/v21.0/me?access_token=${FB_PAGE_ACCESS_TOKEN} (scripts/post-to-facebook.mjs:86)"}, "fullDescription": {"text": "`scripts/post-to-facebook.mjs:86` calls `GET https://graph.facebook.com/v21.0/me?access_token=${FB_PAGE_ACCESS_TOKEN}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/graph.facebook.com/v21.0/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cfd0456a1460a56a", "name": "Dangling fetch: GET https://graph.facebook.com/v21.0/me/accounts?access_token=${FB_PAGE_ACCESS_TOKEN} (scripts/post-to-f", "shortDescription": {"text": "Dangling fetch: GET https://graph.facebook.com/v21.0/me/accounts?access_token=${FB_PAGE_ACCESS_TOKEN} (scripts/post-to-facebook.mjs:94)"}, "fullDescription": {"text": "`scripts/post-to-facebook.mjs:94` calls `GET https://graph.facebook.com/v21.0/me/accounts?access_token=${FB_PAGE_ACCESS_TOKEN}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/graph.facebook.com/v21.0/me/accounts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fa91f26bc4014635", "name": "Dangling fetch: POST https://graph.facebook.com/v21.0/?id=${encodeURIComponent(articleUrl)}&scrape=true&access_token=${F", "shortDescription": {"text": "Dangling fetch: POST https://graph.facebook.com/v21.0/?id=${encodeURIComponent(articleUrl)}&scrape=true&access_token=${FB_PAGE_ACCESS_TOKEN} (scripts/post-to-facebook.mjs:113)"}, "fullDescription": {"text": "`scripts/post-to-facebook.mjs:113` calls `POST https://graph.facebook.com/v21.0/?id=${encodeURIComponent(articleUrl)}&scrape=true&access_token=${FB_PAGE_ACCESS_TOKEN}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/graph.facebook.com/v21.0`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a0ca294ba7f0002b", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/setup-google-oauth.mjs:71)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/setup-google-oauth.mjs:71)"}, "fullDescription": {"text": "`scripts/setup-google-oauth.mjs:71` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-593d8cf56b375796", "name": "Dangling fetch: POST https://eu.posthog.com/api/projects/${PROJECT_ID}/query/ (scripts/diagnose-calc-funnel.mjs:13)", "shortDescription": {"text": "Dangling fetch: POST https://eu.posthog.com/api/projects/${PROJECT_ID}/query/ (scripts/diagnose-calc-funnel.mjs:13)"}, "fullDescription": {"text": "`scripts/diagnose-calc-funnel.mjs:13` calls `POST https://eu.posthog.com/api/projects/${PROJECT_ID}/query/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/eu.posthog.com/api/projects/<p>/query`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a93a46d38b24eff2", "name": "Dangling fetch: GET https://${HOST}/${file} (scripts/submit-indexnow.js:212)", "shortDescription": {"text": "Dangling fetch: GET https://${HOST}/${file} (scripts/submit-indexnow.js:212)"}, "fullDescription": {"text": "`scripts/submit-indexnow.js:212` calls `GET https://${HOST}/${file}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fdbc968acf8efb5c", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/analytics-report.mjs:360)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/analytics-report.mjs:360)"}, "fullDescription": {"text": "`scripts/analytics-report.mjs:360` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f7a80b9349345c0f", "name": "Dangling fetch: POST https://api.together.xyz/v1/images/generations (scripts/backfill-small-images.mjs:365)", "shortDescription": {"text": "Dangling fetch: POST https://api.together.xyz/v1/images/generations (scripts/backfill-small-images.mjs:365)"}, "fullDescription": {"text": "`scripts/backfill-small-images.mjs:365` calls `POST https://api.together.xyz/v1/images/generations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.together.xyz/v1/images/generations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9a69efc8ea8abd7c", "name": "Dangling fetch: POST https://fal.run/fal-ai/flux/schnell (scripts/backfill-small-images.mjs:391)", "shortDescription": {"text": "Dangling fetch: POST https://fal.run/fal-ai/flux/schnell (scripts/backfill-small-images.mjs:391)"}, "fullDescription": {"text": "`scripts/backfill-small-images.mjs:391` calls `POST https://fal.run/fal-ai/flux/schnell` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/fal.run/fal-ai/flux/schnell`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d75ce329d46a16e7", "name": "Dangling fetch: POST https://router.huggingface.co/hf-inference/v2/models/${hfModel} (scripts/backfill-small-images.mjs:", "shortDescription": {"text": "Dangling fetch: POST https://router.huggingface.co/hf-inference/v2/models/${hfModel} (scripts/backfill-small-images.mjs:418)"}, "fullDescription": {"text": "`scripts/backfill-small-images.mjs:418` calls `POST https://router.huggingface.co/hf-inference/v2/models/${hfModel}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/router.huggingface.co/hf-inference/v2/models/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-97c258603807e4a4", "name": "Dangling fetch: GET https://pixabay.com/api/?key=${pixabayKey}&q=${encodeURIComponent(pxQuery)}${pxCatParam}&image_type=", "shortDescription": {"text": "Dangling fetch: GET https://pixabay.com/api/?key=${pixabayKey}&q=${encodeURIComponent(pxQuery)}${pxCatParam}&image_type=photo&orientation=horizontal&per_page=20&min_width=1280&safesearch=true (scripts/backfill-small-images.mjs:494)"}, "fullDescription": {"text": "`scripts/backfill-small-images.mjs:494` calls `GET https://pixabay.com/api/?key=${pixabayKey}&q=${encodeURIComponent(pxQuery)}${pxCatParam}&image_type=photo&orientation=horizontal&per_page=20&min_width=1280&safesearch=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/pixabay.com/api`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c76475a20283662f", "name": "Dangling fetch: GET https://api.pexels.com/v1/search?query=${encodeURIComponent(pxQuery)}&orientation=landscape&size=lar", "shortDescription": {"text": "Dangling fetch: GET https://api.pexels.com/v1/search?query=${encodeURIComponent(pxQuery)}&orientation=landscape&size=large&per_page=20 (scripts/backfill-small-images.mjs:528)"}, "fullDescription": {"text": "`scripts/backfill-small-images.mjs:528` calls `GET https://api.pexels.com/v1/search?query=${encodeURIComponent(pxQuery)}&orientation=landscape&size=large&per_page=20` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.pexels.com/v1/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6f79b93ff2334e2d", "name": "Dangling fetch: GET https://picsum.photos/seed/${absSeed}/1280/720 (scripts/backfill-small-images.mjs:558)", "shortDescription": {"text": "Dangling fetch: GET https://picsum.photos/seed/${absSeed}/1280/720 (scripts/backfill-small-images.mjs:558)"}, "fullDescription": {"text": "`scripts/backfill-small-images.mjs:558` calls `GET https://picsum.photos/seed/${absSeed}/1280/720` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/picsum.photos/seed/<p>/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e9f5b965ff81e0a1", "name": "Dangling fetch: POST https://www.linkedin.com/oauth/v2/accessToken (scripts/post-to-linkedin.mjs:47)", "shortDescription": {"text": "Dangling fetch: POST https://www.linkedin.com/oauth/v2/accessToken (scripts/post-to-linkedin.mjs:47)"}, "fullDescription": {"text": "`scripts/post-to-linkedin.mjs:47` calls `POST https://www.linkedin.com/oauth/v2/accessToken` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/www.linkedin.com/oauth/v2/accesstoken`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-417ff0311cd35af3", "name": "Dangling fetch: POST https://api.linkedin.com/rest/posts (scripts/post-to-linkedin.mjs:156)", "shortDescription": {"text": "Dangling fetch: POST https://api.linkedin.com/rest/posts (scripts/post-to-linkedin.mjs:156)"}, "fullDescription": {"text": "`scripts/post-to-linkedin.mjs:156` calls `POST https://api.linkedin.com/rest/posts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.linkedin.com/rest/posts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eec64f0a0afa68af", "name": "Dangling fetch: POST https://api.together.xyz/v1/images/generations (scripts/create-article.mjs:5895)", "shortDescription": {"text": "Dangling fetch: POST https://api.together.xyz/v1/images/generations (scripts/create-article.mjs:5895)"}, "fullDescription": {"text": "`scripts/create-article.mjs:5895` calls `POST https://api.together.xyz/v1/images/generations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.together.xyz/v1/images/generations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bcb48cb11a8cb1a1", "name": "Dangling fetch: POST https://fal.run/fal-ai/flux/schnell (scripts/create-article.mjs:5933)", "shortDescription": {"text": "Dangling fetch: POST https://fal.run/fal-ai/flux/schnell (scripts/create-article.mjs:5933)"}, "fullDescription": {"text": "`scripts/create-article.mjs:5933` calls `POST https://fal.run/fal-ai/flux/schnell` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/fal.run/fal-ai/flux/schnell`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b4a2be7230f6f5f2", "name": "Dangling fetch: POST https://router.huggingface.co/hf-inference/v2/models/${hfModel} (scripts/create-article.mjs:5979)", "shortDescription": {"text": "Dangling fetch: POST https://router.huggingface.co/hf-inference/v2/models/${hfModel} (scripts/create-article.mjs:5979)"}, "fullDescription": {"text": "`scripts/create-article.mjs:5979` calls `POST https://router.huggingface.co/hf-inference/v2/models/${hfModel}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/router.huggingface.co/hf-inference/v2/models/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e8f8b23123909814", "name": "Dangling fetch: GET https://pixabay.com/api/?key=${pixabayKey}&q=${q}${categoryParam}&image_type=photo&orientation=horiz", "shortDescription": {"text": "Dangling fetch: GET https://pixabay.com/api/?key=${pixabayKey}&q=${q}${categoryParam}&image_type=photo&orientation=horizontal&per_page=20&min_width=1280&safesearch=true (scripts/create-article.mjs:6095)"}, "fullDescription": {"text": "`scripts/create-article.mjs:6095` calls `GET https://pixabay.com/api/?key=${pixabayKey}&q=${q}${categoryParam}&image_type=photo&orientation=horizontal&per_page=20&min_width=1280&safesearch=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/pixabay.com/api`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-62411b7cb527ea69", "name": "Dangling fetch: GET https://api.pexels.com/v1/search?query=${q}&orientation=landscape&size=large&per_page=20 (scripts/cr", "shortDescription": {"text": "Dangling fetch: GET https://api.pexels.com/v1/search?query=${q}&orientation=landscape&size=large&per_page=20 (scripts/create-article.mjs:6140)"}, "fullDescription": {"text": "`scripts/create-article.mjs:6140` calls `GET https://api.pexels.com/v1/search?query=${q}&orientation=landscape&size=large&per_page=20` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.pexels.com/v1/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b9bb5c777662e8c2", "name": "Dangling fetch: GET https://picsum.photos/seed/${absSeed}/1280/720 (scripts/create-article.mjs:6185)", "shortDescription": {"text": "Dangling fetch: GET https://picsum.photos/seed/${absSeed}/1280/720 (scripts/create-article.mjs:6185)"}, "fullDescription": {"text": "`scripts/create-article.mjs:6185` calls `GET https://picsum.photos/seed/${absSeed}/1280/720` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/picsum.photos/seed/<p>/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e6a07615ff5a12df", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/find-orphan-indexed-jobs.mjs:32)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/find-orphan-indexed-jobs.mjs:32)"}, "fullDescription": {"text": "`scripts/find-orphan-indexed-jobs.mjs:32` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-acb44abe97d3c056", "name": "Dangling fetch: POST https://www.googleapis.com/webmasters/v3/sites/${encodeURIComponent(SITE_URL)}/searchAnalytics/quer", "shortDescription": {"text": "Dangling fetch: POST https://www.googleapis.com/webmasters/v3/sites/${encodeURIComponent(SITE_URL)}/searchAnalytics/query (scripts/find-orphan-indexed-jobs.mjs:112)"}, "fullDescription": {"text": "`scripts/find-orphan-indexed-jobs.mjs:112` calls `POST https://www.googleapis.com/webmasters/v3/sites/${encodeURIComponent(SITE_URL)}/searchAnalytics/query` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/www.googleapis.com/webmasters/v3/sites/<p>/searchanalytics/query`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6d8940c775bc8e25", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/refresh-gsc-position-rolling.mjs:32)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/refresh-gsc-position-rolling.mjs:32)"}, "fullDescription": {"text": "`scripts/refresh-gsc-position-rolling.mjs:32` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe3faab2d5c7d0a9", "name": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/re-localize-jobs.mjs:90)", "shortDescription": {"text": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/re-localize-jobs.mjs:90)"}, "fullDescription": {"text": "`scripts/re-localize-jobs.mjs:90` calls `POST https://api-free.deepl.com/v2/translate` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api-free.deepl.com/v2/translate`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d9fd894f5bcb31d5", "name": "Dangling fetch: GET https://adsense.googleapis.com/v2${pathFrag} (scripts/adsense-archive-orphans.mjs:104)", "shortDescription": {"text": "Dangling fetch: GET https://adsense.googleapis.com/v2${pathFrag} (scripts/adsense-archive-orphans.mjs:104)"}, "fullDescription": {"text": "`scripts/adsense-archive-orphans.mjs:104` calls `GET https://adsense.googleapis.com/v2${pathFrag}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/adsense.googleapis.com/v2/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ecc0f66ebece93b7", "name": "Dangling fetch: GET https://adsense.googleapis.com/v2${pathFrag} (scripts/adsense-slot-audit.mjs:126)", "shortDescription": {"text": "Dangling fetch: GET https://adsense.googleapis.com/v2${pathFrag} (scripts/adsense-slot-audit.mjs:126)"}, "fullDescription": {"text": "`scripts/adsense-slot-audit.mjs:126` calls `GET https://adsense.googleapis.com/v2${pathFrag}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/adsense.googleapis.com/v2/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3cbdc609c37122a2", "name": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/update-supsi-jobs.mjs:784)", "shortDescription": {"text": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/update-supsi-jobs.mjs:784)"}, "fullDescription": {"text": "`scripts/update-supsi-jobs.mjs:784` calls `POST https://api-free.deepl.com/v2/translate` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api-free.deepl.com/v2/translate`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3169d2cf0f46ca59", "name": "Dangling fetch: POST https://api.perplexity.ai/chat/completions (scripts/check-ai-visibility.mjs:96)", "shortDescription": {"text": "Dangling fetch: POST https://api.perplexity.ai/chat/completions (scripts/check-ai-visibility.mjs:96)"}, "fullDescription": {"text": "`scripts/check-ai-visibility.mjs:96` calls `POST https://api.perplexity.ai/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.perplexity.ai/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f2347b197132c582", "name": "Dangling fetch: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=${key}", "shortDescription": {"text": "Dangling fetch: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=${key} (scripts/check-ai-visibility.mjs:141)"}, "fullDescription": {"text": "`scripts/check-ai-visibility.mjs:141` calls `POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=${key}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b5924448e9c653eb", "name": "Dangling fetch: POST https://models.inference.ai.azure.com/chat/completions (scripts/check-ai-visibility.mjs:180)", "shortDescription": {"text": "Dangling fetch: POST https://models.inference.ai.azure.com/chat/completions (scripts/check-ai-visibility.mjs:180)"}, "fullDescription": {"text": "`scripts/check-ai-visibility.mjs:180` calls `POST https://models.inference.ai.azure.com/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/models.inference.ai.azure.com/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0108a3c303bf9849", "name": "Dangling fetch: GET https://api.resend.com/domains (scripts/check-resend-domain.mjs:21)", "shortDescription": {"text": "Dangling fetch: GET https://api.resend.com/domains (scripts/check-resend-domain.mjs:21)"}, "fullDescription": {"text": "`scripts/check-resend-domain.mjs:21` calls `GET https://api.resend.com/domains` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/domains`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-47101074f5af8aec", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/discover-404s-via-inspection.mjs:67)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/discover-404s-via-inspection.mjs:67)"}, "fullDescription": {"text": "`scripts/discover-404s-via-inspection.mjs:67` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-84ec673eeef79c76", "name": "Dangling fetch: GET https://www.googleapis.com/webmasters/v3/sites (scripts/discover-404s-via-inspection.mjs:85)", "shortDescription": {"text": "Dangling fetch: GET https://www.googleapis.com/webmasters/v3/sites (scripts/discover-404s-via-inspection.mjs:85)"}, "fullDescription": {"text": "`scripts/discover-404s-via-inspection.mjs:85` calls `GET https://www.googleapis.com/webmasters/v3/sites` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/www.googleapis.com/webmasters/v3/sites`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a06a7b87c0c3e4a4", "name": "Dangling fetch: POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect (scripts/discover-404s-via-insp", "shortDescription": {"text": "Dangling fetch: POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect (scripts/discover-404s-via-inspection.mjs:228)"}, "fullDescription": {"text": "`scripts/discover-404s-via-inspection.mjs:228` calls `POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/searchconsole.googleapis.com/v1/urlinspection/index/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0a9a417dd0c30c30", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/refresh-noslash-keep.mjs:103)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/refresh-noslash-keep.mjs:103)"}, "fullDescription": {"text": "`scripts/refresh-noslash-keep.mjs:103` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8b7b965cce9d5ef5", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/revenue-monitor.mjs:98)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/revenue-monitor.mjs:98)"}, "fullDescription": {"text": "`scripts/revenue-monitor.mjs:98` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0255aa150f23749a", "name": "Dangling fetch: GET https://adsense.googleapis.com/v2/accounts (scripts/revenue-monitor.mjs:144)", "shortDescription": {"text": "Dangling fetch: GET https://adsense.googleapis.com/v2/accounts (scripts/revenue-monitor.mjs:144)"}, "fullDescription": {"text": "`scripts/revenue-monitor.mjs:144` calls `GET https://adsense.googleapis.com/v2/accounts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/adsense.googleapis.com/v2/accounts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3d7b5d593e444c74", "name": "Dangling fetch: POST https://eu.posthog.com/api/projects/${PROJECT_ID}/query/ (scripts/diagnose-app-errors.mjs:12)", "shortDescription": {"text": "Dangling fetch: POST https://eu.posthog.com/api/projects/${PROJECT_ID}/query/ (scripts/diagnose-app-errors.mjs:12)"}, "fullDescription": {"text": "`scripts/diagnose-app-errors.mjs:12` calls `POST https://eu.posthog.com/api/projects/${PROJECT_ID}/query/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/eu.posthog.com/api/projects/<p>/query`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c68c1a289d6ffab3", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/refresh-indexed-cluster-urls.mjs:110)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/refresh-indexed-cluster-urls.mjs:110)"}, "fullDescription": {"text": "`scripts/refresh-indexed-cluster-urls.mjs:110` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-054fca4d0f218744", "name": "Dangling fetch: GET https://dns.google/resolve?name=${encodeURIComponent(host)}&type=A (scripts/update-delvitech-jobs.mj", "shortDescription": {"text": "Dangling fetch: GET https://dns.google/resolve?name=${encodeURIComponent(host)}&type=A (scripts/update-delvitech-jobs.mjs:158)"}, "fullDescription": {"text": "`scripts/update-delvitech-jobs.mjs:158` calls `GET https://dns.google/resolve?name=${encodeURIComponent(host)}&type=A` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/dns.google/resolve`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e50b7420dc1ee788", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/canary-rpm.mjs:59)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/canary-rpm.mjs:59)"}, "fullDescription": {"text": "`scripts/canary-rpm.mjs:59` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fef4c20520d423a8", "name": "Dangling fetch: GET https://adsense.googleapis.com/v2/accounts (scripts/canary-rpm.mjs:85)", "shortDescription": {"text": "Dangling fetch: GET https://adsense.googleapis.com/v2/accounts (scripts/canary-rpm.mjs:85)"}, "fullDescription": {"text": "`scripts/canary-rpm.mjs:85` calls `GET https://adsense.googleapis.com/v2/accounts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/adsense.googleapis.com/v2/accounts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e57738caa2313bb2", "name": "Dangling fetch: GET https://api.eu.mailgun.net/v3/${domain}/stats/total?event=accepted&duration=1d (scripts/lib/email-ca", "shortDescription": {"text": "Dangling fetch: GET https://api.eu.mailgun.net/v3/${domain}/stats/total?event=accepted&duration=1d (scripts/lib/email-cascade.mjs:79)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:79` calls `GET https://api.eu.mailgun.net/v3/${domain}/stats/total?event=accepted&duration=1d` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.eu.mailgun.net/v3/<p>/stats/total`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72cba9350f1e5ab7", "name": "Dangling fetch: GET https://api.mailjet.com/v3/REST/statcounters?CounterSource=APIKey&CounterTiming=Message&CounterResol", "shortDescription": {"text": "Dangling fetch: GET https://api.mailjet.com/v3/REST/statcounters?CounterSource=APIKey&CounterTiming=Message&CounterResolution=Day&FromTS=${today}T00:00:00Z&ToTS=${today}T23:59:59Z (scripts/lib/email-cascade.mjs:96)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:96` calls `GET https://api.mailjet.com/v3/REST/statcounters?CounterSource=APIKey&CounterTiming=Message&CounterResolution=Day&FromTS=${today}T00:00:00Z&ToTS=${today}T23:59:59Z` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.mailjet.com/v3/rest/statcounters`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34eaf9c478fec034", "name": "Dangling fetch: GET https://api.unosend.co/v1/emails?limit=100 (scripts/lib/email-cascade.mjs:115)", "shortDescription": {"text": "Dangling fetch: GET https://api.unosend.co/v1/emails?limit=100 (scripts/lib/email-cascade.mjs:115)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:115` calls `GET https://api.unosend.co/v1/emails?limit=100` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.unosend.co/v1/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8af02a2c942b91a0", "name": "Dangling fetch: GET https://mailtrap.io/api/accounts (scripts/lib/email-cascade.mjs:129)", "shortDescription": {"text": "Dangling fetch: GET https://mailtrap.io/api/accounts (scripts/lib/email-cascade.mjs:129)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:129` calls `GET https://mailtrap.io/api/accounts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/mailtrap.io/api/accounts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c17871d2b5b49320", "name": "Dangling fetch: GET https://mailtrap.io/api/accounts/${accountId}/stats?start_date=${today}&end_date=${today} (scripts/l", "shortDescription": {"text": "Dangling fetch: GET https://mailtrap.io/api/accounts/${accountId}/stats?start_date=${today}&end_date=${today} (scripts/lib/email-cascade.mjs:139)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:139` calls `GET https://mailtrap.io/api/accounts/${accountId}/stats?start_date=${today}&end_date=${today}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/mailtrap.io/api/accounts/<p>/stats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cd195a1f64f7b9af", "name": "Dangling fetch: POST https://api.mailjet.com/v3.1/send (scripts/lib/email-cascade.mjs:233)", "shortDescription": {"text": "Dangling fetch: POST https://api.mailjet.com/v3.1/send (scripts/lib/email-cascade.mjs:233)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:233` calls `POST https://api.mailjet.com/v3.1/send` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.mailjet.com/v3.1/send`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6bee2d9bcbdb1c1d", "name": "Dangling fetch: POST https://api.eu.mailgun.net/v3/${domain}/messages (scripts/lib/email-cascade.mjs:296)", "shortDescription": {"text": "Dangling fetch: POST https://api.eu.mailgun.net/v3/${domain}/messages (scripts/lib/email-cascade.mjs:296)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:296` calls `POST https://api.eu.mailgun.net/v3/${domain}/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.eu.mailgun.net/v3/<p>/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-46bc566573e483d7", "name": "Dangling fetch: POST https://api.unosend.co/v1/emails (scripts/lib/email-cascade.mjs:328)", "shortDescription": {"text": "Dangling fetch: POST https://api.unosend.co/v1/emails (scripts/lib/email-cascade.mjs:328)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:328` calls `POST https://api.unosend.co/v1/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.unosend.co/v1/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d01b37ff68ef9ea5", "name": "Dangling fetch: POST https://send.api.mailtrap.io/api/send (scripts/lib/email-cascade.mjs:363)", "shortDescription": {"text": "Dangling fetch: POST https://send.api.mailtrap.io/api/send (scripts/lib/email-cascade.mjs:363)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:363` calls `POST https://send.api.mailtrap.io/api/send` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/send.api.mailtrap.io/api/send`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7627cb68ff347983", "name": "Dangling fetch: POST https://smtp.maileroo.com/api/v2/emails (scripts/lib/email-cascade.mjs:408)", "shortDescription": {"text": "Dangling fetch: POST https://smtp.maileroo.com/api/v2/emails (scripts/lib/email-cascade.mjs:408)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:408` calls `POST https://smtp.maileroo.com/api/v2/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/smtp.maileroo.com/api/v2/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e74ee07d5e7e2fdb", "name": "Dangling fetch: POST https://api.resend.com/emails (scripts/lib/email-cascade.mjs:434)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (scripts/lib/email-cascade.mjs:434)"}, "fullDescription": {"text": "`scripts/lib/email-cascade.mjs:434` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-90f0b1d705743696", "name": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/lib/free-translate.mjs:340)", "shortDescription": {"text": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/lib/free-translate.mjs:340)"}, "fullDescription": {"text": "`scripts/lib/free-translate.mjs:340` calls `POST https://api-free.deepl.com/v2/translate` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api-free.deepl.com/v2/translate`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fbc56fecd06bde52", "name": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/lib/free-translate.mjs:749)", "shortDescription": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/lib/free-translate.mjs:749)"}, "fullDescription": {"text": "`scripts/lib/free-translate.mjs:749` calls `POST https://oauth2.googleapis.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/oauth2.googleapis.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-06689d8501871336", "name": "Dangling fetch: POST https://translation.googleapis.com/language/translate/v2 (scripts/lib/free-translate.mjs:777)", "shortDescription": {"text": "Dangling fetch: POST https://translation.googleapis.com/language/translate/v2 (scripts/lib/free-translate.mjs:777)"}, "fullDescription": {"text": "`scripts/lib/free-translate.mjs:777` calls `POST https://translation.googleapis.com/language/translate/v2` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/translation.googleapis.com/language/translate/v2`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c5f0d5b7fc6c575e", "name": "Dangling fetch: POST https://router.huggingface.co/hf-inference/models/${model} (scripts/lib/free-translate.mjs:815)", "shortDescription": {"text": "Dangling fetch: POST https://router.huggingface.co/hf-inference/models/${model} (scripts/lib/free-translate.mjs:815)"}, "fullDescription": {"text": "`scripts/lib/free-translate.mjs:815` calls `POST https://router.huggingface.co/hf-inference/models/${model}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/router.huggingface.co/hf-inference/models/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fc9fb08169956abf", "name": "Dangling fetch: GET /commit-hash.txt (App.tsx:222)", "shortDescription": {"text": "Dangling fetch: GET /commit-hash.txt (App.tsx:222)"}, "fullDescription": {"text": "`App.tsx:222` calls `GET /commit-hash.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/commit-hash.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71de76ea7bf83a1b", "name": "Dangling fetch: GET /data/weather-snapshot.json (build-plugins/weatherCityPagesPlugin.ts:657)", "shortDescription": {"text": "Dangling fetch: GET /data/weather-snapshot.json (build-plugins/weatherCityPagesPlugin.ts:657)"}, "fullDescription": {"text": "`build-plugins/weatherCityPagesPlugin.ts:657` calls `GET /data/weather-snapshot.json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/data/weather-snapshot.json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-12fac05b69979800", "name": "Dangling fetch: GET /data/weather-snapshot.json (build-plugins/weatherAlertPagesPlugin.ts:497)", "shortDescription": {"text": "Dangling fetch: GET /data/weather-snapshot.json (build-plugins/weatherAlertPagesPlugin.ts:497)"}, "fullDescription": {"text": "`build-plugins/weatherAlertPagesPlugin.ts:497` calls `GET /data/weather-snapshot.json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/data/weather-snapshot.json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-93bdbc746baf9738", "name": "Dangling fetch: GET https://dns.google/resolve?name=${encodeURIComponent(domain)}&type=MX (components/shared/EmailInput.", "shortDescription": {"text": "Dangling fetch: GET https://dns.google/resolve?name=${encodeURIComponent(domain)}&type=MX (components/shared/EmailInput.tsx:162)"}, "fullDescription": {"text": "`components/shared/EmailInput.tsx:162` calls `GET https://dns.google/resolve?name=${encodeURIComponent(domain)}&type=MX` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/dns.google/resolve`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-409e52673bb2e6bc", "name": "Dangling fetch: GET https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues?state=all&per_page=10 (components/com", "shortDescription": {"text": "Dangling fetch: GET https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues?state=all&per_page=10 (components/community/FeedbackSection.tsx:48)"}, "fullDescription": {"text": "`components/community/FeedbackSection.tsx:48` calls `GET https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues?state=all&per_page=10` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.github.com/repos/<p>/<p>/issues`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e8b571581dfecd1a", "name": "Dangling fetch: POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/geminiGenerate (components/community/Fee", "shortDescription": {"text": "Dangling fetch: POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/geminiGenerate (components/community/FeedbackSection.tsx:86)"}, "fullDescription": {"text": "`components/community/FeedbackSection.tsx:86` calls `POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/geminiGenerate` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/europe-west6-frontaliere-ticino.cloudfunctions.net/geminigenerate`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-067c4e119024b3ce", "name": "Dangling fetch: GET /${f} (components/pages/AdminPanel.tsx:1209)", "shortDescription": {"text": "Dangling fetch: GET /${f} (components/pages/AdminPanel.tsx:1209)"}, "fullDescription": {"text": "`components/pages/AdminPanel.tsx:1209` calls `GET /${f}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-12220959129dc5cd", "name": "Dangling fetch: POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/getAdminGithubToken (components/pages/Ad", "shortDescription": {"text": "Dangling fetch: POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/getAdminGithubToken (components/pages/AdminPanel.tsx:2071)"}, "fullDescription": {"text": "`components/pages/AdminPanel.tsx:2071` calls `POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/getAdminGithubToken` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/europe-west6-frontaliere-ticino.cloudfunctions.net/getadmingithubtoken`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d017b858bb280f6e", "name": "Dangling fetch: GET https://api.github.com/repos/${connection.owner}/${connection.repo}${endpoint} (components/pages/Adm", "shortDescription": {"text": "Dangling fetch: GET https://api.github.com/repos/${connection.owner}/${connection.repo}${endpoint} (components/pages/AdminPanel.tsx:2095)"}, "fullDescription": {"text": "`components/pages/AdminPanel.tsx:2095` calls `GET https://api.github.com/repos/${connection.owner}/${connection.repo}${endpoint}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.github.com/repos/<p>/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8b798ff06fc11ab9", "name": "Dangling fetch: GET https://api.github.com/repos/${connection.owner}/${connection.repo}/actions/jobs/${failedJobId}/logs", "shortDescription": {"text": "Dangling fetch: GET https://api.github.com/repos/${connection.owner}/${connection.repo}/actions/jobs/${failedJobId}/logs (components/pages/AdminPanel.tsx:2194)"}, "fullDescription": {"text": "`components/pages/AdminPanel.tsx:2194` calls `GET https://api.github.com/repos/${connection.owner}/${connection.repo}/actions/jobs/${failedJobId}/logs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.github.com/repos/<p>/<p>/actions/jobs/<p>/logs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-975a99d894428742", "name": "Dangling fetch: GET https://data-api.ecb.europa.eu/service/data/EXR/D.CHF.EUR.SP00.A?startPeriod=${startStr}&endPeriod=$", "shortDescription": {"text": "Dangling fetch: GET https://data-api.ecb.europa.eu/service/data/EXR/D.CHF.EUR.SP00.A?startPeriod=${startStr}&endPeriod=${endStr}&format=csvdata (services/exchangeRateService.ts:367)"}, "fullDescription": {"text": "`services/exchangeRateService.ts:367` calls `GET https://data-api.ecb.europa.eu/service/data/EXR/D.CHF.EUR.SP00.A?startPeriod=${startStr}&endPeriod=${endStr}&format=csvdata` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/data-api.ecb.europa.eu/service/data/exr/d.chf.eur.sp00.a`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-384af1a602dc6a2b", "name": "Dangling fetch: POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/geminiGenerate (services/newsletterPrevi", "shortDescription": {"text": "Dangling fetch: POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/geminiGenerate (services/newsletterPreview.ts:96)"}, "fullDescription": {"text": "`services/newsletterPreview.ts:96` calls `POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/geminiGenerate` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/europe-west6-frontaliere-ticino.cloudfunctions.net/geminigenerate`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-70c1494b2f988834", "name": "Unused endpoint: POST /api/protected-endpoint", "shortDescription": {"text": "Unused endpoint: POST /api/protected-endpoint"}, "fullDescription": {"text": "`server/recaptchaVerification.js` declares `POST /api/protected-endpoint` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6fa51c47c731ac4b", "name": "Unused endpoint: POST /api/traffic-data", "shortDescription": {"text": "Unused endpoint: POST /api/traffic-data"}, "fullDescription": {"text": "`server/recaptchaVerification.js` declares `POST /api/traffic-data` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8eef9255ce375627", "name": "Unused endpoint: POST /api/feedback", "shortDescription": {"text": "Unused endpoint: POST /api/feedback"}, "fullDescription": {"text": "`server/recaptchaVerification.js` declares `POST /api/feedback` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a00c8f48dbf87933", "name": "Unused endpoint: USE /data/jobs-crawler-workflows.json", "shortDescription": {"text": "Unused endpoint: USE /data/jobs-crawler-workflows.json"}, "fullDescription": {"text": "`build-plugins/crawlerRegistryPlugin.ts` declares `USE /data/jobs-crawler-workflows.json` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/22043"}, "properties": {"repository": "valerielinc-ops/frontaliere-si-o-no", "repoUrl": "https://github.com/valerielinc-ops/frontaliere-si-o-no", "branch": "main"}, "results": [{"ruleId": "scanner-454106533ca4060d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobsSeoPagesPlugin.ts:163"}, "properties": {"repobilityId": "72b7cb12e82e8060", "scanner": "scanner-primary", "fingerprint": "454106533ca4060d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7536ce6626f0f84d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobsJsonDistCleanupPlugin.ts:41"}, "properties": {"repobilityId": "4f0f6a5a51c0afa1", "scanner": "scanner-primary", "fingerprint": "7536ce6626f0f84d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4450aafc9fd28b36", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/precompressHtmlPlugin.ts:91"}, "properties": {"repobilityId": "dc5d7179e82749fb", "scanner": "scanner-primary", "fingerprint": "4450aafc9fd28b36", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6aa69cc41a13f1c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/legacyAliasPlugin.ts:304"}, "properties": {"repobilityId": "b0392aca4b0ee9df", "scanner": "scanner-primary", "fingerprint": "6aa69cc41a13f1c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-34f4432700d6a8e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/calculatorLegacyAliasPlugin.ts:227"}, "properties": {"repobilityId": "9b5d580abbc63ba8", "scanner": "scanner-primary", "fingerprint": "34f4432700d6a8e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-03b47ef47326fa4d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 build-plugins/fuelDailyPagesPlugin.ts:70"}, "properties": {"repobilityId": "9093af380469cf82", "scanner": "scanner-primary", "fingerprint": "03b47ef47326fa4d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-dc55e54c8eb6702b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/fuelDailyPagesPlugin.ts:5189"}, "properties": {"repobilityId": "080ae75199d4d301", "scanner": "scanner-primary", "fingerprint": "dc55e54c8eb6702b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6ba76b06728ede6d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/borderMunicipalityPagesPlugin.ts:1038"}, "properties": {"repobilityId": "7209738d1ba689ab", "scanner": "scanner-primary", "fingerprint": "6ba76b06728ede6d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebe4ec69d235fc88", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/cfHot404BridgePlugin.ts:134"}, "properties": {"repobilityId": "114a108193435eeb", "scanner": "scanner-primary", "fingerprint": "ebe4ec69d235fc88", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-05d4df71cfe8be5b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/prepareOutDirPlugin.ts:42"}, "properties": {"repobilityId": "aa8b3d75b3bc04d2", "scanner": "scanner-primary", "fingerprint": "05d4df71cfe8be5b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-43fa298839288a50", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/preloadLocalePlugin.ts:43"}, "properties": {"repobilityId": "1f8a8cf93b5ff260", "scanner": "scanner-primary", "fingerprint": "43fa298839288a50", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f28eb845493b953", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/postWalkCoordinatorPlugin.ts:145"}, "properties": {"repobilityId": "88709d1ad1f158a8", "scanner": "scanner-primary", "fingerprint": "2f28eb845493b953", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fdbef2d0546f7570", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/faqHubLinksPlugin.ts:123"}, "properties": {"repobilityId": "4a787972f3194699", "scanner": "scanner-primary", "fingerprint": "fdbef2d0546f7570", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f7c50589881d5b64", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/marketReportPlugin.ts:740"}, "properties": {"repobilityId": "6731f7c0f8646632", "scanner": "scanner-primary", "fingerprint": "f7c50589881d5b64", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d1cb42a9ccbcee2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/llmsTxtPlugin.ts:409"}, "properties": {"repobilityId": "75940f8ae1a7d3fd", "scanner": "scanner-primary", "fingerprint": "4d1cb42a9ccbcee2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8ee259ed741cb3db", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/nursingLandingsPlugin.ts:533"}, "properties": {"repobilityId": "41ebf946cc9aa923", "scanner": "scanner-primary", "fingerprint": "8ee259ed741cb3db", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-39752e001b2ae6c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/localeJobsSplitPlugin.ts:82"}, "properties": {"repobilityId": "9445ac2e06575510", "scanner": "scanner-primary", "fingerprint": "39752e001b2ae6c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c790824b6cb07c08", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/salaryHubIndexLinkPlugin.ts:209"}, "properties": {"repobilityId": "61a2bae25075b707", "scanner": "scanner-primary", "fingerprint": "c790824b6cb07c08", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-945721713896beda", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/cantonOrphanRedirectsPlugin.ts:206"}, "properties": {"repobilityId": "ecb08d5c773da6d2", "scanner": "scanner-primary", "fingerprint": "945721713896beda", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ddfe8c09ce3b5534", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/weatherCityPagesPlugin.ts:95"}, "properties": {"repobilityId": "7efe1db1927d3ec2", "scanner": "scanner-primary", "fingerprint": "ddfe8c09ce3b5534", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-482c5f22d5a56a71", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/comparisonsHubPlugin.ts:558"}, "properties": {"repobilityId": "01ffaef33f205d9b", "scanner": "scanner-primary", "fingerprint": "482c5f22d5a56a71", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-357aabb9ec3f18f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/professionLandingsPlugin.ts:615"}, "properties": {"repobilityId": "8db62a6f328795b0", "scanner": "scanner-primary", "fingerprint": "357aabb9ec3f18f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-54f5288832df5ac4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/annualReportPlugin.ts:1012"}, "properties": {"repobilityId": "ba2cf5c2a8b85e94", "scanner": "scanner-primary", "fingerprint": "54f5288832df5ac4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e1fae162b3751be", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/blogImageCdnFinalizePlugin.ts:89"}, "properties": {"repobilityId": "c89d01bb4443a1e2", "scanner": "scanner-primary", "fingerprint": "4e1fae162b3751be", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-db9cb8eccf005214", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/pdfWhitepapersPlugin.ts:703"}, "properties": {"repobilityId": "422855d3b783f1f1", "scanner": "scanner-primary", "fingerprint": "db9cb8eccf005214", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c6d73f41f6f6f06", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/salaryHubPlugin.ts:89"}, "properties": {"repobilityId": "06658fa5ece92d2b", "scanner": "scanner-primary", "fingerprint": "3c6d73f41f6f6f06", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-937baf49cdc613d9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobRecencyPagesPlugin.ts:413"}, "properties": {"repobilityId": "2b26777e9c4c403d", "scanner": "scanner-primary", "fingerprint": "937baf49cdc613d9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0e2e4326207da00e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/costOfLivingLandingsPlugin.ts:705"}, "properties": {"repobilityId": "5ad65241e85c1c18", "scanner": "scanner-primary", "fingerprint": "0e2e4326207da00e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af763e20401ece76", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/locationHubBridgePlugin.ts:390"}, "properties": {"repobilityId": "1dea1700064897f2", "scanner": "scanner-primary", "fingerprint": "af763e20401ece76", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e1bc9bf0f3209db", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/blogContextualLinksPlugin.ts:573"}, "properties": {"repobilityId": "1b1799e77d92296f", "scanner": "scanner-primary", "fingerprint": "2e1bc9bf0f3209db", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2baaa85a5a7426d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/salaryStatsChCantonPages.ts:465"}, "properties": {"repobilityId": "1e0bf3057cb72528", "scanner": "scanner-primary", "fingerprint": "2baaa85a5a7426d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1edfe6bbf451bf18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/adminDataPlugin.ts:64"}, "properties": {"repobilityId": "bfd2234e49f3d1e0", "scanner": "scanner-primary", "fingerprint": "1edfe6bbf451bf18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d9503a03abaebf7f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobSectorPagesPlugin.ts:618"}, "properties": {"repobilityId": "d87ea2e04c41d52a", "scanner": "scanner-primary", "fingerprint": "d9503a03abaebf7f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-38bb23a1ffd62e25", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/sitemapAliasPlugin.ts:127"}, "properties": {"repobilityId": "3a554e1c60dcce92", "scanner": "scanner-primary", "fingerprint": "38bb23a1ffd62e25", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ee422a558270acc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/weeklyEmployersPlugin.ts:4057"}, "properties": {"repobilityId": "d5be37c0384d0d2f", "scanner": "scanner-primary", "fingerprint": "9ee422a558270acc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c4c6df668e47c66", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/legacyRedirectsPlugin.ts:426"}, "properties": {"repobilityId": "a6d705e53c59cb89", "scanner": "scanner-primary", "fingerprint": "2c4c6df668e47c66", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-77361caa4bd2fe82", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/affiliateRedirectPlugin.ts:60"}, "properties": {"repobilityId": "253ddfa42472d94e", "scanner": "scanner-primary", "fingerprint": "77361caa4bd2fe82", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7b2e794dcf5aaed6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobOgImagesPlugin.ts:582"}, "properties": {"repobilityId": "905abe708632b566", "scanner": "scanner-primary", "fingerprint": "7b2e794dcf5aaed6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6013224ead20e6ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/ogPagesPlugin.ts:1156"}, "properties": {"repobilityId": "e37481a9c807ba92", "scanner": "scanner-primary", "fingerprint": "6013224ead20e6ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f13f60aa8b6a4c9e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/companyHubBridgePlugin.ts:521"}, "properties": {"repobilityId": "d8119d1e4dc5a11a", "scanner": "scanner-primary", "fingerprint": "f13f60aa8b6a4c9e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-85c1676a3585b847", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/flatHtmlRedirectPlugin.ts:246"}, "properties": {"repobilityId": "f7c97ff7e5d32143", "scanner": "scanner-primary", "fingerprint": "85c1676a3585b847", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b6029f2b6d45e140", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/crawlerRegistryPlugin.ts:141"}, "properties": {"repobilityId": "6e2c80ca2b3e30f4", "scanner": "scanner-primary", "fingerprint": "b6029f2b6d45e140", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-938588094e46bd7e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/profilePlugin.ts:71"}, "properties": {"repobilityId": "21332327811534e1", "scanner": "scanner-primary", "fingerprint": "938588094e46bd7e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-02ebe208a5eb12b5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/healthPremiumsLandingPlugin.ts:3239"}, "properties": {"repobilityId": "6c1fd09189321a4a", "scanner": "scanner-primary", "fingerprint": "02ebe208a5eb12b5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-712a2554694026a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/relatedSearchClustersPlugin.ts:2115"}, "properties": {"repobilityId": "1eefb85df2879f62", "scanner": "scanner-primary", "fingerprint": "712a2554694026a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-76531051f7cac59c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/comparisonsHubLinksPlugin.ts:120"}, "properties": {"repobilityId": "8d979e9635d91131", "scanner": "scanner-primary", "fingerprint": "76531051f7cac59c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7ec54a6d7e3b5e3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/weatherAlertPagesPlugin.ts:63"}, "properties": {"repobilityId": "cc93e974728b194c", "scanner": "scanner-primary", "fingerprint": "7ec54a6d7e3b5e3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fb6b1830a035b076", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/writeRegistryLifecyclePlugin.ts:108"}, "properties": {"repobilityId": "e6910abdf280769d", "scanner": "scanner-primary", "fingerprint": "fb6b1830a035b076", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5c9b1c53e24f1d9c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/orphanQueryLandingPlugin.ts:802"}, "properties": {"repobilityId": "3b5cb0aee7c44b26", "scanner": "scanner-primary", "fingerprint": "5c9b1c53e24f1d9c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-11244ee294b1b95d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/professionCantonLandings.ts:392"}, "properties": {"repobilityId": "bd3b9960717efc32", "scanner": "scanner-primary", "fingerprint": "11244ee294b1b95d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-91dd4437f4c80d89", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/staticPagesPlugin.ts:1052"}, "properties": {"repobilityId": "813dfcc65c79049d", "scanner": "scanner-primary", "fingerprint": "91dd4437f4c80d89", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d71910ddd0ee3a7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/frSalaireNetLandingPlugin.ts:574"}, "properties": {"repobilityId": "86cb2bf19e9e21bb", "scanner": "scanner-primary", "fingerprint": "4d71910ddd0ee3a7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-37bc7bac124ac2f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/staticScriptsPlugin.ts:76"}, "properties": {"repobilityId": "6b47e71ddf1d14a7", "scanner": "scanner-primary", "fingerprint": "37bc7bac124ac2f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-090864b12f8d23cd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/webpPlugin.ts:102"}, "properties": {"repobilityId": "d8077779d5d7cf9f", "scanner": "scanner-primary", "fingerprint": "090864b12f8d23cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a139c4afc71a26e1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/weatherBorderWaitFusionPlugin.ts:39"}, "properties": {"repobilityId": "f69e5ebc5d249870", "scanner": "scanner-primary", "fingerprint": "a139c4afc71a26e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b46969aa70c4de1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/careerLandingsPlugin.ts:616"}, "properties": {"repobilityId": "d6e1ebac9dd2b9b4", "scanner": "scanner-primary", "fingerprint": "3b46969aa70c4de1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d23620d5e0a8bf6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobMarketSnapshotPlugin.ts:3116"}, "properties": {"repobilityId": "cd41ac1647472b25", "scanner": "scanner-primary", "fingerprint": "1d23620d5e0a8bf6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fa6eb79eea98d0fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/jobOrphanBridgePlugin.ts:440"}, "properties": {"repobilityId": "7ddb3f48338f3bf9", "scanner": "scanner-primary", "fingerprint": "fa6eb79eea98d0fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24c71ffa5643065f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/sectionPagesPlugin.ts:1120"}, "properties": {"repobilityId": "5bedfc15f8f20971", "scanner": "scanner-primary", "fingerprint": "24c71ffa5643065f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d355e6b970378921", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/hreflangPostprocessPlugin.ts:282"}, "properties": {"repobilityId": "b0a39ba816ae936e", "scanner": "scanner-primary", "fingerprint": "d355e6b970378921", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-82b7b92e177a27cb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/borderWaitMapPlugin.ts:636"}, "properties": {"repobilityId": "452c760473b85092", "scanner": "scanner-primary", "fingerprint": "82b7b92e177a27cb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1547ade7c6e6ba2c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/professionLandingsLinksPlugin.ts:291"}, "properties": {"repobilityId": "50a926c4637fbac2", "scanner": "scanner-primary", "fingerprint": "1547ade7c6e6ba2c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7b758edad2ac9c6b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/professionCantonLandingsLinksPlugin.ts:175"}, "properties": {"repobilityId": "a0f47c8d8e2055f0", "scanner": "scanner-primary", "fingerprint": "7b758edad2ac9c6b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a51f2cc047e6309d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/publisherAdPagesPlugin.ts:322"}, "properties": {"repobilityId": "2be91294732f16c6", "scanner": "scanner-primary", "fingerprint": "a51f2cc047e6309d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c9e8a123ee45a5d8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/borderWaitPagesPlugin.ts:2602"}, "properties": {"repobilityId": "5790710b70366fa5", "scanner": "scanner-primary", "fingerprint": "c9e8a123ee45a5d8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e6a543dcf14eb931", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/faqHubPlugin.ts:498"}, "properties": {"repobilityId": "018dac701002dbab", "scanner": "scanner-primary", "fingerprint": "e6a543dcf14eb931", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-88e6c72d0173424d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 build-plugins/shared/cantonHubEditorial.ts:152"}, "properties": {"repobilityId": "7f56af780403bf48", "scanner": "scanner-primary", "fingerprint": "88e6c72d0173424d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a80017638780fe30", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/jobsSeoProfiler.ts:197"}, "properties": {"repobilityId": "74259dbfae19a921", "scanner": "scanner-primary", "fingerprint": "a80017638780fe30", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e749b0a60592b01b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/relatedSearchClustersProfiler.ts:90"}, "properties": {"repobilityId": "62d76e0fd8b9624c", "scanner": "scanner-primary", "fingerprint": "e749b0a60592b01b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0d3d174e1e45ed6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/weeklyEmployersProfiler.ts:161"}, "properties": {"repobilityId": "b1e012b2bda9f89c", "scanner": "scanner-primary", "fingerprint": "f0d3d174e1e45ed6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6e2a74e637de8d1a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/postWalkCoordinatorProfiler.ts:221"}, "properties": {"repobilityId": "3ac0bc8969117c17", "scanner": "scanner-primary", "fingerprint": "6e2a74e637de8d1a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d9b224d69281c6d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 build-plugins/shared/trafficEvidenceFilter.ts:281"}, "properties": {"repobilityId": "37b4375e52b05e48", "scanner": "scanner-primary", "fingerprint": "0d9b224d69281c6d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3504080ba607e742", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 build-plugins/shared/jobDetailHtml/context.ts:7"}, "properties": {"repobilityId": "07470bdd5595dac7", "scanner": "scanner-primary", "fingerprint": "3504080ba607e742", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3f3cf5db05080f52", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 functions/index.js:169"}, "properties": {"repobilityId": "fc340c3549298d81", "scanner": "scanner-primary", "fingerprint": "3f3cf5db05080f52", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4158b3275e42fb2f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailjetWebhookCore.js:238"}, "properties": {"repobilityId": "ad9e11da8f675c96", "scanner": "scanner-primary", "fingerprint": "4158b3275e42fb2f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7e440c8a92f9c024", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailgunWebhookCore.js:239"}, "properties": {"repobilityId": "6d7ea47f1f82e14f", "scanner": "scanner-primary", "fingerprint": "7e440c8a92f9c024", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-36d38e9ac8de6014", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/geminiGenerate.js:126"}, "properties": {"repobilityId": "1361426792dc467b", "scanner": "scanner-primary", "fingerprint": "36d38e9ac8de6014", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c244b51d0a1b81d1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailtrapWebhookCore.js:213"}, "properties": {"repobilityId": "7153cc5e457dab92", "scanner": "scanner-primary", "fingerprint": "c244b51d0a1b81d1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e47281cfc733a46", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterUnosendWebhookCore.js:248"}, "properties": {"repobilityId": "5cbb444c4b1ca085", "scanner": "scanner-primary", "fingerprint": "2e47281cfc733a46", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-060772d413d7b918", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/trafficSchedulerCore.js:213"}, "properties": {"repobilityId": "624f5d8a1997480f", "scanner": "scanner-primary", "fingerprint": "060772d413d7b918", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c12ab08e64bb3c5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/newsletterMailerooWebhookCore.js:272"}, "properties": {"repobilityId": "1a20e9cd3989aa22", "scanner": "scanner-primary", "fingerprint": "8c12ab08e64bb3c5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-083774aff112b252", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 functions/src/chatbotInference.js:264"}, "properties": {"repobilityId": "23ebb8e926aa0011", "scanner": "scanner-primary", "fingerprint": "083774aff112b252", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-694bf16b9a68178e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/i18n-completeness.test.ts:348"}, "properties": {"repobilityId": "97dd381d7f63209c", "scanner": "scanner-primary", "fingerprint": "694bf16b9a68178e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b417d2ff792dfa86", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/no-js-redirects-in-build.test.ts:33"}, "properties": {"repobilityId": "df7f96ef739b98c5", "scanner": "scanner-primary", "fingerprint": "b417d2ff792dfa86", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-615a30fcea671812", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/check-hardcoded-locale-segments.test.ts:39"}, "properties": {"repobilityId": "ddeff58b7d1ce916", "scanner": "scanner-primary", "fingerprint": "615a30fcea671812", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f2a81e7eb109943a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 tests/job-locale-consistency.test.ts:19"}, "properties": {"repobilityId": "b6dac3ed3ecf1f4a", "scanner": "scanner-primary", "fingerprint": "f2a81e7eb109943a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f90f4208d400c048", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/manor-localization-flow.test.ts:13"}, "properties": {"repobilityId": "0ee63cd9b25f36a3", "scanner": "scanner-primary", "fingerprint": "f90f4208d400c048", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ecf48049fad9af89", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/seo/html-minify.test.ts:108"}, "properties": {"repobilityId": "62aea0ef2d361b3a", "scanner": "scanner-primary", "fingerprint": "ecf48049fad9af89", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ee00fba3f5e647b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/seo/content-duplicates.test.ts:205"}, "properties": {"repobilityId": "c75aa0de013c8cfa", "scanner": "scanner-primary", "fingerprint": "ee00fba3f5e647b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f096213d82fa9643", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/parse-bfs.js:15"}, "properties": {"repobilityId": "1aacfbab72c0aee7", "scanner": "scanner-primary", "fingerprint": "f096213d82fa9643", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-68af27598ed237c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/submit-google-indexing.js:48"}, "properties": {"repobilityId": "8d4f52f89c57daa3", "scanner": "scanner-primary", "fingerprint": "68af27598ed237c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-83c8e642a11b846b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/submit-indexnow.js:195"}, "properties": {"repobilityId": "712bc0d2657c5e62", "scanner": "scanner-primary", "fingerprint": "83c8e642a11b846b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b11e629c2632036e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/prune-404-compat-paths.ts:56"}, "properties": {"repobilityId": "534ca843618f823e", "scanner": "scanner-primary", "fingerprint": "b11e629c2632036e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5f06519672c0d90a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-jobs.ts:66"}, "properties": {"repobilityId": "41e0a3c74a28f67e", "scanner": "scanner-primary", "fingerprint": "5f06519672c0d90a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53f28631e38df6c1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest-gsc-coverage-404s.ts:140"}, "properties": {"repobilityId": "0d78052acdd88379", "scanner": "scanner-primary", "fingerprint": "53f28631e38df6c1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-176ceb8e2e4e1ae4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/submit-google-indexing-jobs.js:41"}, "properties": {"repobilityId": "5ae5b529daa894c4", "scanner": "scanner-primary", "fingerprint": "176ceb8e2e4e1ae4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebf83be1831407b6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/geocode-municipalities.ts:87"}, "properties": {"repobilityId": "f14a17c371a4647c", "scanner": "scanner-primary", "fingerprint": "ebf83be1831407b6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0e26a7ba47a8946", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/vita/TicinoCompanies.tsx:842"}, "properties": {"repobilityId": "1187b6309691bc6f", "scanner": "scanner-primary", "fingerprint": "c0e26a7ba47a8946", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-202c3fd6a33cc13f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/vita/DailyDialectPhrase.tsx:35"}, "properties": {"repobilityId": "c57c01215ced31d9", "scanner": "scanner-primary", "fingerprint": "202c3fd6a33cc13f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e350b13f12e53b75", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/vita/MorningDashboard.tsx:428"}, "properties": {"repobilityId": "ef45401bb956d7b3", "scanner": "scanner-primary", "fingerprint": "e350b13f12e53b75", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7ad8dded44eab381", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/vita/TicineseDialect.tsx:498"}, "properties": {"repobilityId": "5ef25784bc95db73", "scanner": "scanner-primary", "fingerprint": "7ad8dded44eab381", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6c01cb22225abefb", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/shared/NotFoundSuggestions.tsx:293"}, "properties": {"repobilityId": "cb05492c724888ce", "scanner": "scanner-primary", "fingerprint": "6c01cb22225abefb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-234791ba4d737abd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/shared/SocialProofBadge.tsx:53"}, "properties": {"repobilityId": "ddb2c7870199c748", "scanner": "scanner-primary", "fingerprint": "234791ba4d737abd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d456ab031745a9ad", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/shared/SiteSearch.tsx:1417"}, "properties": {"repobilityId": "71694a60e99aed34", "scanner": "scanner-primary", "fingerprint": "d456ab031745a9ad", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-558ded38654bb4ae", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/JobBoard.tsx:5164"}, "properties": {"repobilityId": "aa2ff753ae1a6c45", "scanner": "scanner-primary", "fingerprint": "558ded38654bb4ae", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c4910330ff5a08cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/community/JobBoard.tsx:2474"}, "properties": {"repobilityId": "847198807c15d852", "scanner": "scanner-primary", "fingerprint": "c4910330ff5a08cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a693ab2c8a20576f", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/community/JobBoard.tsx:6701"}, "properties": {"repobilityId": "816eaf71255286dc", "scanner": "scanner-primary", "fingerprint": "a693ab2c8a20576f", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-327ac4b0dd1117a0", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/community/JobExpiredView.tsx:527"}, "properties": {"repobilityId": "e991add3589d8d20", "scanner": "scanner-primary", "fingerprint": "327ac4b0dd1117a0", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-fe3c5ac2ce5fb273", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/WhatsNewModal.tsx:1958"}, "properties": {"repobilityId": "8daca2e0c487fbfc", "scanner": "scanner-primary", "fingerprint": "fe3c5ac2ce5fb273", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dc8e6201a88e063d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/GamificationWidget.tsx:183"}, "properties": {"repobilityId": "85841c14e470753e", "scanner": "scanner-primary", "fingerprint": "dc8e6201a88e063d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c0840a4d0794903c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/JobOrphanView.tsx:452"}, "properties": {"repobilityId": "6aed43389eefdf6b", "scanner": "scanner-primary", "fingerprint": "c0840a4d0794903c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-732e9c8f5cb8666b", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/community/JobOrphanView.tsx:485"}, "properties": {"repobilityId": "a959f3f4a160e273", "scanner": "scanner-primary", "fingerprint": "732e9c8f5cb8666b", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-4f5e9871a162ce19", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/PublisherApplyForm.tsx:198"}, "properties": {"repobilityId": "a340a53be2fb9a23", "scanner": "scanner-primary", "fingerprint": "4f5e9871a162ce19", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ac9893e1de1179e9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/ToolOfTheWeek.tsx:139"}, "properties": {"repobilityId": "5abefc0916f8dfb8", "scanner": "scanner-primary", "fingerprint": "ac9893e1de1179e9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f0ff8d54a8bb32a0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/community/BlogArticles.tsx:2169"}, "properties": {"repobilityId": "173e13e101beaacd", "scanner": "scanner-primary", "fingerprint": "f0ff8d54a8bb32a0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5a75b8818bda9a47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/community/Newsletter.tsx:31"}, "properties": {"repobilityId": "7992b1e0be97e3c2", "scanner": "scanner-primary", "fingerprint": "5a75b8818bda9a47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0862621d020a1c00", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/Metodologia.tsx:50"}, "properties": {"repobilityId": "c117c211d702262a", "scanner": "scanner-primary", "fingerprint": "0862621d020a1c00", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-33edb7764682650d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/pages/PublisherPublishPage.tsx:1707"}, "properties": {"repobilityId": "ee1741d97773e73f", "scanner": "scanner-primary", "fingerprint": "33edb7764682650d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f600e7bda209e755", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/PublisherPublishPage.tsx:1390"}, "properties": {"repobilityId": "a6da3a4f10f6e108", "scanner": "scanner-primary", "fingerprint": "f600e7bda209e755", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-5b77308b1852fb70", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/pages/UserProfile.tsx:1036"}, "properties": {"repobilityId": "33ad7dcea68ea12f", "scanner": "scanner-primary", "fingerprint": "5b77308b1852fb70", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-98d1c257e1dab537", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/Correzioni.tsx:127"}, "properties": {"repobilityId": "379181a34b15d2ea", "scanner": "scanner-primary", "fingerprint": "98d1c257e1dab537", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-011bf6df62beb33d", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/pages/AutorePage.tsx:59"}, "properties": {"repobilityId": "d2d092b94763e87b", "scanner": "scanner-primary", "fingerprint": "011bf6df62beb33d", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-ffd10a06bfc5ca4a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/pages/ChiSiamo.tsx:171"}, "properties": {"repobilityId": "d12bf62b1a53909c", "scanner": "scanner-primary", "fingerprint": "ffd10a06bfc5ca4a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ccc03fd42c04775a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/pages/AdminPanel.tsx:251"}, "properties": {"repobilityId": "840721723aa6ffd1", "scanner": "scanner-primary", "fingerprint": "ccc03fd42c04775a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-37b81aaf45090911", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/calculator/ResultsView.tsx:626"}, "properties": {"repobilityId": "28fe848fa016a50d", "scanner": "scanner-primary", "fingerprint": "37b81aaf45090911", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e6f50e60c71fb4f2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/calculator/NewFrontierOver20KmHub.tsx:436"}, "properties": {"repobilityId": "55fdb9731dfe3a17", "scanner": "scanner-primary", "fingerprint": "e6f50e60c71fb4f2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-31c390a0a1869056", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/calculator/InputCard.tsx:89"}, "properties": {"repobilityId": "a2f560807457c97c", "scanner": "scanner-primary", "fingerprint": "31c390a0a1869056", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4133ac284272c679", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/calculator/ResidencySimulator.tsx:250"}, "properties": {"repobilityId": "4438723975f6daf4", "scanner": "scanner-primary", "fingerprint": "4133ac284272c679", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-65d3eb2568d71cb9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/SalaryCompare.tsx:688"}, "properties": {"repobilityId": "c96e621991abc2c9", "scanner": "scanner-primary", "fingerprint": "65d3eb2568d71cb9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-65bc7c96e5cad370", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/ShoppingCalculator.tsx:440"}, "properties": {"repobilityId": "c4ead5771cbec72a", "scanner": "scanner-primary", "fingerprint": "65bc7c96e5cad370", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-832beff3bb0e47dc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/CurrencyExchange.tsx:460"}, "properties": {"repobilityId": "73f0d17ddfa00bd9", "scanner": "scanner-primary", "fingerprint": "832beff3bb0e47dc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0cc06902ec345a65", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/comparators/MobileOperators.tsx:471"}, "properties": {"repobilityId": "0c9257a00b978756", "scanner": "scanner-primary", "fingerprint": "0cc06902ec345a65", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d5618e8ac3a9071d", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/comparators/BankComparison.tsx:245"}, "properties": {"repobilityId": "607c74a4bd2b8be1", "scanner": "scanner-primary", "fingerprint": "d5618e8ac3a9071d", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-4f216a96a059c933", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/guide/TrafficAlerts.tsx:275"}, "properties": {"repobilityId": "ac5b45b534e1d858", "scanner": "scanner-primary", "fingerprint": "4f216a96a059c933", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-08dbfd91aca481f7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/guide/TrafficAlerts.tsx:240"}, "properties": {"repobilityId": "6b034076ee49eb94", "scanner": "scanner-primary", "fingerprint": "08dbfd91aca481f7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-0c18e02aedf3c5c0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/guide/FrontierGuide.tsx:1025"}, "properties": {"repobilityId": "4eebd91db878ee71", "scanner": "scanner-primary", "fingerprint": "0c18e02aedf3c5c0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-911258de71003b08", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/jobs/EmployerBrandHub.tsx:287"}, "properties": {"repobilityId": "9c48d73a1ab62a47", "scanner": "scanner-primary", "fingerprint": "911258de71003b08", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-0d224b14ccc2e917", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/recaptchaVerification.js:56"}, "properties": {"repobilityId": "97a8e7e0da66d484", "scanner": "scanner-primary", "fingerprint": "0d224b14ccc2e917", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-89cb16098c94b223", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 services/clarity.ts:33"}, "properties": {"repobilityId": "09243da5b0fee532", "scanner": "scanner-primary", "fingerprint": "89cb16098c94b223", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-df85a7c89103666c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 services/analytics.ts:737"}, "properties": {"repobilityId": "f841f7b0ee7f87bb", "scanner": "scanner-primary", "fingerprint": "df85a7c89103666c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da9e6f74f83fc482", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 services/firebase.ts:343"}, "properties": {"repobilityId": "5c15a58b16cbeda7", "scanner": "scanner-primary", "fingerprint": "da9e6f74f83fc482", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-065b86996571141c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 services/mobileUxMonitor.ts:194"}, "properties": {"repobilityId": "363558db93ee4825", "scanner": "scanner-primary", "fingerprint": "065b86996571141c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b5ae31679da9891d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 services/authService.ts:73"}, "properties": {"repobilityId": "cf9c15d5f58d6273", "scanner": "scanner-primary", "fingerprint": "b5ae31679da9891d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf7ff1e43f9dcd40", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 services/errorReporter.ts:86"}, "properties": {"repobilityId": "b73be42e1d3313fd", "scanner": "scanner-primary", "fingerprint": "bf7ff1e43f9dcd40", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-96aacf8a0213e091", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 services/webVitals.ts:122"}, "properties": {"repobilityId": "dfaaf4a610c00cf6", "scanner": "scanner-primary", "fingerprint": "96aacf8a0213e091", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f6cd08fa8d1eb4b0", "level": "warning", "message": {"text": "Analyzer timeout: security.gitleaks"}, "properties": {"repobilityId": "err::timeout::security.gitleaks", "scanner": "scanner-primary", "fingerprint": "f6cd08fa8d1eb4b0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["analyzer-error", "timeout"]}}, {"ruleId": "scanner-6b71377f7532a22c", "level": "warning", "message": {"text": "Privileged port 33 in use"}, "properties": {"repobilityId": "f08e29b4b53f7301", "scanner": "scanner-primary", "fingerprint": "6b71377f7532a22c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/send-newsletter.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a4e6e5842b62d63", "level": "warning", "message": {"text": "Privileged port 37 in use"}, "properties": {"repobilityId": "3bc0728a81a76695", "scanner": "scanner-primary", "fingerprint": "4a4e6e5842b62d63", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-fuel-prices.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-10d73af5e3d8de60", "level": "warning", "message": {"text": "Analyzer timeout: security.scan"}, "properties": {"repobilityId": "err::timeout::security.scan", "scanner": "scanner-primary", "fingerprint": "10d73af5e3d8de60", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["analyzer-error", "timeout"]}}, {"ruleId": "scanner-38bd0a42185d036c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2393a3adef4902f7", "scanner": "scanner-primary", "fingerprint": "38bd0a42185d036c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kudelski-nagra.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-38bd0a42185d036c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1ac871997d852549", "scanner": "scanner-primary", "fingerprint": "38bd0a42185d036c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kudelski-nagra.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d410708f47f78071", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0f277de433e45417", "scanner": "scanner-primary", "fingerprint": "d410708f47f78071", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kudelski-nagra.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b3fb4f6544196bf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "93a351b0cb67d555", "scanner": "scanner-primary", "fingerprint": "7b3fb4f6544196bf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lessons-harvester.yml"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-7b3fb4f6544196bf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd085b77b49722aa", "scanner": "scanner-primary", "fingerprint": "7b3fb4f6544196bf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lessons-harvester.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-7b3fb4f6544196bf", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "068887e9386fd0ce", "scanner": "scanner-primary", "fingerprint": "7b3fb4f6544196bf", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lessons-harvester.yml"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-cbe466b506496fed", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "56da2813c26e766c", "scanner": "scanner-primary", "fingerprint": "cbe466b506496fed", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lessons-harvester.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3bff97383b626b05", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "af44d2bc4cbf906e", "scanner": "scanner-primary", "fingerprint": "3bff97383b626b05", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/evergreen-refresh-audit.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-3bff97383b626b05", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "92b89f50db102698", "scanner": "scanner-primary", "fingerprint": "3bff97383b626b05", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/evergreen-refresh-audit.yml"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-36962324259801cb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "666174b377efe283", "scanner": "scanner-primary", "fingerprint": "36962324259801cb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gzo-wetzikon.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-36962324259801cb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "125bf8443f9f3fdb", "scanner": "scanner-primary", "fingerprint": "36962324259801cb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gzo-wetzikon.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b9e3076ee8129b20", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "71406a4181961766", "scanner": "scanner-primary", "fingerprint": "b9e3076ee8129b20", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gzo-wetzikon.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2c41a2298dafc2af", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b8517306b5fb9fbc", "scanner": "scanner-primary", "fingerprint": "2c41a2298dafc2af", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pdag.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2c41a2298dafc2af", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "66bd70967fecaba3", "scanner": "scanner-primary", "fingerprint": "2c41a2298dafc2af", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pdag.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f6ad2a66b8a44b00", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a19e5d63f151557e", "scanner": "scanner-primary", "fingerprint": "f6ad2a66b8a44b00", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pdag.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-782ebfd09a6b227c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "98e09a68853cdcda", "scanner": "scanner-primary", "fingerprint": "782ebfd09a6b227c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kzu.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-782ebfd09a6b227c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "370daa6252559f02", "scanner": "scanner-primary", "fingerprint": "782ebfd09a6b227c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kzu.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ed044f6c384e4cb6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6dd849108a06f989", "scanner": "scanner-primary", "fingerprint": "ed044f6c384e4cb6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kzu.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-25775b3a51f365f6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a02ed96a5aebf6a0", "scanner": "scanner-primary", "fingerprint": "25775b3a51f365f6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-huntsman.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-25775b3a51f365f6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "09f222954415542f", "scanner": "scanner-primary", "fingerprint": "25775b3a51f365f6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-huntsman.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-02230b110cd2011c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f7f0229ec491e26f", "scanner": "scanner-primary", "fingerprint": "02230b110cd2011c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-huntsman.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5d2c4550c91709db", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f0a27fa6db61a031", "scanner": "scanner-primary", "fingerprint": "5d2c4550c91709db", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-geberit.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-5d2c4550c91709db", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "49b61b52adafddfd", "scanner": "scanner-primary", "fingerprint": "5d2c4550c91709db", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-geberit.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-317a9b96665f19cc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b36daef9c1b3e952", "scanner": "scanner-primary", "fingerprint": "317a9b96665f19cc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-geberit.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-63ac3e51cde9cd7f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7231b41344ebc1df", "scanner": "scanner-primary", "fingerprint": "63ac3e51cde9cd7f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rolex.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-63ac3e51cde9cd7f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b8bd4be71f696fe5", "scanner": "scanner-primary", "fingerprint": "63ac3e51cde9cd7f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rolex.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-83136cc5e3e3d232", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "fb3d0f312b022168", "scanner": "scanner-primary", "fingerprint": "83136cc5e3e3d232", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rolex.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a0d439d39380ba91", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aab592c17fce1881", "scanner": "scanner-primary", "fingerprint": "a0d439d39380ba91", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kone.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a0d439d39380ba91", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "92ae36bd5e8a2adf", "scanner": "scanner-primary", "fingerprint": "a0d439d39380ba91", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kone.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-641eb08d359307a5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9a98b15687169783", "scanner": "scanner-primary", "fingerprint": "641eb08d359307a5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kone.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-69777db163c4326f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d71a0a6d26f0206f", "scanner": "scanner-primary", "fingerprint": "69777db163c4326f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ferrovia-retica.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-69777db163c4326f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b665b080338de200", "scanner": "scanner-primary", "fingerprint": "69777db163c4326f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ferrovia-retica.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6f63f3d4452b4c83", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "793259e509a30368", "scanner": "scanner-primary", "fingerprint": "6f63f3d4452b4c83", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ferrovia-retica.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ae8cf73d4876d62", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bee639c91f65a3cf", "scanner": "scanner-primary", "fingerprint": "7ae8cf73d4876d62", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-imerys.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7ae8cf73d4876d62", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "38f98892f40daa52", "scanner": "scanner-primary", "fingerprint": "7ae8cf73d4876d62", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-imerys.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-57a18def8be5c107", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d77861de3636cde8", "scanner": "scanner-primary", "fingerprint": "57a18def8be5c107", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-imerys.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0dcc8aecb309fe3e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "df58987ea077a9f9", "scanner": "scanner-primary", "fingerprint": "0dcc8aecb309fe3e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/quality-alerts.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8580cf5f34f6952a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7ebc24949353e61e", "scanner": "scanner-primary", "fingerprint": "8580cf5f34f6952a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vitrea-gesundheit.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8580cf5f34f6952a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "39ee0153797e1d42", "scanner": "scanner-primary", "fingerprint": "8580cf5f34f6952a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vitrea-gesundheit.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2a9a182207f7cd65", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9cb44659a1b7da27", "scanner": "scanner-primary", "fingerprint": "2a9a182207f7cd65", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vitrea-gesundheit.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cfb18a53e7657dff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2d0baff7b59efaf9", "scanner": "scanner-primary", "fingerprint": "cfb18a53e7657dff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/recycle-stale-prs.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-cfb18a53e7657dff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e1d9dbbe50661802", "scanner": "scanner-primary", "fingerprint": "cfb18a53e7657dff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/recycle-stale-prs.yml"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-26c6f6d272304d8a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "50658fcb65777fd7", "scanner": "scanner-primary", "fingerprint": "26c6f6d272304d8a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/recycle-stale-prs.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92c49393df525de4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d0681f96da1a338a", "scanner": "scanner-primary", "fingerprint": "92c49393df525de4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csvp-poschiavo.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-92c49393df525de4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6edf09c2cded2346", "scanner": "scanner-primary", "fingerprint": "92c49393df525de4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csvp-poschiavo.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3b83b14c08fbea76", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "04066809f71c20ed", "scanner": "scanner-primary", "fingerprint": "3b83b14c08fbea76", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csvp-poschiavo.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-41c0d8b68672d26f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ee6a990607779f97", "scanner": "scanner-primary", "fingerprint": "41c0d8b68672d26f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-oscam-castelrotto.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-41c0d8b68672d26f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c8afac7a09cc1946", "scanner": "scanner-primary", "fingerprint": "41c0d8b68672d26f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-oscam-castelrotto.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c213be2ffe4aa073", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "46bd683681756f50", "scanner": "scanner-primary", "fingerprint": "c213be2ffe4aa073", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-oscam-castelrotto.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f060dac51c242c2d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ce43deec4783f61e", "scanner": "scanner-primary", "fingerprint": "f060dac51c242c2d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hug.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f060dac51c242c2d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ff95f9e6df8879bd", "scanner": "scanner-primary", "fingerprint": "f060dac51c242c2d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hug.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-faa2dedf8c65df60", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9c7616a29ab8ccf3", "scanner": "scanner-primary", "fingerprint": "faa2dedf8c65df60", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hug.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b53f6ed66647f40", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0a59fa25e210e5b3", "scanner": "scanner-primary", "fingerprint": "2b53f6ed66647f40", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medtronic.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2b53f6ed66647f40", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b5634d49d1a669ca", "scanner": "scanner-primary", "fingerprint": "2b53f6ed66647f40", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medtronic.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b8c750e35fa01c82", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "fde4d5fe06047604", "scanner": "scanner-primary", "fingerprint": "b8c750e35fa01c82", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medtronic.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d19c917836ed15f9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "65d8fe12bfd6a00e", "scanner": "scanner-primary", "fingerprint": "d19c917836ed15f9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tsmg.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-d19c917836ed15f9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cbdac56d8fe7f64f", "scanner": "scanner-primary", "fingerprint": "d19c917836ed15f9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tsmg.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-d3f51eb79a27a4e9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e39a8086b8b04dde", "scanner": "scanner-primary", "fingerprint": "d3f51eb79a27a4e9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tsmg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7fa0183d745348d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "981734dd688e912d", "scanner": "scanner-primary", "fingerprint": "7fa0183d745348d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-efg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7fa0183d745348d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a53df22742503cd1", "scanner": "scanner-primary", "fingerprint": "7fa0183d745348d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-efg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f56bf2315e8ab5f5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a175b2151f08a11b", "scanner": "scanner-primary", "fingerprint": "f56bf2315e8ab5f5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-efg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-306f044621fb9483", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c63d86f77585bfd5", "scanner": "scanner-primary", "fingerprint": "306f044621fb9483", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-delvitech.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-306f044621fb9483", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b4f21a6bb639a617", "scanner": "scanner-primary", "fingerprint": "306f044621fb9483", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-delvitech.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-850d74d4c336b216", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "38d382bca2554adc", "scanner": "scanner-primary", "fingerprint": "850d74d4c336b216", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-delvitech.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2e613274e9432acc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "59966ed795cd8e1a", "scanner": "scanner-primary", "fingerprint": "2e613274e9432acc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bobst.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2e613274e9432acc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "097a8e25a3d102ce", "scanner": "scanner-primary", "fingerprint": "2e613274e9432acc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bobst.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-28814c7d95ce5531", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c2880e3b19463cd5", "scanner": "scanner-primary", "fingerprint": "28814c7d95ce5531", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bobst.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-73f2c3e72c551eed", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ad9231ecad464554", "scanner": "scanner-primary", "fingerprint": "73f2c3e72c551eed", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-genolier.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-73f2c3e72c551eed", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3ed107f4fe5648a0", "scanner": "scanner-primary", "fingerprint": "73f2c3e72c551eed", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-genolier.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-48661d61d5a575d2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "233659257df4b6cd", "scanner": "scanner-primary", "fingerprint": "48661d61d5a575d2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-genolier.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a51b8ce66f8f224e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "19f3bb76434e50bc", "scanner": "scanner-primary", "fingerprint": "a51b8ce66f8f224e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hes-so-valais.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a51b8ce66f8f224e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5d6375a7ca2012c2", "scanner": "scanner-primary", "fingerprint": "a51b8ce66f8f224e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hes-so-valais.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-bd43fab59c6c1432", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d0af17a59c0e689b", "scanner": "scanner-primary", "fingerprint": "bd43fab59c6c1432", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hes-so-valais.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-74f627a6bdd5d02c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1d07cefd4927aefb", "scanner": "scanner-primary", "fingerprint": "74f627a6bdd5d02c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alpiq.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-74f627a6bdd5d02c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dabb06dcf8ff30c0", "scanner": "scanner-primary", "fingerprint": "74f627a6bdd5d02c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alpiq.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e96b02d4b83ae6e9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "33c05dd51c877b77", "scanner": "scanner-primary", "fingerprint": "e96b02d4b83ae6e9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alpiq.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-22c690a2516ff602", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0ce864cb295dddd4", "scanner": "scanner-primary", "fingerprint": "22c690a2516ff602", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seo-serp-autopilot.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-22c690a2516ff602", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d6a3b24f0ba6281e", "scanner": "scanner-primary", "fingerprint": "22c690a2516ff602", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seo-serp-autopilot.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-22c690a2516ff602", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e03da5c7a1ae3c81", "scanner": "scanner-primary", "fingerprint": "22c690a2516ff602", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seo-serp-autopilot.yml"}, "region": {"startLine": 73}}}]}, {"ruleId": "scanner-f2d8eac5739fe1ca", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1fdb0cb6dcb8b475", "scanner": "scanner-primary", "fingerprint": "f2d8eac5739fe1ca", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seo-serp-autopilot.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-670a373674028409", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dda8c63d37e5aa89", "scanner": "scanner-primary", "fingerprint": "670a373674028409", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/gsc-frontaliere-monitor.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-670a373674028409", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "36da5760ca7abba1", "scanner": "scanner-primary", "fingerprint": "670a373674028409", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/gsc-frontaliere-monitor.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-670a373674028409", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9ba33940093e8f6f", "scanner": "scanner-primary", "fingerprint": "670a373674028409", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/gsc-frontaliere-monitor.yml"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-ca9e68ccd94ba100", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "156214ea7e7cb7f2", "scanner": "scanner-primary", "fingerprint": "ca9e68ccd94ba100", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/gsc-frontaliere-monitor.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d8a3ddce3630eb61", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "011d2e95c7918a77", "scanner": "scanner-primary", "fingerprint": "d8a3ddce3630eb61", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/snapshot-jobs-weekly.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-36585e1ee03bba36", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f2fb74f70099024f", "scanner": "scanner-primary", "fingerprint": "36585e1ee03bba36", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/probe-bazg.yml"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-36585e1ee03bba36", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8749872ff9077a4a", "scanner": "scanner-primary", "fingerprint": "36585e1ee03bba36", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/probe-bazg.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-00654967f47dd57d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8fc2763163cfb7aa", "scanner": "scanner-primary", "fingerprint": "00654967f47dd57d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-giorgio-armani.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-00654967f47dd57d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a120f5cbe8da09a1", "scanner": "scanner-primary", "fingerprint": "00654967f47dd57d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-giorgio-armani.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-936896572b7149d2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d6b1988a13f43fbe", "scanner": "scanner-primary", "fingerprint": "936896572b7149d2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-giorgio-armani.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5b7191f19db3f5ba", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d421c4af76ba37d6", "scanner": "scanner-primary", "fingerprint": "5b7191f19db3f5ba", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pwc.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-5b7191f19db3f5ba", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "518e22e13a9fb80a", "scanner": "scanner-primary", "fingerprint": "5b7191f19db3f5ba", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pwc.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-022ee6416389f3b7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "63c9512ab85e5552", "scanner": "scanner-primary", "fingerprint": "022ee6416389f3b7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pwc.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-47476bc4dc68ea88", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "77bc44b2bcbc04a9", "scanner": "scanner-primary", "fingerprint": "47476bc4dc68ea88", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hfr-hopital-fribourgeois.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-47476bc4dc68ea88", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1b78e7f197d9e88", "scanner": "scanner-primary", "fingerprint": "47476bc4dc68ea88", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hfr-hopital-fribourgeois.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e9e476d9aa5648e0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a8d73202aa13ef3d", "scanner": "scanner-primary", "fingerprint": "e9e476d9aa5648e0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hfr-hopital-fribourgeois.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e2da3fe68fbc39c3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "73135a8cd89570f3", "scanner": "scanner-primary", "fingerprint": "e2da3fe68fbc39c3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-afry.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-e2da3fe68fbc39c3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8728d2178bec648e", "scanner": "scanner-primary", "fingerprint": "e2da3fe68fbc39c3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-afry.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-90671c0296ed9652", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "16706faeac164691", "scanner": "scanner-primary", "fingerprint": "90671c0296ed9652", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-afry.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e88f12de16f3b5c6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8b89d48b82da0b0d", "scanner": "scanner-primary", "fingerprint": "e88f12de16f3b5c6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-somedia.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e88f12de16f3b5c6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0374577955c9501d", "scanner": "scanner-primary", "fingerprint": "e88f12de16f3b5c6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-somedia.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-425dc925dfcea51d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7621590a0e0fd9a4", "scanner": "scanner-primary", "fingerprint": "425dc925dfcea51d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-somedia.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fcbd8329fa234f56", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "daad1463d2af9679", "scanner": "scanner-primary", "fingerprint": "fcbd8329fa234f56", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-canton-ticino-osc.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-fcbd8329fa234f56", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "420ee9dfdb4093aa", "scanner": "scanner-primary", "fingerprint": "fcbd8329fa234f56", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-canton-ticino-osc.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6e05ce751bc34b9f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f65c1b25161e500d", "scanner": "scanner-primary", "fingerprint": "6e05ce751bc34b9f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-canton-ticino-osc.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1654aec9f7ff660e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ef6f5dd502e69528", "scanner": "scanner-primary", "fingerprint": "1654aec9f7ff660e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cs-bregaglia.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1654aec9f7ff660e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e693ef9baf2574a3", "scanner": "scanner-primary", "fingerprint": "1654aec9f7ff660e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cs-bregaglia.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-cf6600fef8a68208", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "eb2b38bad9bae01f", "scanner": "scanner-primary", "fingerprint": "cf6600fef8a68208", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cs-bregaglia.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-834265b3484978db", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dda2a006f4cd7770", "scanner": "scanner-primary", "fingerprint": "834265b3484978db", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-health-premiums.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-834265b3484978db", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6133bd4a5c5d4f1f", "scanner": "scanner-primary", "fingerprint": "834265b3484978db", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-health-premiums.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-e4484d70996dc1ed", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3420013e597f1d95", "scanner": "scanner-primary", "fingerprint": "e4484d70996dc1ed", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-health-premiums.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0d23968cdc5f139", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dd9968b0160c0814", "scanner": "scanner-primary", "fingerprint": "d0d23968cdc5f139", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-a-plus-plus-group.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d0d23968cdc5f139", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f6d7f27918122cab", "scanner": "scanner-primary", "fingerprint": "d0d23968cdc5f139", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-a-plus-plus-group.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-372ce97140ede0d2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "328d4aab69042e45", "scanner": "scanner-primary", "fingerprint": "372ce97140ede0d2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-a-plus-plus-group.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-34f2d77f6a1fe917", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4bf1d39c89677171", "scanner": "scanner-primary", "fingerprint": "34f2d77f6a1fe917", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gesundheitszentrum-fricktal.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-34f2d77f6a1fe917", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9ae0267ea496b661", "scanner": "scanner-primary", "fingerprint": "34f2d77f6a1fe917", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gesundheitszentrum-fricktal.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-989c88b58a049910", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "456451e154d7349e", "scanner": "scanner-primary", "fingerprint": "989c88b58a049910", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gesundheitszentrum-fricktal.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-05e381786dae41e9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "101ea1d3d43e1eb5", "scanner": "scanner-primary", "fingerprint": "05e381786dae41e9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ipw.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-05e381786dae41e9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b5c9a2bb0b78ffb8", "scanner": "scanner-primary", "fingerprint": "05e381786dae41e9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ipw.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1e2f752eecd6adde", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "85207304737d7e6d", "scanner": "scanner-primary", "fingerprint": "1e2f752eecd6adde", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ipw.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-55288e864a8f2849", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c90d041dde1697f5", "scanner": "scanner-primary", "fingerprint": "55288e864a8f2849", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rsbj.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-55288e864a8f2849", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "eaccff025ffb1832", "scanner": "scanner-primary", "fingerprint": "55288e864a8f2849", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rsbj.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-95e1167961907b5e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2e4855eda578c06c", "scanner": "scanner-primary", "fingerprint": "95e1167961907b5e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rsbj.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c8f305cc62bca477", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8452ebbc5ef6284b", "scanner": "scanner-primary", "fingerprint": "c8f305cc62bca477", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-barmelweid.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c8f305cc62bca477", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "657e512619315c97", "scanner": "scanner-primary", "fingerprint": "c8f305cc62bca477", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-barmelweid.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-794d1592b239478a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0c60a0eb74e301f2", "scanner": "scanner-primary", "fingerprint": "794d1592b239478a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-barmelweid.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6ab2187c37bdc782", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "01113c7d52a836de", "scanner": "scanner-primary", "fingerprint": "6ab2187c37bdc782", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-eth-zurich.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6ab2187c37bdc782", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dda2447dd14fbf64", "scanner": "scanner-primary", "fingerprint": "6ab2187c37bdc782", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-eth-zurich.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b2132f897e712d27", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0dc4a8bded5b75de", "scanner": "scanner-primary", "fingerprint": "b2132f897e712d27", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-eth-zurich.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dddb5c25487673c9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cf600c333e561cf6", "scanner": "scanner-primary", "fingerprint": "dddb5c25487673c9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-arosa-lenzerheide.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-dddb5c25487673c9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1164350fb8199f00", "scanner": "scanner-primary", "fingerprint": "dddb5c25487673c9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-arosa-lenzerheide.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6294d09df53563cd", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "779f1a1104e44143", "scanner": "scanner-primary", "fingerprint": "6294d09df53563cd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-arosa-lenzerheide.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9cf09970b23f4323", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a09baeb45c30c229", "scanner": "scanner-primary", "fingerprint": "9cf09970b23f4323", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zegna.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9cf09970b23f4323", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "adcc515b6df5adfd", "scanner": "scanner-primary", "fingerprint": "9cf09970b23f4323", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zegna.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-eb4d6c4478f88acc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "034097efb4f6e313", "scanner": "scanner-primary", "fingerprint": "eb4d6c4478f88acc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zegna.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bae1b4abbcca1ac1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "21b5b5c80bba7610", "scanner": "scanner-primary", "fingerprint": "bae1b4abbcca1ac1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-uroviva.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-bae1b4abbcca1ac1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "80c634e2f9d3ddd8", "scanner": "scanner-primary", "fingerprint": "bae1b4abbcca1ac1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-uroviva.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-811441b9297935a2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d553fffb6ac672ba", "scanner": "scanner-primary", "fingerprint": "811441b9297935a2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-uroviva.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2a969a3dc02f2195", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9d34b76d6cc3335b", "scanner": "scanner-primary", "fingerprint": "2a969a3dc02f2195", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-maennedorf.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2a969a3dc02f2195", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "91bf74e609faa1ed", "scanner": "scanner-primary", "fingerprint": "2a969a3dc02f2195", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-maennedorf.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-dbd138934dabf66b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "13af56c4602b7b52", "scanner": "scanner-primary", "fingerprint": "dbd138934dabf66b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-maennedorf.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-59736112b85b8506", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3a2a225754b9e036", "scanner": "scanner-primary", "fingerprint": "59736112b85b8506", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-casale.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-59736112b85b8506", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d25d82aa032d3f60", "scanner": "scanner-primary", "fingerprint": "59736112b85b8506", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-casale.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-516b197fa5db8645", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f4151a697faec24c", "scanner": "scanner-primary", "fingerprint": "516b197fa5db8645", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-casale.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8b3b3608412dc22a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "832360c6211ac296", "scanner": "scanner-primary", "fingerprint": "8b3b3608412dc22a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/newsletter-qa.yml"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-8b3b3608412dc22a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6570a381a758b8a3", "scanner": "scanner-primary", "fingerprint": "8b3b3608412dc22a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/newsletter-qa.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-aa5bd660129d8eb4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6d159854ee2599fd", "scanner": "scanner-primary", "fingerprint": "aa5bd660129d8eb4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/newsletter-qa.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a0fbdd7f04a26273", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e8cf49591eaad10f", "scanner": "scanner-primary", "fingerprint": "a0fbdd7f04a26273", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cds-savognin.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a0fbdd7f04a26273", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "055a1d47e5d9a843", "scanner": "scanner-primary", "fingerprint": "a0fbdd7f04a26273", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cds-savognin.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-722614d932626ec2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0544e8feb9021fe3", "scanner": "scanner-primary", "fingerprint": "722614d932626ec2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cds-savognin.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de3f3e5e10b1823c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f4fc621bc86307c2", "scanner": "scanner-primary", "fingerprint": "de3f3e5e10b1823c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/audit-404-risk.yml"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-1c8cec9d85c74d75", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d2ce840fbeffd1dc", "scanner": "scanner-primary", "fingerprint": "1c8cec9d85c74d75", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seed-bfs-depth-baseline.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-1c8cec9d85c74d75", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "03b5506e550cb630", "scanner": "scanner-primary", "fingerprint": "1c8cec9d85c74d75", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seed-bfs-depth-baseline.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1c8cec9d85c74d75", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "40df31c52f3bf69e", "scanner": "scanner-primary", "fingerprint": "1c8cec9d85c74d75", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seed-bfs-depth-baseline.yml"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-7413db149362947e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8032e159e713e133", "scanner": "scanner-primary", "fingerprint": "7413db149362947e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lastminute.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7413db149362947e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3354dd09c8c3aede", "scanner": "scanner-primary", "fingerprint": "7413db149362947e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lastminute.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e9ce7a61cb32857d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2424503d16530282", "scanner": "scanner-primary", "fingerprint": "e9ce7a61cb32857d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lastminute.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a3edb846b7902a8d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6596bb86479b5b49", "scanner": "scanner-primary", "fingerprint": "a3edb846b7902a8d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-arsante-clinique-de-carouge.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a3edb846b7902a8d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "18ebf3e97fd2019f", "scanner": "scanner-primary", "fingerprint": "a3edb846b7902a8d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-arsante-clinique-de-carouge.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-51781f0a1ad5c290", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b3179b9af1edf482", "scanner": "scanner-primary", "fingerprint": "51781f0a1ad5c290", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-arsante-clinique-de-carouge.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3eaac806df90bfd6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "447398d60ba4fbca", "scanner": "scanner-primary", "fingerprint": "3eaac806df90bfd6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-corner.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-3eaac806df90bfd6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cce570d087d6b160", "scanner": "scanner-primary", "fingerprint": "3eaac806df90bfd6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-corner.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-92dfdcc1dbc24fdb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d7a41023dee32e32", "scanner": "scanner-primary", "fingerprint": "92dfdcc1dbc24fdb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-corner.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e20e48cf8631df41", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "512c1f68068d926c", "scanner": "scanner-primary", "fingerprint": "e20e48cf8631df41", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sitemap-shard-size-monitor.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-e20e48cf8631df41", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e1d927b01c55909", "scanner": "scanner-primary", "fingerprint": "e20e48cf8631df41", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sitemap-shard-size-monitor.yml"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-e20e48cf8631df41", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2222146e9fe882b4", "scanner": "scanner-primary", "fingerprint": "e20e48cf8631df41", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sitemap-shard-size-monitor.yml"}, "region": {"startLine": 136}}}]}, {"ruleId": "scanner-d0bd82c15698e4ef", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2e84272b65c25ac9", "scanner": "scanner-primary", "fingerprint": "d0bd82c15698e4ef", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-epi-stiftung.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d0bd82c15698e4ef", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f0a6018e1629a57f", "scanner": "scanner-primary", "fingerprint": "d0bd82c15698e4ef", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-epi-stiftung.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4dc10ec5c822f182", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ebda28e4c9744ed0", "scanner": "scanner-primary", "fingerprint": "4dc10ec5c822f182", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-epi-stiftung.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84d1ff3c1614471d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fd07f2a7b84d46b3", "scanner": "scanner-primary", "fingerprint": "84d1ff3c1614471d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ardentis.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-84d1ff3c1614471d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7b25e3ba3c0c7578", "scanner": "scanner-primary", "fingerprint": "84d1ff3c1614471d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ardentis.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6af3a21aefab688d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "87dc54c898852a1a", "scanner": "scanner-primary", "fingerprint": "6af3a21aefab688d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ardentis.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-973a0ba2e71f0acd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7ee64cf954968019", "scanner": "scanner-primary", "fingerprint": "973a0ba2e71f0acd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-wyss.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-973a0ba2e71f0acd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7e86828fac74f12b", "scanner": "scanner-primary", "fingerprint": "973a0ba2e71f0acd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-wyss.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-241034852d4beec3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "aaafd4841717d3b4", "scanner": "scanner-primary", "fingerprint": "241034852d4beec3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-wyss.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-156108b15c985192", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "33e36ee1f1853864", "scanner": "scanner-primary", "fingerprint": "156108b15c985192", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stadler-rail.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-156108b15c985192", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "211533fd75f1d839", "scanner": "scanner-primary", "fingerprint": "156108b15c985192", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stadler-rail.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3fd74fedbd3f8cd5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ea5dba7b84113f81", "scanner": "scanner-primary", "fingerprint": "3fd74fedbd3f8cd5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stadler-rail.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a9c0b0e691e32b5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "eb60c312d466c185", "scanner": "scanner-primary", "fingerprint": "1a9c0b0e691e32b5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-avaloq.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-1a9c0b0e691e32b5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5671a20460c14269", "scanner": "scanner-primary", "fingerprint": "1a9c0b0e691e32b5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-avaloq.yml"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-cf83f88e343ffb6a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1e05abf3af194bb7", "scanner": "scanner-primary", "fingerprint": "cf83f88e343ffb6a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-avaloq.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e2916cb93bfe521", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7e0e0da4e456b964", "scanner": "scanner-primary", "fingerprint": "6e2916cb93bfe521", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stadtspital-zuerich.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6e2916cb93bfe521", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "642a28be03ecb943", "scanner": "scanner-primary", "fingerprint": "6e2916cb93bfe521", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stadtspital-zuerich.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-72d64f3b8c132cbe", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "681569253d59fed3", "scanner": "scanner-primary", "fingerprint": "72d64f3b8c132cbe", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stadtspital-zuerich.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a02665c6a293b928", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "55245b0b4bfeecfe", "scanner": "scanner-primary", "fingerprint": "a02665c6a293b928", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lighthouse-ci.yml"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-a02665c6a293b928", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "700d5d9188419c3f", "scanner": "scanner-primary", "fingerprint": "a02665c6a293b928", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lighthouse-ci.yml"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-a02665c6a293b928", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7f0fa4877111e783", "scanner": "scanner-primary", "fingerprint": "a02665c6a293b928", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lighthouse-ci.yml"}, "region": {"startLine": 154}}}]}, {"ruleId": "scanner-a02665c6a293b928", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f715731afae02fe6", "scanner": "scanner-primary", "fingerprint": "a02665c6a293b928", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lighthouse-ci.yml"}, "region": {"startLine": 172}}}]}, {"ruleId": "scanner-57faed57e19b4742", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "855906bffc9e8287", "scanner": "scanner-primary", "fingerprint": "57faed57e19b4742", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-agie-charmilles.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-57faed57e19b4742", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d731e31675b466d", "scanner": "scanner-primary", "fingerprint": "57faed57e19b4742", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-agie-charmilles.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-b0d718ebfe845016", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "22e952cdc76c4981", "scanner": "scanner-primary", "fingerprint": "b0d718ebfe845016", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-agie-charmilles.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-451fcefd8a61ddeb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "457832f7684a6e3f", "scanner": "scanner-primary", "fingerprint": "451fcefd8a61ddeb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-reha-andeer.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-451fcefd8a61ddeb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1576e1cfe7c0a2d4", "scanner": "scanner-primary", "fingerprint": "451fcefd8a61ddeb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-reha-andeer.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-af853ca9646d762c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "dd0f3a936f50e227", "scanner": "scanner-primary", "fingerprint": "af853ca9646d762c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-reha-andeer.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0bd11f1e28543c1a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b17c7b2f60dcd500", "scanner": "scanner-primary", "fingerprint": "0bd11f1e28543c1a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-unemployment-rate.yml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-0bd11f1e28543c1a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c8c81ba9084ae75a", "scanner": "scanner-primary", "fingerprint": "0bd11f1e28543c1a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-unemployment-rate.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-aa33991cb696d89f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ee835d226567fdf5", "scanner": "scanner-primary", "fingerprint": "aa33991cb696d89f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-unemployment-rate.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f235280845bddfa0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1dd68226ecf55bed", "scanner": "scanner-primary", "fingerprint": "f235280845bddfa0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-zollikerberg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f235280845bddfa0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5aa544021b92bf73", "scanner": "scanner-primary", "fingerprint": "f235280845bddfa0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-zollikerberg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-87dd89d0e3f6ca99", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ae372a46fe5f5563", "scanner": "scanner-primary", "fingerprint": "87dd89d0e3f6ca99", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-zollikerberg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-473ed68792909ec4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cb3fbe8325a283c0", "scanner": "scanner-primary", "fingerprint": "473ed68792909ec4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/followup-reconcile.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-473ed68792909ec4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c65282f2ddfabb12", "scanner": "scanner-primary", "fingerprint": "473ed68792909ec4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/followup-reconcile.yml"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-b59717e9af7b497e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cf89b541b632ef00", "scanner": "scanner-primary", "fingerprint": "b59717e9af7b497e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-unispital-basel.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b59717e9af7b497e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "90418d309f13d0ae", "scanner": "scanner-primary", "fingerprint": "b59717e9af7b497e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-unispital-basel.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-41b962f3b14cd96a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1d580d8cc7f16d52", "scanner": "scanner-primary", "fingerprint": "41b962f3b14cd96a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-unispital-basel.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eb31bcf25ff22ffc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f788de210c0d6e92", "scanner": "scanner-primary", "fingerprint": "eb31bcf25ff22ffc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-board.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-eb31bcf25ff22ffc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "12d00e86342567ef", "scanner": "scanner-primary", "fingerprint": "eb31bcf25ff22ffc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-board.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-5f4395afa0861d1b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f1ef14bbb653eaa3", "scanner": "scanner-primary", "fingerprint": "5f4395afa0861d1b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-board.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-03a28387b86f224b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04b0cc6ca3d1fac4", "scanner": "scanner-primary", "fingerprint": "03a28387b86f224b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-omega.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-03a28387b86f224b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "99177b823e7705fb", "scanner": "scanner-primary", "fingerprint": "03a28387b86f224b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-omega.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f50dc9c68ed79dd5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "65860229de3e0138", "scanner": "scanner-primary", "fingerprint": "f50dc9c68ed79dd5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-omega.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f250b1a76056aba2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "afd97ef503474ae4", "scanner": "scanner-primary", "fingerprint": "f250b1a76056aba2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ehc-vd.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f250b1a76056aba2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4cc5cb151ac55328", "scanner": "scanner-primary", "fingerprint": "f250b1a76056aba2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ehc-vd.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9844b2956a7ec812", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "dbaa11c2a5209287", "scanner": "scanner-primary", "fingerprint": "9844b2956a7ec812", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ehc-vd.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fdf0957e90c43ac3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "cd883436d8e66f07", "scanner": "scanner-primary", "fingerprint": "fdf0957e90c43ac3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-indexed-cluster-urls.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7d089643ef1e7ad0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f3b9e9229ed19c8a", "scanner": "scanner-primary", "fingerprint": "7d089643ef1e7ad0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hermes.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7d089643ef1e7ad0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f2d892f528e32cd8", "scanner": "scanner-primary", "fingerprint": "7d089643ef1e7ad0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hermes.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-62093576bc858672", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c70a15417cb2a94f", "scanner": "scanner-primary", "fingerprint": "62093576bc858672", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hermes.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-001c2fae44adeff1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3de67ab513dc9f91", "scanner": "scanner-primary", "fingerprint": "001c2fae44adeff1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-solothurner-spitaeler.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-001c2fae44adeff1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b852958be3189bbf", "scanner": "scanner-primary", "fingerprint": "001c2fae44adeff1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-solothurner-spitaeler.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ba47989fdd646ae1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0ff2b22cf748a1ed", "scanner": "scanner-primary", "fingerprint": "ba47989fdd646ae1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-solothurner-spitaeler.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-35cda1f6c293747a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6bb54649c4050f57", "scanner": "scanner-primary", "fingerprint": "35cda1f6c293747a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-dxt.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-35cda1f6c293747a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "97202cb1b8c4bcc5", "scanner": "scanner-primary", "fingerprint": "35cda1f6c293747a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-dxt.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-bff2ecbf2ab9e8ed", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c2f4cbb5ef1cc100", "scanner": "scanner-primary", "fingerprint": "bff2ecbf2ab9e8ed", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-dxt.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-993717762caabd9b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "83bac39df959bc28", "scanner": "scanner-primary", "fingerprint": "993717762caabd9b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bms-building.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-993717762caabd9b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "42bbc6842c78723f", "scanner": "scanner-primary", "fingerprint": "993717762caabd9b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bms-building.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9d2934df499433ec", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "aa9787ece9480f04", "scanner": "scanner-primary", "fingerprint": "9d2934df499433ec", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bms-building.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cebbf9962ed0db33", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "758e3935a92ecf8e", "scanner": "scanner-primary", "fingerprint": "cebbf9962ed0db33", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-giardino.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-cebbf9962ed0db33", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "eb24bc0fe89904f9", "scanner": "scanner-primary", "fingerprint": "cebbf9962ed0db33", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-giardino.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3cd1233e57732cb7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e590a36efc7e5c1d", "scanner": "scanner-primary", "fingerprint": "3cd1233e57732cb7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-giardino.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84f50bf61a794c0b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a727ebe016aad996", "scanner": "scanner-primary", "fingerprint": "84f50bf61a794c0b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fmi.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-84f50bf61a794c0b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "caea08516ea9bad3", "scanner": "scanner-primary", "fingerprint": "84f50bf61a794c0b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fmi.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1717613686363917", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c89c8060310fa19a", "scanner": "scanner-primary", "fingerprint": "1717613686363917", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fmi.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c799bc859ca7bfd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "833d0bf357f6e518", "scanner": "scanner-primary", "fingerprint": "6c799bc859ca7bfd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-helsinn.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6c799bc859ca7bfd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a99abc6a6390583f", "scanner": "scanner-primary", "fingerprint": "6c799bc859ca7bfd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-helsinn.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f66259c9de64c977", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "df4bf68100c39975", "scanner": "scanner-primary", "fingerprint": "f66259c9de64c977", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-helsinn.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a9d72a784d4df7d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fffe39e0bf22f713", "scanner": "scanner-primary", "fingerprint": "a9d72a784d4df7d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swiss-re.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a9d72a784d4df7d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc9e9f6401761538", "scanner": "scanner-primary", "fingerprint": "a9d72a784d4df7d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swiss-re.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-486efc4bf28386fe", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "783689696bbb184f", "scanner": "scanner-primary", "fingerprint": "486efc4bf28386fe", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swiss-re.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fe2ef10dae0a4ba8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b2e36e19c6a9861e", "scanner": "scanner-primary", "fingerprint": "fe2ef10dae0a4ba8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medartis.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-fe2ef10dae0a4ba8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e686401affbeae45", "scanner": "scanner-primary", "fingerprint": "fe2ef10dae0a4ba8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medartis.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0b38ee94af20c6ef", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8b1f972a93f60839", "scanner": "scanner-primary", "fingerprint": "0b38ee94af20c6ef", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medartis.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1210965da751ddc0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ffe83534d878978a", "scanner": "scanner-primary", "fingerprint": "1210965da751ddc0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/orchestrate-crawlers.yml"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-be6ea7b4f9f0edae", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b969afc3d3226d96", "scanner": "scanner-primary", "fingerprint": "be6ea7b4f9f0edae", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-axa.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-be6ea7b4f9f0edae", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f898705b1b2edf4c", "scanner": "scanner-primary", "fingerprint": "be6ea7b4f9f0edae", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-axa.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-3601c09503b18848", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c8a26ff9cd1d3bf3", "scanner": "scanner-primary", "fingerprint": "3601c09503b18848", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-axa.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ce8e3c2a429ddf0f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dfa1f36c3349e1c6", "scanner": "scanner-primary", "fingerprint": "ce8e3c2a429ddf0f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksb.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ce8e3c2a429ddf0f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8cc1b80d1cfb8581", "scanner": "scanner-primary", "fingerprint": "ce8e3c2a429ddf0f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksb.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e92731f9408c72a7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d29bdbcfae3f5650", "scanner": "scanner-primary", "fingerprint": "e92731f9408c72a7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9dff4db60c9bae3b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5d5b0b8cd8d7e2f4", "scanner": "scanner-primary", "fingerprint": "9dff4db60c9bae3b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hochgebirgsklinik-davos.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9dff4db60c9bae3b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c3364b3050fb8050", "scanner": "scanner-primary", "fingerprint": "9dff4db60c9bae3b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hochgebirgsklinik-davos.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-5486418e5d829f5a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "815a68ba7149a5a5", "scanner": "scanner-primary", "fingerprint": "5486418e5d829f5a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hochgebirgsklinik-davos.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f7dcea6424db48c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6166f6ba695e2826", "scanner": "scanner-primary", "fingerprint": "8f7dcea6424db48c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-live.yml"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-8f7dcea6424db48c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e9170cf2002c59f7", "scanner": "scanner-primary", "fingerprint": "8f7dcea6424db48c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-live.yml"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-8f7dcea6424db48c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b74d4ce9370c8481", "scanner": "scanner-primary", "fingerprint": "8f7dcea6424db48c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-live.yml"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-8f7dcea6424db48c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "131a5b2017df2cec", "scanner": "scanner-primary", "fingerprint": "8f7dcea6424db48c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-live.yml"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-8f7dcea6424db48c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b74d4ce9370c8481", "scanner": "scanner-primary", "fingerprint": "8f7dcea6424db48c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-live.yml"}, "region": {"startLine": 110}}}]}, {"ruleId": "scanner-8f7dcea6424db48c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "53571e414aafd762", "scanner": "scanner-primary", "fingerprint": "8f7dcea6424db48c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-live.yml"}, "region": {"startLine": 279}}}]}, {"ruleId": "scanner-8f7dcea6424db48c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "53571e414aafd762", "scanner": "scanner-primary", "fingerprint": "8f7dcea6424db48c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-live.yml"}, "region": {"startLine": 294}}}]}, {"ruleId": "scanner-8f7dcea6424db48c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "53571e414aafd762", "scanner": "scanner-primary", "fingerprint": "8f7dcea6424db48c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-live.yml"}, "region": {"startLine": 315}}}]}, {"ruleId": "scanner-8f7dcea6424db48c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "53571e414aafd762", "scanner": "scanner-primary", "fingerprint": "8f7dcea6424db48c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-live.yml"}, "region": {"startLine": 323}}}]}, {"ruleId": "scanner-bd07d1f21d3360ba", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0aeb60867bb94018", "scanner": "scanner-primary", "fingerprint": "bd07d1f21d3360ba", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/recover-prev-slugs.yml"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-bd07d1f21d3360ba", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cba4b89aaf656bb0", "scanner": "scanner-primary", "fingerprint": "bd07d1f21d3360ba", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/recover-prev-slugs.yml"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-bd07d1f21d3360ba", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "818ff6ebb3255626", "scanner": "scanner-primary", "fingerprint": "bd07d1f21d3360ba", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/recover-prev-slugs.yml"}, "region": {"startLine": 184}}}]}, {"ruleId": "scanner-daea0cafed50cc5c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "cc51d9a41e1c8c52", "scanner": "scanner-primary", "fingerprint": "daea0cafed50cc5c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/recover-prev-slugs.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-600738562886f0ee", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e6305ee8dfcf468", "scanner": "scanner-primary", "fingerprint": "600738562886f0ee", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ariston.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-600738562886f0ee", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b315319096934331", "scanner": "scanner-primary", "fingerprint": "600738562886f0ee", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ariston.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c3a83949e8051f7c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "19eb876811042bfa", "scanner": "scanner-primary", "fingerprint": "c3a83949e8051f7c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ariston.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aabe9e9a2a2154f9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6d5b71e00d51a487", "scanner": "scanner-primary", "fingerprint": "aabe9e9a2a2154f9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-abb.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-aabe9e9a2a2154f9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a29b58dae7a884b3", "scanner": "scanner-primary", "fingerprint": "aabe9e9a2a2154f9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-abb.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4af6e64c7a601b1e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ea0a5a62e7de63b6", "scanner": "scanner-primary", "fingerprint": "4af6e64c7a601b1e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-abb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1aaedb3e0d9e2d3b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c634832fa9faefa5", "scanner": "scanner-primary", "fingerprint": "1aaedb3e0d9e2d3b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-emmental.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1aaedb3e0d9e2d3b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "935dea62c8cec76f", "scanner": "scanner-primary", "fingerprint": "1aaedb3e0d9e2d3b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-emmental.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1ae0e490ff64d021", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "aeefd33efc2538ff", "scanner": "scanner-primary", "fingerprint": "1ae0e490ff64d021", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-emmental.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e29f7198f1a077ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "09e3aa7476509c70", "scanner": "scanner-primary", "fingerprint": "e29f7198f1a077ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/inspect-dist-composition.yml"}, "region": {"startLine": 169}}}]}, {"ruleId": "scanner-4d4058c24bc0e4c5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3eb5011a2b89382d", "scanner": "scanner-primary", "fingerprint": "4d4058c24bc0e4c5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bracco.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4d4058c24bc0e4c5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4f281f75919744fc", "scanner": "scanner-primary", "fingerprint": "4d4058c24bc0e4c5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bracco.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f4325983acd0279a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "bfb46add707afca9", "scanner": "scanner-primary", "fingerprint": "f4325983acd0279a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bracco.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1759c8f7398670e7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "41adb09294bbcfbe", "scanner": "scanner-primary", "fingerprint": "1759c8f7398670e7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swiss-life.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1759c8f7398670e7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e37a38095fbe2d1", "scanner": "scanner-primary", "fingerprint": "1759c8f7398670e7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swiss-life.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f594457af55fa36a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ff2d893e82443209", "scanner": "scanner-primary", "fingerprint": "f594457af55fa36a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swiss-life.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-458a6a73119c95a4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "60b91f376ba44840", "scanner": "scanner-primary", "fingerprint": "458a6a73119c95a4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-susenberg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-458a6a73119c95a4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c050da377b882faa", "scanner": "scanner-primary", "fingerprint": "458a6a73119c95a4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-susenberg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9345afe0347aea85", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0bb4592d1e301022", "scanner": "scanner-primary", "fingerprint": "9345afe0347aea85", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-susenberg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a6717cb61e079f85", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0ec2bad64a25c322", "scanner": "scanner-primary", "fingerprint": "a6717cb61e079f85", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-palliativklinik.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a6717cb61e079f85", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "06fcd3767c54fed3", "scanner": "scanner-primary", "fingerprint": "a6717cb61e079f85", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-palliativklinik.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ac311bb5c2c07319", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "95aebb9e9312f450", "scanner": "scanner-primary", "fingerprint": "ac311bb5c2c07319", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-palliativklinik.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-402046f8668bc407", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "911f15a198f18f66", "scanner": "scanner-primary", "fingerprint": "402046f8668bc407", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-elettra-1938.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-402046f8668bc407", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fc49bb308bc78a74", "scanner": "scanner-primary", "fingerprint": "402046f8668bc407", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-elettra-1938.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-17c3c96fb691a844", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "fe4eb53aac86850e", "scanner": "scanner-primary", "fingerprint": "17c3c96fb691a844", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-elettra-1938.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b62e43add8f31ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d6cc74974c2315a", "scanner": "scanner-primary", "fingerprint": "2b62e43add8f31ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-schloss-mammern.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2b62e43add8f31ff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cc3c8e237d31c7ec", "scanner": "scanner-primary", "fingerprint": "2b62e43add8f31ff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-schloss-mammern.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-130218070023338a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b0d4596b8cdbdc1e", "scanner": "scanner-primary", "fingerprint": "130218070023338a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-schloss-mammern.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c1ac5f4ba63a3526", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "27438c0a9e818466", "scanner": "scanner-primary", "fingerprint": "c1ac5f4ba63a3526", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zambon.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c1ac5f4ba63a3526", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "31dd711ac4898918", "scanner": "scanner-primary", "fingerprint": "c1ac5f4ba63a3526", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zambon.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e8819ef147931a42", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "691be046186dec55", "scanner": "scanner-primary", "fingerprint": "e8819ef147931a42", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zambon.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-17f374e1e885d6a5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9f653413097fadc8", "scanner": "scanner-primary", "fingerprint": "17f374e1e885d6a5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitex-basel.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-17f374e1e885d6a5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a2cd4cc36f5446c3", "scanner": "scanner-primary", "fingerprint": "17f374e1e885d6a5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitex-basel.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6381559dfe7d89ee", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a699c1119d7f379b", "scanner": "scanner-primary", "fingerprint": "6381559dfe7d89ee", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitex-basel.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae3da3d2bdb1eb4d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "07e6c7117033d05d", "scanner": "scanner-primary", "fingerprint": "ae3da3d2bdb1eb4d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitaeler-schaffhausen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ae3da3d2bdb1eb4d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f291e445747c06db", "scanner": "scanner-primary", "fingerprint": "ae3da3d2bdb1eb4d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitaeler-schaffhausen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-8c36e3d21a116b02", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1d0ca9d36e4eb1ce", "scanner": "scanner-primary", "fingerprint": "8c36e3d21a116b02", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitaeler-schaffhausen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-08a6989683f2c144", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "46c7f0a9b3627c32", "scanner": "scanner-primary", "fingerprint": "08a6989683f2c144", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ameos-ch.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-08a6989683f2c144", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c916d5311321089b", "scanner": "scanner-primary", "fingerprint": "08a6989683f2c144", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ameos-ch.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1af0c402bec138e4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "83568c1e2c00a701", "scanner": "scanner-primary", "fingerprint": "1af0c402bec138e4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ameos-ch.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-35921ad541ec6204", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3fd328a556e0d0ea", "scanner": "scanner-primary", "fingerprint": "35921ad541ec6204", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-adelheid.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-35921ad541ec6204", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bf308af4cd6e775c", "scanner": "scanner-primary", "fingerprint": "35921ad541ec6204", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-adelheid.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d576f6edfb66cf36", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b42982dda8cbed37", "scanner": "scanner-primary", "fingerprint": "d576f6edfb66cf36", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-adelheid.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6429d2c00887de7a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0a6f0c0d641fb8b9", "scanner": "scanner-primary", "fingerprint": "6429d2c00887de7a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-schwyz.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6429d2c00887de7a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d5ec84395f33e223", "scanner": "scanner-primary", "fingerprint": "6429d2c00887de7a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-schwyz.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d73a3545399a590e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "31ffcf9a93bc7fab", "scanner": "scanner-primary", "fingerprint": "d73a3545399a590e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-schwyz.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f15bc678e5b3ecfa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "69fd2af634ef0683", "scanner": "scanner-primary", "fingerprint": "f15bc678e5b3ecfa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-interdiscount.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f15bc678e5b3ecfa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4cdafb5a4ae9904f", "scanner": "scanner-primary", "fingerprint": "f15bc678e5b3ecfa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-interdiscount.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-629ab452c0f0ba8e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a29fc012941cb8e1", "scanner": "scanner-primary", "fingerprint": "629ab452c0f0ba8e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-interdiscount.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-caf8976901cb5f4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "268480833f5e4bb8", "scanner": "scanner-primary", "fingerprint": "caf8976901cb5f4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-de-lavaux.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-caf8976901cb5f4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0e054370cce96c40", "scanner": "scanner-primary", "fingerprint": "caf8976901cb5f4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-de-lavaux.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-230466093d8c7bc7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "79ac53bf047884f0", "scanner": "scanner-primary", "fingerprint": "230466093d8c7bc7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-de-lavaux.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0a8c2d41acffaa6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "69f8677113d8bd43", "scanner": "scanner-primary", "fingerprint": "d0a8c2d41acffaa6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-keyword-config.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0fdde9e4e7c6a9ab", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3455db3e593ebd38", "scanner": "scanner-primary", "fingerprint": "0fdde9e4e7c6a9ab", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sintetica.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-0fdde9e4e7c6a9ab", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "45874cabdf572d72", "scanner": "scanner-primary", "fingerprint": "0fdde9e4e7c6a9ab", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sintetica.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-118e3440e5b49058", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b7fac46a85522157", "scanner": "scanner-primary", "fingerprint": "118e3440e5b49058", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sintetica.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-baa80fd633302343", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5bfce3bb7107ad5b", "scanner": "scanner-primary", "fingerprint": "baa80fd633302343", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-review-loop.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-baa80fd633302343", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c62a51a861786fa9", "scanner": "scanner-primary", "fingerprint": "baa80fd633302343", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-review-loop.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-baa80fd633302343", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0111e69af921bf06", "scanner": "scanner-primary", "fingerprint": "baa80fd633302343", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-review-loop.yml"}, "region": {"startLine": 177}}}]}, {"ruleId": "scanner-1ac12b7257b1f5cd", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3cbf6f3068477692", "scanner": "scanner-primary", "fingerprint": "1ac12b7257b1f5cd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-review-loop.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8825e4747295a008", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "beb1efad9c93e325", "scanner": "scanner-primary", "fingerprint": "8825e4747295a008", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-colin-cie.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8825e4747295a008", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "76c2d9d2922de78b", "scanner": "scanner-primary", "fingerprint": "8825e4747295a008", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-colin-cie.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-22ba99b69234032e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9db6c93da9e4d6bb", "scanner": "scanner-primary", "fingerprint": "22ba99b69234032e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-colin-cie.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d194b708751c82cb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "254a3fa0c2411c2d", "scanner": "scanner-primary", "fingerprint": "d194b708751c82cb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vaudoise.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d194b708751c82cb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b57614fc50953d09", "scanner": "scanner-primary", "fingerprint": "d194b708751c82cb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vaudoise.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e7e8b30bc1d998f3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7de0624ec75605be", "scanner": "scanner-primary", "fingerprint": "e7e8b30bc1d998f3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vaudoise.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9c600b6fec7ccbf9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ae54d11171a67b33", "scanner": "scanner-primary", "fingerprint": "9c600b6fec7ccbf9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/send-newsletter.yml"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-9c600b6fec7ccbf9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5b608f430a0534d1", "scanner": "scanner-primary", "fingerprint": "9c600b6fec7ccbf9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/send-newsletter.yml"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-7715afbfd24259d8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ab4fe8389afe90b3", "scanner": "scanner-primary", "fingerprint": "7715afbfd24259d8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ehnv.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7715afbfd24259d8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "47bb27f77f3ea259", "scanner": "scanner-primary", "fingerprint": "7715afbfd24259d8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ehnv.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-bb3551915077d09a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "27d4f0e823c5407d", "scanner": "scanner-primary", "fingerprint": "bb3551915077d09a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ehnv.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cfd2773109c6a85b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "caffb3b897bd5097", "scanner": "scanner-primary", "fingerprint": "cfd2773109c6a85b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-banca-sempione.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-cfd2773109c6a85b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b767494a8fd30ce2", "scanner": "scanner-primary", "fingerprint": "cfd2773109c6a85b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-banca-sempione.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0086b4206cf87af2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5f9f9a7970295615", "scanner": "scanner-primary", "fingerprint": "0086b4206cf87af2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-banca-sempione.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9e3ff861f03fc099", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "92aa7bae7825e75c", "scanner": "scanner-primary", "fingerprint": "9e3ff861f03fc099", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-groupe-mutuel.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9e3ff861f03fc099", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d015f8360f5541d", "scanner": "scanner-primary", "fingerprint": "9e3ff861f03fc099", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-groupe-mutuel.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3016947f821ab87b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "73376a0c01d38266", "scanner": "scanner-primary", "fingerprint": "3016947f821ab87b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-groupe-mutuel.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-75f8caafe2f62b70", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "98aad114d93cdf06", "scanner": "scanner-primary", "fingerprint": "75f8caafe2f62b70", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/auto-merge-on-lgtm.yml"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-75f8caafe2f62b70", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "09a53de0277e4a82", "scanner": "scanner-primary", "fingerprint": "75f8caafe2f62b70", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/auto-merge-on-lgtm.yml"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-c762c718a158d057", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c3674465527c1aa0", "scanner": "scanner-primary", "fingerprint": "c762c718a158d057", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/auto-merge-on-lgtm.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-431b1e1905da2686", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "733773e61b6ba7ed", "scanner": "scanner-primary", "fingerprint": "431b1e1905da2686", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-fuel-prices.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-431b1e1905da2686", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "81dbc0922d813d69", "scanner": "scanner-primary", "fingerprint": "431b1e1905da2686", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-fuel-prices.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-b7c45eb344be4509", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "db98382a14524963", "scanner": "scanner-primary", "fingerprint": "b7c45eb344be4509", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-fuel-prices.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c27ee87d219d9d62", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a808259318f43ec2", "scanner": "scanner-primary", "fingerprint": "c27ee87d219d9d62", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-coopers.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c27ee87d219d9d62", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "68e11ea676df6449", "scanner": "scanner-primary", "fingerprint": "c27ee87d219d9d62", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-coopers.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-91ac2efd78b0c13b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d155af7ee90ef173", "scanner": "scanner-primary", "fingerprint": "91ac2efd78b0c13b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-coopers.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-663af276cb7a5267", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e27743b111007537", "scanner": "scanner-primary", "fingerprint": "663af276cb7a5267", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-claraspital.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-663af276cb7a5267", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1bc8500f52d3a019", "scanner": "scanner-primary", "fingerprint": "663af276cb7a5267", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-claraspital.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-176829ad3db1dee9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "666f166ea85297b4", "scanner": "scanner-primary", "fingerprint": "176829ad3db1dee9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-claraspital.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd9f3c69b55d6a67", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "80843c09dd42ec77", "scanner": "scanner-primary", "fingerprint": "bd9f3c69b55d6a67", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/loop-health-report.yml"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-bd9f3c69b55d6a67", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "17bf05a6111b3828", "scanner": "scanner-primary", "fingerprint": "bd9f3c69b55d6a67", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/loop-health-report.yml"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-5da918cad8456d50", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "205255f02249e098", "scanner": "scanner-primary", "fingerprint": "5da918cad8456d50", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ubs.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-5da918cad8456d50", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "917005e9767ea681", "scanner": "scanner-primary", "fingerprint": "5da918cad8456d50", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ubs.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-388c8de80ba824bc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f750554e045a437d", "scanner": "scanner-primary", "fingerprint": "388c8de80ba824bc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ubs.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e82a43db580bbb69", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "912980972b8ce7ab", "scanner": "scanner-primary", "fingerprint": "e82a43db580bbb69", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/persist-job-stats.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-e82a43db580bbb69", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "200bd0393f7c0dd2", "scanner": "scanner-primary", "fingerprint": "e82a43db580bbb69", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/persist-job-stats.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-d0478327ab5ebe67", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9f46c2c43ec8995f", "scanner": "scanner-primary", "fingerprint": "d0478327ab5ebe67", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/persist-job-stats.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-440d7ab478b59823", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2bd17a1f1a65f62f", "scanner": "scanner-primary", "fingerprint": "440d7ab478b59823", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cler.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-440d7ab478b59823", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0b3b3884b0dcf407", "scanner": "scanner-primary", "fingerprint": "440d7ab478b59823", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cler.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7a592907db30c962", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "515a9b446e14a79a", "scanner": "scanner-primary", "fingerprint": "7a592907db30c962", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cler.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b470f6014577d138", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8b536145133d369f", "scanner": "scanner-primary", "fingerprint": "b470f6014577d138", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-merge-followup.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-b470f6014577d138", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3827b840fd034c77", "scanner": "scanner-primary", "fingerprint": "b470f6014577d138", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-merge-followup.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-b470f6014577d138", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cf6ded4c48211aab", "scanner": "scanner-primary", "fingerprint": "b470f6014577d138", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-merge-followup.yml"}, "region": {"startLine": 72}}}]}, {"ruleId": "scanner-6c1f3d94a0cef355", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2ffd320713d71cdd", "scanner": "scanner-primary", "fingerprint": "6c1f3d94a0cef355", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-merge-followup.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1571f7a15e16c804", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "949fcd2111424a8b", "scanner": "scanner-primary", "fingerprint": "1571f7a15e16c804", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-siemens-healthineers.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1571f7a15e16c804", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "71d0b8682eceacf5", "scanner": "scanner-primary", "fingerprint": "1571f7a15e16c804", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-siemens-healthineers.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7c34c57f0c96195c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "524ea0d8d7b9ee2f", "scanner": "scanner-primary", "fingerprint": "7c34c57f0c96195c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-siemens-healthineers.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27d2c6cbf1ee1dfb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3c87cb369b654c82", "scanner": "scanner-primary", "fingerprint": "27d2c6cbf1ee1dfb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/discover-404s.yml"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-27d2c6cbf1ee1dfb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7571d43dfc59dccb", "scanner": "scanner-primary", "fingerprint": "27d2c6cbf1ee1dfb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/discover-404s.yml"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-80228422f95e4cdc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5ac07c6dfb443a93", "scanner": "scanner-primary", "fingerprint": "80228422f95e4cdc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/discover-404s.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-285e69ad91536025", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "53353582ba96e40b", "scanner": "scanner-primary", "fingerprint": "285e69ad91536025", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alten.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-285e69ad91536025", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a662bbfe727b36b6", "scanner": "scanner-primary", "fingerprint": "285e69ad91536025", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alten.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-06226a89cb2acc84", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8358853fdc523b4e", "scanner": "scanner-primary", "fingerprint": "06226a89cb2acc84", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alten.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a772b21a6518c2a1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ac4d1cae73be4517", "scanner": "scanner-primary", "fingerprint": "a772b21a6518c2a1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fondation-domus.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a772b21a6518c2a1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2567670da24093e3", "scanner": "scanner-primary", "fingerprint": "a772b21a6518c2a1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fondation-domus.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3fa86d4c3ad656ea", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5ae07fecd9d7b207", "scanner": "scanner-primary", "fingerprint": "3fa86d4c3ad656ea", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fondation-domus.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d27a5cf533a827a2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ae977a3027136835", "scanner": "scanner-primary", "fingerprint": "d27a5cf533a827a2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/fb-jobs-daily-schedule.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2933911cfd032770", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "95343163ee5913b9", "scanner": "scanner-primary", "fingerprint": "2933911cfd032770", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/guard-data-integrity.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2933911cfd032770", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "96b98984f82f7c67", "scanner": "scanner-primary", "fingerprint": "2933911cfd032770", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/guard-data-integrity.yml"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-8a95224e05596fb9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f51b815165179757", "scanner": "scanner-primary", "fingerprint": "8a95224e05596fb9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/guard-data-integrity.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-95e9df98e3de9820", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d97419578b90751b", "scanner": "scanner-primary", "fingerprint": "95e9df98e3de9820", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lonza.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-95e9df98e3de9820", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "76e1844665203db6", "scanner": "scanner-primary", "fingerprint": "95e9df98e3de9820", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lonza.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c9abdcd512a636bb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1bfa709e8c4d1228", "scanner": "scanner-primary", "fingerprint": "c9abdcd512a636bb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lonza.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7836f30cc45efff3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "290fa818ec80dd80", "scanner": "scanner-primary", "fingerprint": "7836f30cc45efff3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-emmi.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7836f30cc45efff3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e8f6cd8500b1bf5c", "scanner": "scanner-primary", "fingerprint": "7836f30cc45efff3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-emmi.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6dd4eba5e6620496", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d0ea37f57a823f45", "scanner": "scanner-primary", "fingerprint": "6dd4eba5e6620496", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-emmi.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c01ffbcf4b34416a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3ba04bf25e3a935c", "scanner": "scanner-primary", "fingerprint": "c01ffbcf4b34416a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tarchini-group.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-c01ffbcf4b34416a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2e8e8908786cf073", "scanner": "scanner-primary", "fingerprint": "c01ffbcf4b34416a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tarchini-group.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-ccfbc39462b43c61", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "406f06eed92884f6", "scanner": "scanner-primary", "fingerprint": "ccfbc39462b43c61", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tarchini-group.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0abc694db9180631", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "40de233688ee4691", "scanner": "scanner-primary", "fingerprint": "0abc694db9180631", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/discover-404s-via-cloudflare.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-0abc694db9180631", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f3b210064c0ee251", "scanner": "scanner-primary", "fingerprint": "0abc694db9180631", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/discover-404s-via-cloudflare.yml"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-46f70c7b66fb098c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8663eb580a4c91a1", "scanner": "scanner-primary", "fingerprint": "46f70c7b66fb098c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/discover-404s-via-cloudflare.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6fd3c12020ca8ce2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8665335711a08540", "scanner": "scanner-primary", "fingerprint": "6fd3c12020ca8ce2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rapelli.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6fd3c12020ca8ce2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "217697d5a8281579", "scanner": "scanner-primary", "fingerprint": "6fd3c12020ca8ce2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rapelli.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7cee4c5bb7921250", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d6b1869219e48264", "scanner": "scanner-primary", "fingerprint": "7cee4c5bb7921250", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rapelli.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-685af5cd0cede4df", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "115eb1e5dc194d46", "scanner": "scanner-primary", "fingerprint": "685af5cd0cede4df", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rittmeyer.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-685af5cd0cede4df", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ec5270113c3d5b88", "scanner": "scanner-primary", "fingerprint": "685af5cd0cede4df", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rittmeyer.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c8dcddffae8e9fa3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8231e942b913444f", "scanner": "scanner-primary", "fingerprint": "c8dcddffae8e9fa3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rittmeyer.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-26838cf87c10a96d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "07093305ae3d9e1f", "scanner": "scanner-primary", "fingerprint": "26838cf87c10a96d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pdgr.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-26838cf87c10a96d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5f044e2f9d9cd31c", "scanner": "scanner-primary", "fingerprint": "26838cf87c10a96d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pdgr.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-79ac67b503879410", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c2f27418d7abf728", "scanner": "scanner-primary", "fingerprint": "79ac67b503879410", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pdgr.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c5feacb6f8b2a882", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2a6d2f1baa8f45c3", "scanner": "scanner-primary", "fingerprint": "c5feacb6f8b2a882", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/restore-from-artifact.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-c5feacb6f8b2a882", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "63016866375b46a4", "scanner": "scanner-primary", "fingerprint": "c5feacb6f8b2a882", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/restore-from-artifact.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-4a4d94c1ff81d916", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8a3ccfd77b9bdef6", "scanner": "scanner-primary", "fingerprint": "4a4d94c1ff81d916", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/restore-from-artifact.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-62a88686f4b37172", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4dd2326684130cf9", "scanner": "scanner-primary", "fingerprint": "62a88686f4b37172", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csc-costruzioni.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-62a88686f4b37172", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dd3b32c9d62bf419", "scanner": "scanner-primary", "fingerprint": "62a88686f4b37172", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csc-costruzioni.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-969731c494736283", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7274d6de25f4e2dc", "scanner": "scanner-primary", "fingerprint": "969731c494736283", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csc-costruzioni.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c924568f054f0b0d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "210b4319f1d202e3", "scanner": "scanner-primary", "fingerprint": "c924568f054f0b0d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-heineken-ch.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c924568f054f0b0d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "520d5db7e1fd0381", "scanner": "scanner-primary", "fingerprint": "c924568f054f0b0d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-heineken-ch.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-626a28d55fcdc345", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "bd2fd23988ac626f", "scanner": "scanner-primary", "fingerprint": "626a28d55fcdc345", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-heineken-ch.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e70f2432766ffd60", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f05a957370fa368d", "scanner": "scanner-primary", "fingerprint": "e70f2432766ffd60", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-du-valais.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e70f2432766ffd60", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4385c7f175c37309", "scanner": "scanner-primary", "fingerprint": "e70f2432766ffd60", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-du-valais.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-52423dfc6aa8dffe", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "704e67c5e70aeaa2", "scanner": "scanner-primary", "fingerprint": "52423dfc6aa8dffe", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-du-valais.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b1436f7f866d9402", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e5096c7b75154b86", "scanner": "scanner-primary", "fingerprint": "b1436f7f866d9402", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hugo-boss.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b1436f7f866d9402", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f262fe66ee6e5a6f", "scanner": "scanner-primary", "fingerprint": "b1436f7f866d9402", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hugo-boss.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-363d55c62b64089b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8a6d19a79748dabd", "scanner": "scanner-primary", "fingerprint": "363d55c62b64089b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hugo-boss.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-968ab42d7fd4eddc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3e2e837012769ebc", "scanner": "scanner-primary", "fingerprint": "968ab42d7fd4eddc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clienia-ag.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-968ab42d7fd4eddc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "009d27642db19f5c", "scanner": "scanner-primary", "fingerprint": "968ab42d7fd4eddc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clienia-ag.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d1c8ac28cc0b570d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "eb7ea89cf70b76a9", "scanner": "scanner-primary", "fingerprint": "d1c8ac28cc0b570d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clienia-ag.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-30326a77fd48814c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "160204e6f7d55811", "scanner": "scanner-primary", "fingerprint": "30326a77fd48814c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-arlesheim.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-30326a77fd48814c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7839419f4aa3025d", "scanner": "scanner-primary", "fingerprint": "30326a77fd48814c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-arlesheim.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f1c7d8f5badad6cf", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ee1c12775f6adf9b", "scanner": "scanner-primary", "fingerprint": "f1c7d8f5badad6cf", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-arlesheim.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b01f07e626911c5e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "df496e719214da0f", "scanner": "scanner-primary", "fingerprint": "b01f07e626911c5e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/compress-contract-docs.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b01f07e626911c5e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4af8f0ae854a6ed1", "scanner": "scanner-primary", "fingerprint": "b01f07e626911c5e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/compress-contract-docs.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-29ea946bc5c7c923", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9a4eb815376a5855", "scanner": "scanner-primary", "fingerprint": "29ea946bc5c7c923", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ophtalmique.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-29ea946bc5c7c923", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a5bd787d9fc0aff6", "scanner": "scanner-primary", "fingerprint": "29ea946bc5c7c923", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ophtalmique.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-606d4e914223d574", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "991df4a8bb1b551a", "scanner": "scanner-primary", "fingerprint": "606d4e914223d574", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ophtalmique.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e33f0cf20a7b43b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4ac1fba18ec2cf31", "scanner": "scanner-primary", "fingerprint": "6e33f0cf20a7b43b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-wagerenhof.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6e33f0cf20a7b43b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a0804ca5fb4c7ca6", "scanner": "scanner-primary", "fingerprint": "6e33f0cf20a7b43b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-wagerenhof.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e0df2a232bedc660", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "df0cad7fcfa8c6e2", "scanner": "scanner-primary", "fingerprint": "e0df2a232bedc660", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-wagerenhof.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9db5464648a86a79", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f19f8827fc55645c", "scanner": "scanner-primary", "fingerprint": "9db5464648a86a79", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-muri.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9db5464648a86a79", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "64a82dafade66b65", "scanner": "scanner-primary", "fingerprint": "9db5464648a86a79", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-muri.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-aba0360598697341", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c78e65870cdf4e00", "scanner": "scanner-primary", "fingerprint": "aba0360598697341", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-muri.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-248dbc6eba2b2919", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c740b0f6e4f33727", "scanner": "scanner-primary", "fingerprint": "248dbc6eba2b2919", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tally-weijl.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-248dbc6eba2b2919", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8279817b8d6c2479", "scanner": "scanner-primary", "fingerprint": "248dbc6eba2b2919", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tally-weijl.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ef1d9e73d3fc093c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9cb7d7b6e8ff0d2e", "scanner": "scanner-primary", "fingerprint": "ef1d9e73d3fc093c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tally-weijl.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-85a065e514d653ef", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ec1c1e0cb22fb47b", "scanner": "scanner-primary", "fingerprint": "85a065e514d653ef", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/worktree-branch-janitor.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-19d2f80d3c6d0bf1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "742d724c844b5765", "scanner": "scanner-primary", "fingerprint": "19d2f80d3c6d0bf1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-h-ju-hopital-du-jura.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-19d2f80d3c6d0bf1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4933890bf7a50eee", "scanner": "scanner-primary", "fingerprint": "19d2f80d3c6d0bf1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-h-ju-hopital-du-jura.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-05d0c9b5cb63ffd3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ca56fb16bdae4306", "scanner": "scanner-primary", "fingerprint": "05d0c9b5cb63ffd3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-h-ju-hopital-du-jura.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11ba0a42a6578345", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a38d82bdddba738d", "scanner": "scanner-primary", "fingerprint": "11ba0a42a6578345", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cleanup-stale-jobs.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-11ba0a42a6578345", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "62633a72ea6e077a", "scanner": "scanner-primary", "fingerprint": "11ba0a42a6578345", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cleanup-stale-jobs.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-ed2d90d91aa58dab", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f5d10bb7aa3d3c9d", "scanner": "scanner-primary", "fingerprint": "ed2d90d91aa58dab", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cleanup-stale-jobs.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-501ddc2d0136528c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "63522a5b7caeaff9", "scanner": "scanner-primary", "fingerprint": "501ddc2d0136528c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-company-parser.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-501ddc2d0136528c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f392f429d07359a7", "scanner": "scanner-primary", "fingerprint": "501ddc2d0136528c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-company-parser.yml"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-98e318f00592b893", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7269af02554787ff", "scanner": "scanner-primary", "fingerprint": "98e318f00592b893", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-company-parser.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c46701803b1bff2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d29e6ce9770dbeae", "scanner": "scanner-primary", "fingerprint": "6c46701803b1bff2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lindenhofgruppe.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6c46701803b1bff2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7a76e4cf46df9dd1", "scanner": "scanner-primary", "fingerprint": "6c46701803b1bff2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lindenhofgruppe.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f8866c5a41d113df", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "272e1c51030e2b24", "scanner": "scanner-primary", "fingerprint": "f8866c5a41d113df", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lindenhofgruppe.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d21250beb847de5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04000b658dd84952", "scanner": "scanner-primary", "fingerprint": "4d21250beb847de5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-thusis.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4d21250beb847de5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "999c41409c88d7ab", "scanner": "scanner-primary", "fingerprint": "4d21250beb847de5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-thusis.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-91957e550143a5e0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a89d6a1896f4b626", "scanner": "scanner-primary", "fingerprint": "91957e550143a5e0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-thusis.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ba914e16766da7f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c5de909c605a5ca0", "scanner": "scanner-primary", "fingerprint": "4ba914e16766da7f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cseb.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4ba914e16766da7f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3fa6501b72b4bcc7", "scanner": "scanner-primary", "fingerprint": "4ba914e16766da7f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cseb.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-458f189089541dce", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "73190cb65f81cacb", "scanner": "scanner-primary", "fingerprint": "458f189089541dce", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cseb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-78e8d65e52dd4631", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aa5e2dc97210c07a", "scanner": "scanner-primary", "fingerprint": "78e8d65e52dd4631", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-badrutts-palace.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-78e8d65e52dd4631", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "63c89896a4f9454e", "scanner": "scanner-primary", "fingerprint": "78e8d65e52dd4631", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-badrutts-palace.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-90bdf7edfc97555d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0fe58426212bda8d", "scanner": "scanner-primary", "fingerprint": "90bdf7edfc97555d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-badrutts-palace.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-64173677ad07fa30", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "520fea1ec971de12", "scanner": "scanner-primary", "fingerprint": "64173677ad07fa30", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lhm-luzerner-hohenklinik-montana.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-64173677ad07fa30", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8810766b87c3dd48", "scanner": "scanner-primary", "fingerprint": "64173677ad07fa30", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lhm-luzerner-hohenklinik-montana.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-8e03f489ac8fd04a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3741577aff102fad", "scanner": "scanner-primary", "fingerprint": "8e03f489ac8fd04a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lhm-luzerner-hohenklinik-montana.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c16b85b2d3477001", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ddae8b374b7cdcce", "scanner": "scanner-primary", "fingerprint": "c16b85b2d3477001", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-schulthess-klinik.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c16b85b2d3477001", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ba235501faa144fd", "scanner": "scanner-primary", "fingerprint": "c16b85b2d3477001", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-schulthess-klinik.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-473c43c264c3be81", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "09bb8aff1903da89", "scanner": "scanner-primary", "fingerprint": "473c43c264c3be81", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-schulthess-klinik.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4f7eabbf0c11c34", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b1d63d0404f98079", "scanner": "scanner-primary", "fingerprint": "a4f7eabbf0c11c34", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rennbahnklinik.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a4f7eabbf0c11c34", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fb00784296a8542b", "scanner": "scanner-primary", "fingerprint": "a4f7eabbf0c11c34", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rennbahnklinik.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1b2d5c1891f77480", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7b569b651c6cfe6e", "scanner": "scanner-primary", "fingerprint": "1b2d5c1891f77480", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rennbahnklinik.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-66669049193d4632", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "58ab83ac4a4f4eac", "scanner": "scanner-primary", "fingerprint": "66669049193d4632", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-oberengadin.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-66669049193d4632", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "72281ff3f63d7297", "scanner": "scanner-primary", "fingerprint": "66669049193d4632", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-oberengadin.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7194111e7ab0e077", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e9c2ad739c40b13c", "scanner": "scanner-primary", "fingerprint": "7194111e7ab0e077", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-oberengadin.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3208f227d722cfa7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd1258776c1a098a", "scanner": "scanner-primary", "fingerprint": "3208f227d722cfa7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/audit-parser-quality.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-3208f227d722cfa7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2182979644968f51", "scanner": "scanner-primary", "fingerprint": "3208f227d722cfa7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/audit-parser-quality.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-29e25cbf4e6fe5af", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0a0a6fdc771d826f", "scanner": "scanner-primary", "fingerprint": "29e25cbf4e6fe5af", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-im-hasel.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-29e25cbf4e6fe5af", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7c18f72f2f83249a", "scanner": "scanner-primary", "fingerprint": "29e25cbf4e6fe5af", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-im-hasel.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-98e4170a6e06c892", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "df887eb1e6a9a915", "scanner": "scanner-primary", "fingerprint": "98e4170a6e06c892", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-im-hasel.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6101d1e988402637", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c5c917f36b8f32f6", "scanner": "scanner-primary", "fingerprint": "6101d1e988402637", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-le-noirmont.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-6101d1e988402637", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5de6da3ca950be10", "scanner": "scanner-primary", "fingerprint": "6101d1e988402637", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-le-noirmont.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-b42452594c47e3d3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c1fe8fca3833e86c", "scanner": "scanner-primary", "fingerprint": "b42452594c47e3d3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-le-noirmont.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-06d23ddd10842ee2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "557cfdd1923e00d4", "scanner": "scanner-primary", "fingerprint": "06d23ddd10842ee2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sunrise.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-06d23ddd10842ee2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1961dedd46c1f69", "scanner": "scanner-primary", "fingerprint": "06d23ddd10842ee2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sunrise.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c198a24c7e265a92", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "091a366e8a5da54c", "scanner": "scanner-primary", "fingerprint": "c198a24c7e265a92", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sunrise.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-efeedb890ac1582b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7f1c20decf0d7a42", "scanner": "scanner-primary", "fingerprint": "efeedb890ac1582b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-axpo.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-efeedb890ac1582b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4e1c2912bcf13721", "scanner": "scanner-primary", "fingerprint": "efeedb890ac1582b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-axpo.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9172fe0617642988", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "049baf3027bfd7aa", "scanner": "scanner-primary", "fingerprint": "9172fe0617642988", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-axpo.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-684787d1f9fea636", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6bc8fe323fe54c57", "scanner": "scanner-primary", "fingerprint": "684787d1f9fea636", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-reha-bellikon.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-684787d1f9fea636", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d458f91b5e2a6c34", "scanner": "scanner-primary", "fingerprint": "684787d1f9fea636", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-reha-bellikon.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c1cf43fabf7e48c9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ca1c1505174415db", "scanner": "scanner-primary", "fingerprint": "c1cf43fabf7e48c9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-reha-bellikon.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-075632eb0858be7c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e3c4c1982ee2e7f0", "scanner": "scanner-primary", "fingerprint": "075632eb0858be7c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-lengg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-075632eb0858be7c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e197d83b513b3b4", "scanner": "scanner-primary", "fingerprint": "075632eb0858be7c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-lengg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e7b00e8bd52154de", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2f95616aaacda3d8", "scanner": "scanner-primary", "fingerprint": "e7b00e8bd52154de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-lengg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a71069f4f4d2e860", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9606fa268cb03bc3", "scanner": "scanner-primary", "fingerprint": "a71069f4f4d2e860", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-jumbo.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a71069f4f4d2e860", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c2dde97401617d13", "scanner": "scanner-primary", "fingerprint": "a71069f4f4d2e860", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-jumbo.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-afb34bccd91cc219", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9806fdcfa6e4f687", "scanner": "scanner-primary", "fingerprint": "afb34bccd91cc219", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-jumbo.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9a96402913b5e9b1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5594c7e55bf81af2", "scanner": "scanner-primary", "fingerprint": "9a96402913b5e9b1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zermatt-bergbahnen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9a96402913b5e9b1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1046f1e0e8cfd3a8", "scanner": "scanner-primary", "fingerprint": "9a96402913b5e9b1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zermatt-bergbahnen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4ac57c4394c0c989", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6b6171b59e4bea29", "scanner": "scanner-primary", "fingerprint": "4ac57c4394c0c989", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zermatt-bergbahnen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f0e302005a63568", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9bc1b4e175a9792a", "scanner": "scanner-primary", "fingerprint": "8f0e302005a63568", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mobiliar.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8f0e302005a63568", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e04b6951632a5513", "scanner": "scanner-primary", "fingerprint": "8f0e302005a63568", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mobiliar.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f8e66350b1ad1acb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3909edfec59a1050", "scanner": "scanner-primary", "fingerprint": "f8e66350b1ad1acb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mobiliar.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ff32e90cad736f31", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b612e2f50bf8d677", "scanner": "scanner-primary", "fingerprint": "ff32e90cad736f31", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-worker.yml"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-ff32e90cad736f31", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b05258fd7dfc25f1", "scanner": "scanner-primary", "fingerprint": "ff32e90cad736f31", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-worker.yml"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-ff32e90cad736f31", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b05258fd7dfc25f1", "scanner": "scanner-primary", "fingerprint": "ff32e90cad736f31", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-worker.yml"}, "region": {"startLine": 148}}}]}, {"ruleId": "scanner-112055de8769c3fe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ab61150b2ea59e8e", "scanner": "scanner-primary", "fingerprint": "112055de8769c3fe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-generale-ste-anne.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-112055de8769c3fe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2504a06d0d0ab834", "scanner": "scanner-primary", "fingerprint": "112055de8769c3fe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-generale-ste-anne.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c88401e9b8fe4e4f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "525df949db643947", "scanner": "scanner-primary", "fingerprint": "c88401e9b8fe4e4f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-generale-ste-anne.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a5b597768ccf997", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ee534ff8c16c33d", "scanner": "scanner-primary", "fingerprint": "1a5b597768ccf997", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-nant.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1a5b597768ccf997", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "95b4a7de59d7541e", "scanner": "scanner-primary", "fingerprint": "1a5b597768ccf997", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-nant.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-8fdfcc4c2dd43027", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "204c09f7a6805191", "scanner": "scanner-primary", "fingerprint": "8fdfcc4c2dd43027", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-nant.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c0850d65131008e8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6c99cad90b9a338a", "scanner": "scanner-primary", "fingerprint": "c0850d65131008e8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-faulhaber.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c0850d65131008e8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "db7b6372cc9792d6", "scanner": "scanner-primary", "fingerprint": "c0850d65131008e8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-faulhaber.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9d8f61b0f6c0b7c2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "dec987b9eb4a07c8", "scanner": "scanner-primary", "fingerprint": "9d8f61b0f6c0b7c2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-faulhaber.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-871fc09f5fc3eb79", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "df8f4f902151b2fe", "scanner": "scanner-primary", "fingerprint": "871fc09f5fc3eb79", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fhgr.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-871fc09f5fc3eb79", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dba77407199f84a9", "scanner": "scanner-primary", "fingerprint": "871fc09f5fc3eb79", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fhgr.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b743624259ef83af", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d8cb4515bdc77e1e", "scanner": "scanner-primary", "fingerprint": "b743624259ef83af", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fhgr.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8681cde9860cf458", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bab1321660a79471", "scanner": "scanner-primary", "fingerprint": "8681cde9860cf458", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/article-content-canary.yml"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-8681cde9860cf458", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "05487aa2dcde1574", "scanner": "scanner-primary", "fingerprint": "8681cde9860cf458", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/article-content-canary.yml"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-8681cde9860cf458", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "33042213fcc30a1a", "scanner": "scanner-primary", "fingerprint": "8681cde9860cf458", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/article-content-canary.yml"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-b5c61e9dd39b58cd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2b0ade0aeddabe19", "scanner": "scanner-primary", "fingerprint": "b5c61e9dd39b58cd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-has-healthcare.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b5c61e9dd39b58cd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e77f8655449f3ba", "scanner": "scanner-primary", "fingerprint": "b5c61e9dd39b58cd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-has-healthcare.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-58c39abd1c2c57e0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5b33689d820ea1d1", "scanner": "scanner-primary", "fingerprint": "58c39abd1c2c57e0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-has-healthcare.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ad86429755209c96", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0325dc1d3cf4441e", "scanner": "scanner-primary", "fingerprint": "ad86429755209c96", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sanatorium-kilchberg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ad86429755209c96", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bb43025ef04d6daa", "scanner": "scanner-primary", "fingerprint": "ad86429755209c96", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sanatorium-kilchberg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-10b4d933851b3008", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f279d614dc15f518", "scanner": "scanner-primary", "fingerprint": "10b4d933851b3008", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sanatorium-kilchberg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5d3b8cb38009bd63", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6cc2cbfcdc8fb8f6", "scanner": "scanner-primary", "fingerprint": "5d3b8cb38009bd63", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seed-title-baselines.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-5d3b8cb38009bd63", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "69fad5ca9a69cc5c", "scanner": "scanner-primary", "fingerprint": "5d3b8cb38009bd63", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seed-title-baselines.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-5d3b8cb38009bd63", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "51a37ea352b19164", "scanner": "scanner-primary", "fingerprint": "5d3b8cb38009bd63", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seed-title-baselines.yml"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-d070d9a50202664a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "90111aefe64d09d0", "scanner": "scanner-primary", "fingerprint": "d070d9a50202664a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-benteler.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d070d9a50202664a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a8bdd9917abdac76", "scanner": "scanner-primary", "fingerprint": "d070d9a50202664a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-benteler.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1e06f202af7cf9a7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a4a6ce21a1543455", "scanner": "scanner-primary", "fingerprint": "1e06f202af7cf9a7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-benteler.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f044504484ebb170", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a633fac9284d3458", "scanner": "scanner-primary", "fingerprint": "f044504484ebb170", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-triaplus.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f044504484ebb170", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "39efd0ba1a709753", "scanner": "scanner-primary", "fingerprint": "f044504484ebb170", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-triaplus.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e2789e616bfe7cc7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "336f357ccf9e8ef2", "scanner": "scanner-primary", "fingerprint": "e2789e616bfe7cc7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-triaplus.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-81f73373c5a66463", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1a4caac8ea173de1", "scanner": "scanner-primary", "fingerprint": "81f73373c5a66463", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-dist.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-81f73373c5a66463", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "36975d02d6678a40", "scanner": "scanner-primary", "fingerprint": "81f73373c5a66463", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-dist.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-81f73373c5a66463", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b20f3a87645be970", "scanner": "scanner-primary", "fingerprint": "81f73373c5a66463", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-dist.yml"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-81f73373c5a66463", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fed4bfdd3011471f", "scanner": "scanner-primary", "fingerprint": "81f73373c5a66463", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-dist.yml"}, "region": {"startLine": 122}}}]}, {"ruleId": "scanner-81f73373c5a66463", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fed4bfdd3011471f", "scanner": "scanner-primary", "fingerprint": "81f73373c5a66463", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-dist.yml"}, "region": {"startLine": 128}}}]}, {"ruleId": "scanner-81f73373c5a66463", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fed4bfdd3011471f", "scanner": "scanner-primary", "fingerprint": "81f73373c5a66463", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-dist.yml"}, "region": {"startLine": 141}}}]}, {"ruleId": "scanner-81f73373c5a66463", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd0b80dd69d1d86f", "scanner": "scanner-primary", "fingerprint": "81f73373c5a66463", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-validate-dist.yml"}, "region": {"startLine": 643}}}]}, {"ruleId": "scanner-eb987152941b1241", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "929f69f27c61b099", "scanner": "scanner-primary", "fingerprint": "eb987152941b1241", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/verify-company-logos-weekly.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2fc866cd6ce8715c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3fb66be292d9ca3d", "scanner": "scanner-primary", "fingerprint": "2fc866cd6ce8715c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-buergenstock-hotels.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2fc866cd6ce8715c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9f0e3a3c8d45de4a", "scanner": "scanner-primary", "fingerprint": "2fc866cd6ce8715c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-buergenstock-hotels.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-100c2952c07d02aa", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "795739c67c08b73a", "scanner": "scanner-primary", "fingerprint": "100c2952c07d02aa", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-buergenstock-hotels.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-23d18ca9419ac5a2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7ad28816c10be2f0", "scanner": "scanner-primary", "fingerprint": "23d18ca9419ac5a2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-davos-klosters-bergbahnen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-23d18ca9419ac5a2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7902be887de0d3c0", "scanner": "scanner-primary", "fingerprint": "23d18ca9419ac5a2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-davos-klosters-bergbahnen.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-b4c8c121645f4371", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c9de6ed0f8de2761", "scanner": "scanner-primary", "fingerprint": "b4c8c121645f4371", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-davos-klosters-bergbahnen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f98746620b3d6e77", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f6791ac98960eaab", "scanner": "scanner-primary", "fingerprint": "f98746620b3d6e77", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pbl.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f98746620b3d6e77", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0b4aa9c60912ebd7", "scanner": "scanner-primary", "fingerprint": "f98746620b3d6e77", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pbl.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-24c5bd7edb68ce5a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "22b2b138f3939425", "scanner": "scanner-primary", "fingerprint": "24c5bd7edb68ce5a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pbl.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eca43b33f11aa947", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4191d6d5c83d6b4b", "scanner": "scanner-primary", "fingerprint": "eca43b33f11aa947", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spz.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-eca43b33f11aa947", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d627c0761d30b682", "scanner": "scanner-primary", "fingerprint": "eca43b33f11aa947", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spz.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f3a78d8676ae6404", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3c3774a5fd4eee09", "scanner": "scanner-primary", "fingerprint": "f3a78d8676ae6404", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spz.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-474417903452bd4e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ee9c86dcfd848c04", "scanner": "scanner-primary", "fingerprint": "474417903452bd4e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-liebherr.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-474417903452bd4e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "69832ba3d7fa7b14", "scanner": "scanner-primary", "fingerprint": "474417903452bd4e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-liebherr.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2372aac4034751a3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d528d9ef0cc48bd9", "scanner": "scanner-primary", "fingerprint": "2372aac4034751a3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-liebherr.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d0ec04acaae0c80", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "11c96e773420e8c9", "scanner": "scanner-primary", "fingerprint": "1d0ec04acaae0c80", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-igs-bern.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1d0ec04acaae0c80", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8aaef67bfe4c63b5", "scanner": "scanner-primary", "fingerprint": "1d0ec04acaae0c80", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-igs-bern.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-623a96667f396378", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0123c6e381439178", "scanner": "scanner-primary", "fingerprint": "623a96667f396378", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-igs-bern.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-050ef9d15023855e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "56d52931125be8b3", "scanner": "scanner-primary", "fingerprint": "050ef9d15023855e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sika.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-050ef9d15023855e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bffd4cc5b0ba62f7", "scanner": "scanner-primary", "fingerprint": "050ef9d15023855e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sika.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-09a67fec80e23db0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "22e446cd6cc63e26", "scanner": "scanner-primary", "fingerprint": "09a67fec80e23db0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sika.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9fa494f7687fc511", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "357eebf55fed08c6", "scanner": "scanner-primary", "fingerprint": "9fa494f7687fc511", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-artisa.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9fa494f7687fc511", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "26474cb03957c00c", "scanner": "scanner-primary", "fingerprint": "9fa494f7687fc511", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-artisa.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e7833b55ef774ef1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6a82e49f29d90712", "scanner": "scanner-primary", "fingerprint": "e7833b55ef774ef1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-artisa.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dbbe4ce2f1c7392e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e6c4f8cafadaa5c1", "scanner": "scanner-primary", "fingerprint": "dbbe4ce2f1c7392e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/audit-dist-from-run.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-dbbe4ce2f1c7392e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d54a60190070d5fd", "scanner": "scanner-primary", "fingerprint": "dbbe4ce2f1c7392e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/audit-dist-from-run.yml"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-5a1845ee54ca9c4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "17336fe94d7bb808", "scanner": "scanner-primary", "fingerprint": "5a1845ee54ca9c4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-luks.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-5a1845ee54ca9c4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "926b3c72429c0742", "scanner": "scanner-primary", "fingerprint": "5a1845ee54ca9c4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-luks.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1c243ca106477727", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e8f13ea7f405879f", "scanner": "scanner-primary", "fingerprint": "1c243ca106477727", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-luks.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e7135f1a656e827", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a8b5e6a5279c040a", "scanner": "scanner-primary", "fingerprint": "6e7135f1a656e827", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/smoke-test-ai-models.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-6e7135f1a656e827", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "caa4ba361b61517c", "scanner": "scanner-primary", "fingerprint": "6e7135f1a656e827", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/smoke-test-ai-models.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-6e7135f1a656e827", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fb411476ae3083e7", "scanner": "scanner-primary", "fingerprint": "6e7135f1a656e827", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/smoke-test-ai-models.yml"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-ef2d622b0606db3e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4bc04de68a52f8a9", "scanner": "scanner-primary", "fingerprint": "ef2d622b0606db3e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bachem.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ef2d622b0606db3e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3264071b5dc0137d", "scanner": "scanner-primary", "fingerprint": "ef2d622b0606db3e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bachem.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2f7341371e00f4dd", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "316c40b33a1e7964", "scanner": "scanner-primary", "fingerprint": "2f7341371e00f4dd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bachem.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee607431df1ce4a8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8be2d6eed7ad68bf", "scanner": "scanner-primary", "fingerprint": "ee607431df1ce4a8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-postfinance.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ee607431df1ce4a8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7a19d0024a792387", "scanner": "scanner-primary", "fingerprint": "ee607431df1ce4a8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-postfinance.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-db2253ca9e9c2db3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a6887743247eef8e", "scanner": "scanner-primary", "fingerprint": "db2253ca9e9c2db3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-postfinance.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-36d0bfa665e3acf0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7353ca36956df68c", "scanner": "scanner-primary", "fingerprint": "36d0bfa665e3acf0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hilcona.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-36d0bfa665e3acf0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5bc6572067c4e0ae", "scanner": "scanner-primary", "fingerprint": "36d0bfa665e3acf0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hilcona.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-50d75f758a16b58b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2f7b65896f2f268f", "scanner": "scanner-primary", "fingerprint": "50d75f758a16b58b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hilcona.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fc468e0d10232b6c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b90177605425861c", "scanner": "scanner-primary", "fingerprint": "fc468e0d10232b6c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fielmann.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-fc468e0d10232b6c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cdfdc0965f4a8b45", "scanner": "scanner-primary", "fingerprint": "fc468e0d10232b6c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fielmann.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-bf18f1a4ac8ade7f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "adad4b045c3928e8", "scanner": "scanner-primary", "fingerprint": "bf18f1a4ac8ade7f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fielmann.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2deae60d9c5fb954", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e958ce03f2cd566", "scanner": "scanner-primary", "fingerprint": "2deae60d9c5fb954", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-damiani.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2deae60d9c5fb954", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c5b14286be0f00e7", "scanner": "scanner-primary", "fingerprint": "2deae60d9c5fb954", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-damiani.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-aaddde86856144c3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "344057fe4f56360a", "scanner": "scanner-primary", "fingerprint": "aaddde86856144c3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-damiani.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9532f527ee98f21", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "83b3f0d19d559771", "scanner": "scanner-primary", "fingerprint": "b9532f527ee98f21", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-affoltern.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b9532f527ee98f21", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3578c0a6e92e12eb", "scanner": "scanner-primary", "fingerprint": "b9532f527ee98f21", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-affoltern.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ebc8446fa300c90b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a82daf1526a62a5a", "scanner": "scanner-primary", "fingerprint": "ebc8446fa300c90b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-affoltern.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b989b2badbdf4435", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5db8726c6e39f6a2", "scanner": "scanner-primary", "fingerprint": "b989b2badbdf4435", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ail.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b989b2badbdf4435", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "134c875c62d51aaf", "scanner": "scanner-primary", "fingerprint": "b989b2badbdf4435", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ail.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-fab10721c3f4b70d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7200011768d7f962", "scanner": "scanner-primary", "fingerprint": "fab10721c3f4b70d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ail.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-82a06dbdb0209ab9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b9dce729ff846489", "scanner": "scanner-primary", "fingerprint": "82a06dbdb0209ab9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-raiffeisen-vc.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-82a06dbdb0209ab9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cc5c08adcb6683f9", "scanner": "scanner-primary", "fingerprint": "82a06dbdb0209ab9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-raiffeisen-vc.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9488c8500cb48b40", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9141b9c8d9831669", "scanner": "scanner-primary", "fingerprint": "9488c8500cb48b40", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-raiffeisen-vc.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-22346b9382ffe85a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "63393f76403f6f98", "scanner": "scanner-primary", "fingerprint": "22346b9382ffe85a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hoval.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-22346b9382ffe85a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "41f877994bc5bc98", "scanner": "scanner-primary", "fingerprint": "22346b9382ffe85a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hoval.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-22e3eb7482933938", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "625e6785cf1bb481", "scanner": "scanner-primary", "fingerprint": "22e3eb7482933938", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hoval.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-26337ffc943f2603", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2479859268dad642", "scanner": "scanner-primary", "fingerprint": "26337ffc943f2603", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pole-sante-pays-enhaut.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-26337ffc943f2603", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "17fb3fac4164d2ef", "scanner": "scanner-primary", "fingerprint": "26337ffc943f2603", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pole-sante-pays-enhaut.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0b190ff71a8b19c9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "be305f1a57aee785", "scanner": "scanner-primary", "fingerprint": "0b190ff71a8b19c9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pole-sante-pays-enhaut.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5903c187d08bb8a7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "58611bb830ac7ba7", "scanner": "scanner-primary", "fingerprint": "5903c187d08bb8a7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-engadin-tourismus.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-5903c187d08bb8a7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d42d72270e85959c", "scanner": "scanner-primary", "fingerprint": "5903c187d08bb8a7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-engadin-tourismus.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-abba586bc0b54df4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3b4a0c3af1c76a11", "scanner": "scanner-primary", "fingerprint": "abba586bc0b54df4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-engadin-tourismus.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-17118a960c3bb6f8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "83ea6306c74ed178", "scanner": "scanner-primary", "fingerprint": "17118a960c3bb6f8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-convit.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-17118a960c3bb6f8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fe42e7ce801a276e", "scanner": "scanner-primary", "fingerprint": "17118a960c3bb6f8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-convit.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4f9ce59453855c8e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f03f7c9b1cd3f4f2", "scanner": "scanner-primary", "fingerprint": "4f9ce59453855c8e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-convit.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d3ec061bb0593b03", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c192387646e53b31", "scanner": "scanner-primary", "fingerprint": "d3ec061bb0593b03", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-integra-biosciences.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d3ec061bb0593b03", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5e09d476bdc971f0", "scanner": "scanner-primary", "fingerprint": "d3ec061bb0593b03", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-integra-biosciences.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-cd8b9ea0d72b3d92", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2e40b3223da4bce6", "scanner": "scanner-primary", "fingerprint": "cd8b9ea0d72b3d92", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-integra-biosciences.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e90842e167ad707e", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 191}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ab9c1269f3f77e87", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 194}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc9dd28b53b3cc0d", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 201}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc9dd28b53b3cc0d", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 260}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc9dd28b53b3cc0d", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 272}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc9dd28b53b3cc0d", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 349}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc9dd28b53b3cc0d", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 382}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc9dd28b53b3cc0d", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 415}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc9dd28b53b3cc0d", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 442}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f7735f6cf80c5c38", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1056}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f7735f6cf80c5c38", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1122}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f7735f6cf80c5c38", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1145}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f7735f6cf80c5c38", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1394}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f7735f6cf80c5c38", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1407}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f7735f6cf80c5c38", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1429}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e90842e167ad707e", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1518}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ab9c1269f3f77e87", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1521}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc9dd28b53b3cc0d", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1527}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4544a649b35fa68b", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1605}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4544a649b35fa68b", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1620}}}]}, {"ruleId": "scanner-ad6701f0a8405e22", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8384c23520d55657", "scanner": "scanner-primary", "fingerprint": "ad6701f0a8405e22", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b5a12a880c6213f4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e69e2bf7b3305f45", "scanner": "scanner-primary", "fingerprint": "b5a12a880c6213f4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ist.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b5a12a880c6213f4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e55db348a5931a29", "scanner": "scanner-primary", "fingerprint": "b5a12a880c6213f4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ist.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-875ed0bd79dc3ef7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "842a81f694647945", "scanner": "scanner-primary", "fingerprint": "875ed0bd79dc3ef7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ist.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4fe99c126192540b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f23b76baa9e1f469", "scanner": "scanner-primary", "fingerprint": "4fe99c126192540b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zurzach-care.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4fe99c126192540b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "21783228ab7f8e9b", "scanner": "scanner-primary", "fingerprint": "4fe99c126192540b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zurzach-care.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-564a20d7f9c8efa4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "81abf110d8f81971", "scanner": "scanner-primary", "fingerprint": "564a20d7f9c8efa4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zurzach-care.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-933955e42c3b0ccc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87fb6d9fa1b2a465", "scanner": "scanner-primary", "fingerprint": "933955e42c3b0ccc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-institution-lavigny.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-933955e42c3b0ccc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "445c83c083a310b6", "scanner": "scanner-primary", "fingerprint": "933955e42c3b0ccc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-institution-lavigny.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c56fc4f8d2761288", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "83c45b33c5748fc4", "scanner": "scanner-primary", "fingerprint": "c56fc4f8d2761288", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-institution-lavigny.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5d032371208dda2a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b892d063fcac5e03", "scanner": "scanner-primary", "fingerprint": "5d032371208dda2a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/crawler-health-monitor.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-5d032371208dda2a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "34a030bc3684875f", "scanner": "scanner-primary", "fingerprint": "5d032371208dda2a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/crawler-health-monitor.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-638f28169d84cd65", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "eeadd65fe7d5ff50", "scanner": "scanner-primary", "fingerprint": "638f28169d84cd65", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/crawler-health-monitor.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-137b911d61345bbb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "83b3319b500dcec1", "scanner": "scanner-primary", "fingerprint": "137b911d61345bbb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cambiavalute.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-137b911d61345bbb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2f2113376cb450a7", "scanner": "scanner-primary", "fingerprint": "137b911d61345bbb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cambiavalute.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-dbccdb191cc70662", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8b0cbffdec1f4f5e", "scanner": "scanner-primary", "fingerprint": "dbccdb191cc70662", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cambiavalute.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0b4d452e987ad6a6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e35646502f82d51", "scanner": "scanner-primary", "fingerprint": "0b4d452e987ad6a6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-michel-gruppe.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-0b4d452e987ad6a6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2cfd8c430a3ea207", "scanner": "scanner-primary", "fingerprint": "0b4d452e987ad6a6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-michel-gruppe.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f7ef864cfb3a0af1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b28b07b188e998bc", "scanner": "scanner-primary", "fingerprint": "f7ef864cfb3a0af1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-michel-gruppe.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a469aea5612baf5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7e1172c1f20d8e0b", "scanner": "scanner-primary", "fingerprint": "4a469aea5612baf5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mendrisio.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4a469aea5612baf5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b38aeeddbeb3e0b0", "scanner": "scanner-primary", "fingerprint": "4a469aea5612baf5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mendrisio.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-79ab5df8d33765bf", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4d4955540a50cd26", "scanner": "scanner-primary", "fingerprint": "79ab5df8d33765bf", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mendrisio.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e42b9b0021a8b03d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "619f3372fd26896c", "scanner": "scanner-primary", "fingerprint": "e42b9b0021a8b03d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kispi.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e42b9b0021a8b03d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "349fdd4d9c2c807d", "scanner": "scanner-primary", "fingerprint": "e42b9b0021a8b03d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kispi.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3cea2cb2df4f2803", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6eebaac3964e7357", "scanner": "scanner-primary", "fingerprint": "3cea2cb2df4f2803", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kispi.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d5e349ff9afa2697", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8f5c8d1d85a5e496", "scanner": "scanner-primary", "fingerprint": "d5e349ff9afa2697", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lis.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d5e349ff9afa2697", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "744ed2cbf4267ebb", "scanner": "scanner-primary", "fingerprint": "d5e349ff9afa2697", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lis.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-64b7cd660862b2fc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "406c63adde217fc8", "scanner": "scanner-primary", "fingerprint": "64b7cd660862b2fc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lis.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f487f21cd296cc0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e50a474cacc68792", "scanner": "scanner-primary", "fingerprint": "7f487f21cd296cc0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitex-ch.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7f487f21cd296cc0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6312d393fa928cb6", "scanner": "scanner-primary", "fingerprint": "7f487f21cd296cc0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitex-ch.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-051bdf80b3a69722", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "dbafc1519a00168d", "scanner": "scanner-primary", "fingerprint": "051bdf80b3a69722", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitex-ch.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd440a8109630c70", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9ca2251241bce7a3", "scanner": "scanner-primary", "fingerprint": "cd440a8109630c70", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-riri.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-cd440a8109630c70", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2db792c3e37e73eb", "scanner": "scanner-primary", "fingerprint": "cd440a8109630c70", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-riri.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-bb548cbde2d835fd", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "27434a648f27759c", "scanner": "scanner-primary", "fingerprint": "bb548cbde2d835fd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-riri.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-facbc1791638891c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0bb471aa903924d1", "scanner": "scanner-primary", "fingerprint": "facbc1791638891c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bally.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-facbc1791638891c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d9a591bb1d9b1d6b", "scanner": "scanner-primary", "fingerprint": "facbc1791638891c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bally.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9223569b412419ac", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7e91018d0acb75e0", "scanner": "scanner-primary", "fingerprint": "9223569b412419ac", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bally.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-41f03e3b8187a44e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6dbadfd61d20ce8a", "scanner": "scanner-primary", "fingerprint": "41f03e3b8187a44e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mabetex.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-41f03e3b8187a44e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7b9935297d70fa78", "scanner": "scanner-primary", "fingerprint": "41f03e3b8187a44e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mabetex.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-fb2e506d245ed927", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9d676fa54c87ffe2", "scanner": "scanner-primary", "fingerprint": "fb2e506d245ed927", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mabetex.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b8c3289ada5f5b8b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3bdc224770a62152", "scanner": "scanner-primary", "fingerprint": "b8c3289ada5f5b8b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ghol.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b8c3289ada5f5b8b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c23add98c289b939", "scanner": "scanner-primary", "fingerprint": "b8c3289ada5f5b8b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ghol.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4002d9eefb6d4655", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3248799a97ac732b", "scanner": "scanner-primary", "fingerprint": "4002d9eefb6d4655", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ghol.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b2ab6b68eac27cfc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "21b833475aa3dd2c", "scanner": "scanner-primary", "fingerprint": "b2ab6b68eac27cfc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hitachi-energy.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-b2ab6b68eac27cfc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0bb7498e1ceadbd8", "scanner": "scanner-primary", "fingerprint": "b2ab6b68eac27cfc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hitachi-energy.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-394df4aff58e1983", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "bebb9a2792f0d951", "scanner": "scanner-primary", "fingerprint": "394df4aff58e1983", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hitachi-energy.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cc6a26e9f448e01e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "52cfe6e45703d6b3", "scanner": "scanner-primary", "fingerprint": "cc6a26e9f448e01e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-supsi.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-cc6a26e9f448e01e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2c1343b5c01da699", "scanner": "scanner-primary", "fingerprint": "cc6a26e9f448e01e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-supsi.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-705d3dd2a79eae81", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a6c82b5feae6567b", "scanner": "scanner-primary", "fingerprint": "705d3dd2a79eae81", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-supsi.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b334185630e40403", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f9da010c4a59bcad", "scanner": "scanner-primary", "fingerprint": "b334185630e40403", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-abbott.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b334185630e40403", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c8a929577a6889e5", "scanner": "scanner-primary", "fingerprint": "b334185630e40403", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-abbott.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1283586476080c20", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "cc898c42ec893288", "scanner": "scanner-primary", "fingerprint": "1283586476080c20", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-abbott.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f6d30d27230eb4d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "af5236cb889573cb", "scanner": "scanner-primary", "fingerprint": "1f6d30d27230eb4d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-leukerbad-clinic.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1f6d30d27230eb4d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "31c23265bfa842a6", "scanner": "scanner-primary", "fingerprint": "1f6d30d27230eb4d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-leukerbad-clinic.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d87e34ec05a4a5d3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "03f72e2e6362267d", "scanner": "scanner-primary", "fingerprint": "d87e34ec05a4a5d3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-leukerbad-clinic.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-19784d0dbd4f4036", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "759744adff19d8b3", "scanner": "scanner-primary", "fingerprint": "19784d0dbd4f4036", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/funnel-metrics-snapshot.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-19784d0dbd4f4036", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7c3ba3635546a3ae", "scanner": "scanner-primary", "fingerprint": "19784d0dbd4f4036", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/funnel-metrics-snapshot.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-8f78ce954cfe6ce0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "046cfcabb09bc2e1", "scanner": "scanner-primary", "fingerprint": "8f78ce954cfe6ce0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/funnel-metrics-snapshot.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f69968e758e2c197", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "68221beddc6f5237", "scanner": "scanner-primary", "fingerprint": "f69968e758e2c197", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksa.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f69968e758e2c197", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "70fd97e9a3b1b7a1", "scanner": "scanner-primary", "fingerprint": "f69968e758e2c197", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksa.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d9592b663f697e7a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "95be0b87d53234b3", "scanner": "scanner-primary", "fingerprint": "d9592b663f697e7a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksa.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bdd7110a50766fbe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2f7915012b2ebea7", "scanner": "scanner-primary", "fingerprint": "bdd7110a50766fbe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-generale-beaulieu.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-bdd7110a50766fbe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "46af2a429d1f4eca", "scanner": "scanner-primary", "fingerprint": "bdd7110a50766fbe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-generale-beaulieu.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7a2bba0a797fd620", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6fb7d8a6e649813f", "scanner": "scanner-primary", "fingerprint": "7a2bba0a797fd620", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-generale-beaulieu.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ba5606c2dbc2483c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bac4abacbd3742d5", "scanner": "scanner-primary", "fingerprint": "ba5606c2dbc2483c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-riveneuve.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ba5606c2dbc2483c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d10ef60a1d43c12d", "scanner": "scanner-primary", "fingerprint": "ba5606c2dbc2483c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-riveneuve.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-376a4dd54f550910", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "19cf0763691f2e97", "scanner": "scanner-primary", "fingerprint": "376a4dd54f550910", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-riveneuve.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e66fa93f1257ba0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "37a208b44173feb4", "scanner": "scanner-primary", "fingerprint": "e66fa93f1257ba0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mikron.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e66fa93f1257ba0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1d3b4c66beb5af0", "scanner": "scanner-primary", "fingerprint": "e66fa93f1257ba0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mikron.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0c9abc958d5236a5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2e3ec751271adaba", "scanner": "scanner-primary", "fingerprint": "0c9abc958d5236a5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mikron.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d855f3e77a28c94", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "278d024ad6b17caa", "scanner": "scanner-primary", "fingerprint": "1d855f3e77a28c94", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-de-moutier.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1d855f3e77a28c94", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f9c0fa6df9bb3a62", "scanner": "scanner-primary", "fingerprint": "1d855f3e77a28c94", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-de-moutier.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f0817c17e8fdd940", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ec577facd1d4fabb", "scanner": "scanner-primary", "fingerprint": "f0817c17e8fdd940", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-de-moutier.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-02a446a3020ea5d0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a584b4b16bd50a86", "scanner": "scanner-primary", "fingerprint": "02a446a3020ea5d0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-canton-valais.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-02a446a3020ea5d0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cf7f34e887717ead", "scanner": "scanner-primary", "fingerprint": "02a446a3020ea5d0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-canton-valais.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a0f04bd77da2e456", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c79c2cb7f8aad1cd", "scanner": "scanner-primary", "fingerprint": "a0f04bd77da2e456", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-canton-valais.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eb1fa410514d1c3a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "98d032ddb4ef597a", "scanner": "scanner-primary", "fingerprint": "eb1fa410514d1c3a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksgl.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-eb1fa410514d1c3a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87c62e64b9447718", "scanner": "scanner-primary", "fingerprint": "eb1fa410514d1c3a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksgl.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a71a026969fb2ba9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a3e642eee386bd58", "scanner": "scanner-primary", "fingerprint": "a71a026969fb2ba9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksgl.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d993312387c82409", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "924f9c4fb979d766", "scanner": "scanner-primary", "fingerprint": "d993312387c82409", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-concara.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d993312387c82409", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3dc4845da230fc45", "scanner": "scanner-primary", "fingerprint": "d993312387c82409", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-concara.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-36a75c03a1d6a945", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5c2a7fc58da6febc", "scanner": "scanner-primary", "fingerprint": "36a75c03a1d6a945", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-concara.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-409caa057556bed6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "edbaabb6aca771e3", "scanner": "scanner-primary", "fingerprint": "409caa057556bed6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mtic.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-409caa057556bed6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "405cac2eefe6d33d", "scanner": "scanner-primary", "fingerprint": "409caa057556bed6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mtic.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d2f7d9e4166ff0ae", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "23a11117eff6daa1", "scanner": "scanner-primary", "fingerprint": "d2f7d9e4166ff0ae", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mtic.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-554ffa595c485b3d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a739d67815c22ab8", "scanner": "scanner-primary", "fingerprint": "554ffa595c485b3d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kantonsspital-uri.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-554ffa595c485b3d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "12cabd441704f703", "scanner": "scanner-primary", "fingerprint": "554ffa595c485b3d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kantonsspital-uri.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3b0d7d714de41fef", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1d0e4185e5a6023a", "scanner": "scanner-primary", "fingerprint": "3b0d7d714de41fef", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kantonsspital-uri.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8b1f3e82ddda833b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "02dc2fa1d7b0c177", "scanner": "scanner-primary", "fingerprint": "8b1f3e82ddda833b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/analytics.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8b1f3e82ddda833b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "71f92ce880287dfa", "scanner": "scanner-primary", "fingerprint": "8b1f3e82ddda833b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/analytics.yml"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-8b1f3e82ddda833b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "96fa477763f7f7ac", "scanner": "scanner-primary", "fingerprint": "8b1f3e82ddda833b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/analytics.yml"}, "region": {"startLine": 346}}}]}, {"ruleId": "scanner-e01173d32ad432b4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a30159be44c168ce", "scanner": "scanner-primary", "fingerprint": "e01173d32ad432b4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-thurklinik.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e01173d32ad432b4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ea57fbfcfa40a1ee", "scanner": "scanner-primary", "fingerprint": "e01173d32ad432b4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-thurklinik.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b9b9c5972718f0bb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "25bbcdf26505c751", "scanner": "scanner-primary", "fingerprint": "b9b9c5972718f0bb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-thurklinik.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d53f157be5d77acb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2f621846e72d9724", "scanner": "scanner-primary", "fingerprint": "d53f157be5d77acb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hofweissbad.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d53f157be5d77acb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d0e9c4c213a213c3", "scanner": "scanner-primary", "fingerprint": "d53f157be5d77acb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hofweissbad.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a3d46a887da93ce4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c41783f4ea391dde", "scanner": "scanner-primary", "fingerprint": "a3d46a887da93ce4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hofweissbad.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5bb1fec7561026de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1009bdad04e33036", "scanner": "scanner-primary", "fingerprint": "5bb1fec7561026de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-siloah.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-5bb1fec7561026de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6867a95954a5dc31", "scanner": "scanner-primary", "fingerprint": "5bb1fec7561026de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-siloah.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-77be69670555ed7a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9816bd46df42527e", "scanner": "scanner-primary", "fingerprint": "77be69670555ed7a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-siloah.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-48123938c49d30bc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9f3112a9768f8712", "scanner": "scanner-primary", "fingerprint": "48123938c49d30bc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fart.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-48123938c49d30bc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7a447339e0f1eff7", "scanner": "scanner-primary", "fingerprint": "48123938c49d30bc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fart.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e00cd58473884f7c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "226557645fc7bfac", "scanner": "scanner-primary", "fingerprint": "e00cd58473884f7c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fart.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4850f2488b52f0ce", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d0b39edd25f072ff", "scanner": "scanner-primary", "fingerprint": "4850f2488b52f0ce", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-skyguide.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4850f2488b52f0ce", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "88623ba68504c253", "scanner": "scanner-primary", "fingerprint": "4850f2488b52f0ce", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-skyguide.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-00f177b3160a0636", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "63d7080e149235f6", "scanner": "scanner-primary", "fingerprint": "00f177b3160a0636", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-skyguide.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5f536092e01c78bb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "249683dc07178af3", "scanner": "scanner-primary", "fingerprint": "5f536092e01c78bb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backfill-expired-from-history.yml"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-5f536092e01c78bb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d72c34ce1e646edc", "scanner": "scanner-primary", "fingerprint": "5f536092e01c78bb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backfill-expired-from-history.yml"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-b8e6fe8e5e77ebbe", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5de796c025bc7be7", "scanner": "scanner-primary", "fingerprint": "b8e6fe8e5e77ebbe", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backfill-expired-from-history.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a97aa247171f0c4b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "74f9af0832cea17a", "scanner": "scanner-primary", "fingerprint": "a97aa247171f0c4b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksow.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a97aa247171f0c4b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fd8ad7356f659713", "scanner": "scanner-primary", "fingerprint": "a97aa247171f0c4b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksow.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7d460a743b42a7c1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9c1255fd0f49fff9", "scanner": "scanner-primary", "fingerprint": "7d460a743b42a7c1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksow.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-18377973ac09cfbe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "86d5c2c51853d127", "scanner": "scanner-primary", "fingerprint": "18377973ac09cfbe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinica-holistica-engiadina.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-18377973ac09cfbe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dcb753ba9707dc77", "scanner": "scanner-primary", "fingerprint": "18377973ac09cfbe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinica-holistica-engiadina.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-cc3992a5534e892f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5d6cce062eb78d49", "scanner": "scanner-primary", "fingerprint": "cc3992a5534e892f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinica-holistica-engiadina.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0a92541f4a7dc896", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e0fc107f3c90aad", "scanner": "scanner-primary", "fingerprint": "0a92541f4a7dc896", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-balgrist.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-0a92541f4a7dc896", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "42e7977fe0f630ea", "scanner": "scanner-primary", "fingerprint": "0a92541f4a7dc896", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-balgrist.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ce579ee341f60654", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4547034972e99b5d", "scanner": "scanner-primary", "fingerprint": "ce579ee341f60654", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-balgrist.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-50dfc33a329a203e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5a249563cd0e2150", "scanner": "scanner-primary", "fingerprint": "50dfc33a329a203e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tertianum.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-50dfc33a329a203e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2a4699f491eda9fe", "scanner": "scanner-primary", "fingerprint": "50dfc33a329a203e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tertianum.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-703f23d75480b900", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "fcea426f3bc0e6a8", "scanner": "scanner-primary", "fingerprint": "703f23d75480b900", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tertianum.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ad00a5c09195d016", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "99ed64bde7f7b1f2", "scanner": "scanner-primary", "fingerprint": "ad00a5c09195d016", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kliniken-valens.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ad00a5c09195d016", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "32b2ab5b4d0e2480", "scanner": "scanner-primary", "fingerprint": "ad00a5c09195d016", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kliniken-valens.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-75337af52cf99ddc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2c64dc8de6eb6354", "scanner": "scanner-primary", "fingerprint": "75337af52cf99ddc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kliniken-valens.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f66bf362bf10c12", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b9967dad1ca698f0", "scanner": "scanner-primary", "fingerprint": "6f66bf362bf10c12", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csd-engineers.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6f66bf362bf10c12", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f9d8ad2a0981938", "scanner": "scanner-primary", "fingerprint": "6f66bf362bf10c12", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csd-engineers.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-58efaf0a8bfabce9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c22fdbd37f029ffd", "scanner": "scanner-primary", "fingerprint": "58efaf0a8bfabce9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csd-engineers.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b0ba24dd06672b0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c0ef8d2a0830ec42", "scanner": "scanner-primary", "fingerprint": "b0ba24dd06672b0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hirslanden.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b0ba24dd06672b0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "31a42fd83c203c3c", "scanner": "scanner-primary", "fingerprint": "b0ba24dd06672b0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hirslanden.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-193407fc7d40fd82", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5b839bc95dcb3b99", "scanner": "scanner-primary", "fingerprint": "193407fc7d40fd82", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hirslanden.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4eddccf4fb69eb1f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2fbad3a32027a4bb", "scanner": "scanner-primary", "fingerprint": "4eddccf4fb69eb1f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bcvs.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4eddccf4fb69eb1f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8d28ec70f0d0ca5e", "scanner": "scanner-primary", "fingerprint": "4eddccf4fb69eb1f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bcvs.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-8972d700e26ba838", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c813b46f1da33654", "scanner": "scanner-primary", "fingerprint": "8972d700e26ba838", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bcvs.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b82808f0e207032c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "65b9e045bd900261", "scanner": "scanner-primary", "fingerprint": "b82808f0e207032c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-emil-frey.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b82808f0e207032c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fef4f21b392f159a", "scanner": "scanner-primary", "fingerprint": "b82808f0e207032c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-emil-frey.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1846d2193a1e5d06", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "95d83bd8eb0316aa", "scanner": "scanner-primary", "fingerprint": "1846d2193a1e5d06", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-emil-frey.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bc4d9b8248b7d18c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "716dbd8531c14058", "scanner": "scanner-primary", "fingerprint": "bc4d9b8248b7d18c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bkw.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-bc4d9b8248b7d18c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9710c1f17bebf439", "scanner": "scanner-primary", "fingerprint": "bc4d9b8248b7d18c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bkw.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-150018e2c524642f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "39dfd715eab8d0a9", "scanner": "scanner-primary", "fingerprint": "150018e2c524642f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bkw.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0fe154e51808ebbe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7d6f0c85e05e573d", "scanner": "scanner-primary", "fingerprint": "0fe154e51808ebbe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-novelis.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-0fe154e51808ebbe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2d84ffd3f2264d7c", "scanner": "scanner-primary", "fingerprint": "0fe154e51808ebbe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-novelis.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-bb44b56afde3f125", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "245e88a85109b7f3", "scanner": "scanner-primary", "fingerprint": "bb44b56afde3f125", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-novelis.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b8214cdb77e28014", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9199aede47f1d1f2", "scanner": "scanner-primary", "fingerprint": "b8214cdb77e28014", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-firestore-rules.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-b8214cdb77e28014", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6b631d5c2b252308", "scanner": "scanner-primary", "fingerprint": "b8214cdb77e28014", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-firestore-rules.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-d76655e23ff71b4e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6bcedef2d9d854f0", "scanner": "scanner-primary", "fingerprint": "d76655e23ff71b4e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate-webcams-nightly.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-d76655e23ff71b4e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "983400b9273fa761", "scanner": "scanner-primary", "fingerprint": "d76655e23ff71b4e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate-webcams-nightly.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-d76655e23ff71b4e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "53c5d8a21753ac23", "scanner": "scanner-primary", "fingerprint": "d76655e23ff71b4e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/validate-webcams-nightly.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-19cda362a660010a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b7aa4028c33306b5", "scanner": "scanner-primary", "fingerprint": "19cda362a660010a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vaxcyte.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-19cda362a660010a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "47e26e15390d110a", "scanner": "scanner-primary", "fingerprint": "19cda362a660010a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vaxcyte.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-261b4c537b3e0348", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f5e9727967dd6bb1", "scanner": "scanner-primary", "fingerprint": "261b4c537b3e0348", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vaxcyte.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6cb3746fed110e9a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f280c4215c6c2d53", "scanner": "scanner-primary", "fingerprint": "6cb3746fed110e9a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-villa-im-park.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6cb3746fed110e9a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d449bf5384735bc3", "scanner": "scanner-primary", "fingerprint": "6cb3746fed110e9a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-villa-im-park.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-120fc7041932e1f4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4d349b0715838bfa", "scanner": "scanner-primary", "fingerprint": "120fc7041932e1f4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-villa-im-park.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f2d18e731714353f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3dfc21d98b109426", "scanner": "scanner-primary", "fingerprint": "f2d18e731714353f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/adsense-prereview.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-f2d18e731714353f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "201291491daf911a", "scanner": "scanner-primary", "fingerprint": "f2d18e731714353f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/adsense-prereview.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-f2d18e731714353f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7f2d1d0c8e3b15b2", "scanner": "scanner-primary", "fingerprint": "f2d18e731714353f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/adsense-prereview.yml"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-dfb9b724c98f3f70", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3be608a442bdaaca", "scanner": "scanner-primary", "fingerprint": "dfb9b724c98f3f70", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-nestle.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-dfb9b724c98f3f70", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "465c08734657ab81", "scanner": "scanner-primary", "fingerprint": "dfb9b724c98f3f70", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-nestle.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0239f7f38dd1d00d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "918c71ad8c1547cc", "scanner": "scanner-primary", "fingerprint": "0239f7f38dd1d00d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-nestle.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a964183a4ed8282", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6a2215220c509e84", "scanner": "scanner-primary", "fingerprint": "8a964183a4ed8282", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alprose.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8a964183a4ed8282", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d172f7236a3ec58b", "scanner": "scanner-primary", "fingerprint": "8a964183a4ed8282", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alprose.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7cf3889a4f89cec9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c827105aa5cd7430", "scanner": "scanner-primary", "fingerprint": "7cf3889a4f89cec9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alprose.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ec3be02e1310b391", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6b34d2d063d73c83", "scanner": "scanner-primary", "fingerprint": "ec3be02e1310b391", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-denner.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ec3be02e1310b391", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5d861e4aa6331343", "scanner": "scanner-primary", "fingerprint": "ec3be02e1310b391", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-denner.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-cbda9bb14936c36c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "82600a93a7c80fb0", "scanner": "scanner-primary", "fingerprint": "cbda9bb14936c36c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-denner.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-19bdd72249ae1dc5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b5eb95a5061a5fca", "scanner": "scanner-primary", "fingerprint": "19bdd72249ae1dc5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-guess.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-19bdd72249ae1dc5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6a7e1e7f06360222", "scanner": "scanner-primary", "fingerprint": "19bdd72249ae1dc5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-guess.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4a4c087e9ee05ac5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5b348bfb9b074f59", "scanner": "scanner-primary", "fingerprint": "4a4c087e9ee05ac5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-guess.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f5786b87c64aabc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "234422b2131032f6", "scanner": "scanner-primary", "fingerprint": "1f5786b87c64aabc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-therapiezentrum-meggen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1f5786b87c64aabc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c11db116849dec82", "scanner": "scanner-primary", "fingerprint": "1f5786b87c64aabc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-therapiezentrum-meggen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2ab5958e51ba9523", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1df35abfed036786", "scanner": "scanner-primary", "fingerprint": "2ab5958e51ba9523", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-therapiezentrum-meggen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a8e1ea176b8211bc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ba399187824ed46", "scanner": "scanner-primary", "fingerprint": "a8e1ea176b8211bc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-flury-stiftung.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a8e1ea176b8211bc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c868d0cf9f825f8f", "scanner": "scanner-primary", "fingerprint": "a8e1ea176b8211bc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-flury-stiftung.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0d43b124459b4609", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9d05b8256eedca10", "scanner": "scanner-primary", "fingerprint": "0d43b124459b4609", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-flury-stiftung.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4089dfd854811b1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bba5c10bcd38b118", "scanner": "scanner-primary", "fingerprint": "4089dfd854811b1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-knowledge-lab.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-4089dfd854811b1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bd50942b2a26bce0", "scanner": "scanner-primary", "fingerprint": "4089dfd854811b1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-knowledge-lab.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-d6b2e372ec98d0e9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9ef1d390ca4b9873", "scanner": "scanner-primary", "fingerprint": "d6b2e372ec98d0e9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-knowledge-lab.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-05f21e9c9abb3f46", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b406197048052a6f", "scanner": "scanner-primary", "fingerprint": "05f21e9c9abb3f46", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refine-url-first-seen.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-05f21e9c9abb3f46", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2c9976c905627743", "scanner": "scanner-primary", "fingerprint": "05f21e9c9abb3f46", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refine-url-first-seen.yml"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-26e75465f623e7ec", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "abf2ecb7ff06905b", "scanner": "scanner-primary", "fingerprint": "26e75465f623e7ec", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refine-url-first-seen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0b7b5f54d659e6ea", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cdf20e9604dea3b3", "scanner": "scanner-primary", "fingerprint": "0b7b5f54d659e6ea", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publisher-blast.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-0b7b5f54d659e6ea", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a382f1a3eb89ee91", "scanner": "scanner-primary", "fingerprint": "0b7b5f54d659e6ea", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publisher-blast.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-4d51c098b63393fe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "13e38dfc395fd657", "scanner": "scanner-primary", "fingerprint": "4d51c098b63393fe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-lachen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4d51c098b63393fe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0b5da53c6f3170f1", "scanner": "scanner-primary", "fingerprint": "4d51c098b63393fe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-lachen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-df2356ee096bc879", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3d891cf94fab2989", "scanner": "scanner-primary", "fingerprint": "df2356ee096bc879", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-lachen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1bd0ec56fc7b6b79", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fb59b719d5644ddf", "scanner": "scanner-primary", "fingerprint": "1bd0ec56fc7b6b79", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-caritas-schweiz.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1bd0ec56fc7b6b79", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "581445c08134b859", "scanner": "scanner-primary", "fingerprint": "1bd0ec56fc7b6b79", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-caritas-schweiz.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-22bf51eeb034b2ca", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6fbddbc7bc0640dc", "scanner": "scanner-primary", "fingerprint": "22bf51eeb034b2ca", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-caritas-schweiz.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a5fa532ded13149f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "57240f73eb59a045", "scanner": "scanner-primary", "fingerprint": "a5fa532ded13149f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sonnweid.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a5fa532ded13149f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1c18c154c70dc5e5", "scanner": "scanner-primary", "fingerprint": "a5fa532ded13149f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sonnweid.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-70fff6b4c9f6705f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "658a6f5fda357925", "scanner": "scanner-primary", "fingerprint": "70fff6b4c9f6705f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sonnweid.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e253efe12faeffc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "65d5f5727f825014", "scanner": "scanner-primary", "fingerprint": "3e253efe12faeffc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-apg-sga.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-3e253efe12faeffc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c975c768df2bade5", "scanner": "scanner-primary", "fingerprint": "3e253efe12faeffc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-apg-sga.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6e7702776bb63ba1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "135a4723c2a4c669", "scanner": "scanner-primary", "fingerprint": "6e7702776bb63ba1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-apg-sga.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8eb3f4a83c466682", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "023bbd9d2a8e01dd", "scanner": "scanner-primary", "fingerprint": "8eb3f4a83c466682", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-noslash-keep.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fcbf08100e893421", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3996019acb8dd1d5", "scanner": "scanner-primary", "fingerprint": "fcbf08100e893421", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-nidwalden.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-fcbf08100e893421", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6d19a6d98472e3df", "scanner": "scanner-primary", "fingerprint": "fcbf08100e893421", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-nidwalden.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-432bcd901ce4a8a4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "05460126a1e0fd70", "scanner": "scanner-primary", "fingerprint": "432bcd901ce4a8a4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-nidwalden.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84b771cc775743e5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c5b6f788d6159bb8", "scanner": "scanner-primary", "fingerprint": "84b771cc775743e5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stryker.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-84b771cc775743e5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7694ed1b8dc95644", "scanner": "scanner-primary", "fingerprint": "84b771cc775743e5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stryker.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-81a5364ad5b773ec", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "028e17b907dcb040", "scanner": "scanner-primary", "fingerprint": "81a5364ad5b773ec", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stryker.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a48eeee9c7ef04e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5b158a5c98d1cd00", "scanner": "scanner-primary", "fingerprint": "1a48eeee9c7ef04e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-trumpf.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1a48eeee9c7ef04e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6d56a1e646cb5a0d", "scanner": "scanner-primary", "fingerprint": "1a48eeee9c7ef04e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-trumpf.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-cf14386bd73a1ed0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "149b67e742d376df", "scanner": "scanner-primary", "fingerprint": "cf14386bd73a1ed0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-trumpf.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eb8b26123e475d00", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6489bd0f10384504", "scanner": "scanner-primary", "fingerprint": "eb8b26123e475d00", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-logitech.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-eb8b26123e475d00", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6d1cc0a9168018e3", "scanner": "scanner-primary", "fingerprint": "eb8b26123e475d00", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-logitech.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-5b3cec7ef1a02c2c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "52d79f8a5756a1e2", "scanner": "scanner-primary", "fingerprint": "5b3cec7ef1a02c2c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-logitech.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-325ef3202b8892c6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5efcb591c3b9604b", "scanner": "scanner-primary", "fingerprint": "325ef3202b8892c6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-jysk.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-325ef3202b8892c6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7b484b8f0cb0eeb0", "scanner": "scanner-primary", "fingerprint": "325ef3202b8892c6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-jysk.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-bfcb4350c7e6853b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d545d93aef74470d", "scanner": "scanner-primary", "fingerprint": "bfcb4350c7e6853b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-jysk.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5159cc42f6486f26", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d241ea9ff98d413d", "scanner": "scanner-primary", "fingerprint": "5159cc42f6486f26", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-livingcircle.yml"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-5159cc42f6486f26", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5be7787f2bb5b73d", "scanner": "scanner-primary", "fingerprint": "5159cc42f6486f26", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-livingcircle.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-84514b0b36b47aed", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ffcbf18b08187a72", "scanner": "scanner-primary", "fingerprint": "84514b0b36b47aed", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-livingcircle.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-051cc9f04667df8f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ce351d3e5773289a", "scanner": "scanner-primary", "fingerprint": "051cc9f04667df8f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-adus-klinik.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-051cc9f04667df8f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "366f4237803c246d", "scanner": "scanner-primary", "fingerprint": "051cc9f04667df8f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-adus-klinik.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-69260e85a2284173", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a37f2bf7cb8bd58c", "scanner": "scanner-primary", "fingerprint": "69260e85a2284173", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-adus-klinik.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d669314318fa82a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ad144e942c4d9f95", "scanner": "scanner-primary", "fingerprint": "1d669314318fa82a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hoch-health.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1d669314318fa82a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e37a730d7e0c49b2", "scanner": "scanner-primary", "fingerprint": "1d669314318fa82a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hoch-health.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4ccecc194f4acd4f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "979a7b31369dab39", "scanner": "scanner-primary", "fingerprint": "4ccecc194f4acd4f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hoch-health.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b2acf09e633fdd0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "167f2fbc9ada1bda", "scanner": "scanner-primary", "fingerprint": "b2acf09e633fdd0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-oerlikon.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b2acf09e633fdd0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fe6399f91fa5f5b8", "scanner": "scanner-primary", "fingerprint": "b2acf09e633fdd0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-oerlikon.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c8ab72bba1a80299", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c29342d93510956f", "scanner": "scanner-primary", "fingerprint": "c8ab72bba1a80299", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-oerlikon.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4dc2771a08422e77", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a8fc72bc89a3ece4", "scanner": "scanner-primary", "fingerprint": "4dc2771a08422e77", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-sonnenhalde.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4dc2771a08422e77", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4ce9224f9626cfd5", "scanner": "scanner-primary", "fingerprint": "4dc2771a08422e77", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-sonnenhalde.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3361f7f654ed64ef", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "160d1b2529f79b64", "scanner": "scanner-primary", "fingerprint": "3361f7f654ed64ef", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-sonnenhalde.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6085a2d84d9e25e6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2bb67923abdd866e", "scanner": "scanner-primary", "fingerprint": "6085a2d84d9e25e6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-weather.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-6085a2d84d9e25e6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "66ebd30b51c4c5bd", "scanner": "scanner-primary", "fingerprint": "6085a2d84d9e25e6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-weather.yml"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-2fef13587842e1c9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9fdc8bc281be03ae", "scanner": "scanner-primary", "fingerprint": "2fef13587842e1c9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-weather.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c491739bec6c5c10", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a6a9930888ab58bc", "scanner": "scanner-primary", "fingerprint": "c491739bec6c5c10", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-svar-spitalverbund-ar.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c491739bec6c5c10", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0e5bae4205517d15", "scanner": "scanner-primary", "fingerprint": "c491739bec6c5c10", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-svar-spitalverbund-ar.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-bf42b5a00f173a5c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a8476a3faf23f573", "scanner": "scanner-primary", "fingerprint": "bf42b5a00f173a5c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-svar-spitalverbund-ar.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-81cd490e2689e8e0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "afa55550f46c1dbd", "scanner": "scanner-primary", "fingerprint": "81cd490e2689e8e0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mkspamp.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-81cd490e2689e8e0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d4c8647a215f06b4", "scanner": "scanner-primary", "fingerprint": "81cd490e2689e8e0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mkspamp.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-97392023b93aafd8", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e19a7a7b9fd94442", "scanner": "scanner-primary", "fingerprint": "97392023b93aafd8", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-mkspamp.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c91e55ef39bfadc1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6925cbf81106f9c7", "scanner": "scanner-primary", "fingerprint": "c91e55ef39bfadc1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-article-trending.yml"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-c91e55ef39bfadc1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "99e756583c7fdaa0", "scanner": "scanner-primary", "fingerprint": "c91e55ef39bfadc1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-article-trending.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-4d867be3b78b18c2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "bad2232164f44ace", "scanner": "scanner-primary", "fingerprint": "4d867be3b78b18c2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-article-trending.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-558584421097fac9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b33ab85bd9987646", "scanner": "scanner-primary", "fingerprint": "558584421097fac9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zurich.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-558584421097fac9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1432f177044145d0", "scanner": "scanner-primary", "fingerprint": "558584421097fac9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zurich.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e5922ac44138ac6e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2b1454afb6af8d68", "scanner": "scanner-primary", "fingerprint": "e5922ac44138ac6e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zurich.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c33c5970d63d1f22", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8b2fc735126c058e", "scanner": "scanner-primary", "fingerprint": "c33c5970d63d1f22", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fusalp.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c33c5970d63d1f22", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "afe0feba4185ae56", "scanner": "scanner-primary", "fingerprint": "c33c5970d63d1f22", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fusalp.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b27fbf27cc6376f7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7e28a873fbc4ea88", "scanner": "scanner-primary", "fingerprint": "b27fbf27cc6376f7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fusalp.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-823042691f754c89", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "91fd317fd7f6d4be", "scanner": "scanner-primary", "fingerprint": "823042691f754c89", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-chicco-doro.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-823042691f754c89", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e9b5a1e5b04995fc", "scanner": "scanner-primary", "fingerprint": "823042691f754c89", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-chicco-doro.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4aaac3f30029765f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "55e233516f1362ce", "scanner": "scanner-primary", "fingerprint": "4aaac3f30029765f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-chicco-doro.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-54a826439d3015e0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6f3496bac87ec12f", "scanner": "scanner-primary", "fingerprint": "54a826439d3015e0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-reboot-monkey.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-54a826439d3015e0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b4f0b4fa8590cb74", "scanner": "scanner-primary", "fingerprint": "54a826439d3015e0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-reboot-monkey.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-630a8b38ff00890e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8c9a1003c19b71b2", "scanner": "scanner-primary", "fingerprint": "630a8b38ff00890e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-reboot-monkey.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a65743b6cfa64258", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a71024491d67bbeb", "scanner": "scanner-primary", "fingerprint": "a65743b6cfa64258", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/unstick-pages.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f191fb55cd69c7fa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "db4910756926fefe", "scanner": "scanner-primary", "fingerprint": "f191fb55cd69c7fa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-franklin-university.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f191fb55cd69c7fa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8856f5d4343bc8a0", "scanner": "scanner-primary", "fingerprint": "f191fb55cd69c7fa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-franklin-university.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-79269267bcde7d57", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a5d4bff7994fc585", "scanner": "scanner-primary", "fingerprint": "79269267bcde7d57", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-franklin-university.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-67b9a1f0284826b3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5d69f2aa5e41aaf3", "scanner": "scanner-primary", "fingerprint": "67b9a1f0284826b3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publisher-jobs-sync.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-67b9a1f0284826b3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "917a6e808cd59b53", "scanner": "scanner-primary", "fingerprint": "67b9a1f0284826b3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publisher-jobs-sync.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-6786131e08aa1f43", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "bf1e222d7a128f7b", "scanner": "scanner-primary", "fingerprint": "6786131e08aa1f43", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publisher-jobs-sync.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7d1223a26ba2f095", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c9238d91ad395229", "scanner": "scanner-primary", "fingerprint": "7d1223a26ba2f095", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hrc.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7d1223a26ba2f095", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b5fb7ccb0f5458a2", "scanner": "scanner-primary", "fingerprint": "7d1223a26ba2f095", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hrc.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f2f5153a680bcf9f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "573e3cb88ec9eb9a", "scanner": "scanner-primary", "fingerprint": "f2f5153a680bcf9f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hrc.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-38b0fd91869661f4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f303444a7e8d1b4", "scanner": "scanner-primary", "fingerprint": "38b0fd91869661f4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bachtelen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-38b0fd91869661f4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "89ee2fefeb594424", "scanner": "scanner-primary", "fingerprint": "38b0fd91869661f4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bachtelen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ba9393adf5eb17d6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f4dca4f35cba76d2", "scanner": "scanner-primary", "fingerprint": "ba9393adf5eb17d6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bachtelen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3dbd8be490e6deef", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b492d6eeaa06862d", "scanner": "scanner-primary", "fingerprint": "3dbd8be490e6deef", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sbb.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-3dbd8be490e6deef", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b255d74a0974fed8", "scanner": "scanner-primary", "fingerprint": "3dbd8be490e6deef", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sbb.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-91afc50b9ebb6d2d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "40549eccbd6318c1", "scanner": "scanner-primary", "fingerprint": "91afc50b9ebb6d2d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sbb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a399fc955a3c26f5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2919a73e90d6b7bd", "scanner": "scanner-primary", "fingerprint": "a399fc955a3c26f5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-constellium.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a399fc955a3c26f5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "277f9138245e385e", "scanner": "scanner-primary", "fingerprint": "a399fc955a3c26f5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-constellium.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4136badb6f5cc038", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "88d7d06a85ed41fb", "scanner": "scanner-primary", "fingerprint": "4136badb6f5cc038", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-constellium.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-82e03ed159a05823", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bfdd83994b94829c", "scanner": "scanner-primary", "fingerprint": "82e03ed159a05823", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-thurgau.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-82e03ed159a05823", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e716c857efddc7c1", "scanner": "scanner-primary", "fingerprint": "82e03ed159a05823", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-thurgau.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f6fbcd45fa76ffe2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a348af346d550bd5", "scanner": "scanner-primary", "fingerprint": "f6fbcd45fa76ffe2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-thurgau.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ebfe44c49c2f0c59", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c76f676658daacb4", "scanner": "scanner-primary", "fingerprint": "ebfe44c49c2f0c59", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-citta-di-bellinzona.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ebfe44c49c2f0c59", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9824a1c6e22605fb", "scanner": "scanner-primary", "fingerprint": "ebfe44c49c2f0c59", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-citta-di-bellinzona.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-19bad50b69ddf85e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "347a32978b87a48e", "scanner": "scanner-primary", "fingerprint": "19bad50b69ddf85e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-citta-di-bellinzona.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ef369f241921a7c6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "970774fe3b3e496d", "scanner": "scanner-primary", "fingerprint": "ef369f241921a7c6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vf.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ef369f241921a7c6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b67dbb4352d2b237", "scanner": "scanner-primary", "fingerprint": "ef369f241921a7c6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vf.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ef8f0a822abd900e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "95f15353c76e00a9", "scanner": "scanner-primary", "fingerprint": "ef8f0a822abd900e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vf.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-544ecb5124f428c3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4c128a8a8bd74afe", "scanner": "scanner-primary", "fingerprint": "544ecb5124f428c3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-redflag-fixer.yml"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-544ecb5124f428c3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "37218b1d3d76dce9", "scanner": "scanner-primary", "fingerprint": "544ecb5124f428c3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-redflag-fixer.yml"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-544ecb5124f428c3", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3e78a99333244e39", "scanner": "scanner-primary", "fingerprint": "544ecb5124f428c3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-redflag-fixer.yml"}, "region": {"startLine": 222}}}]}, {"ruleId": "scanner-d7046f12e4d7acba", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "47fda3b5d3a0fd62", "scanner": "scanner-primary", "fingerprint": "d7046f12e4d7acba", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-redflag-fixer.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a44ef6405f76d67", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5207c82bbee6c9fc", "scanner": "scanner-primary", "fingerprint": "8a44ef6405f76d67", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rss-surselva.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8a44ef6405f76d67", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "686f922684c5cd6c", "scanner": "scanner-primary", "fingerprint": "8a44ef6405f76d67", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rss-surselva.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-57dbe98a34285727", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "01d906be108ce192", "scanner": "scanner-primary", "fingerprint": "57dbe98a34285727", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rss-surselva.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6ccc83d284e8973b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d147d0dd823e477", "scanner": "scanner-primary", "fingerprint": "6ccc83d284e8973b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-burkhalter.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6ccc83d284e8973b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ab263b3465e5d54", "scanner": "scanner-primary", "fingerprint": "6ccc83d284e8973b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-burkhalter.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1ed825cfb1427056", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "dcd9dbca12bd3bb5", "scanner": "scanner-primary", "fingerprint": "1ed825cfb1427056", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-burkhalter.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a330206fb1320217", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "418cfe8a4f7f7922", "scanner": "scanner-primary", "fingerprint": "a330206fb1320217", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/revenue-monitor.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-a330206fb1320217", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b7a02f5e56a5e893", "scanner": "scanner-primary", "fingerprint": "a330206fb1320217", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/revenue-monitor.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-a330206fb1320217", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b00a17551e8da8d4", "scanner": "scanner-primary", "fingerprint": "a330206fb1320217", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/revenue-monitor.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-c9b7aefb96a26151", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ed01f74637a9c651", "scanner": "scanner-primary", "fingerprint": "c9b7aefb96a26151", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/revenue-monitor.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-586d9371eb9292fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1efd477e270361fc", "scanner": "scanner-primary", "fingerprint": "586d9371eb9292fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tpl-lugano.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-586d9371eb9292fb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1bcaeeda8c5513a2", "scanner": "scanner-primary", "fingerprint": "586d9371eb9292fb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tpl-lugano.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a9ad8dab60193475", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "aeddeda4a5ba43e7", "scanner": "scanner-primary", "fingerprint": "a9ad8dab60193475", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tpl-lugano.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d809b9b7d52cc6f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "337128fe34e8d720", "scanner": "scanner-primary", "fingerprint": "8d809b9b7d52cc6f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-evidence-and-tune.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a04c2365318b82a1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2f533df832c7ca62", "scanner": "scanner-primary", "fingerprint": "a04c2365318b82a1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-agroscope.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-a04c2365318b82a1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3758f7ac64701d35", "scanner": "scanner-primary", "fingerprint": "a04c2365318b82a1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-agroscope.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-fda63bab2cf99d5c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b377854060418391", "scanner": "scanner-primary", "fingerprint": "fda63bab2cf99d5c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-agroscope.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-962087102ee01747", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b98bc25206e2c085", "scanner": "scanner-primary", "fingerprint": "962087102ee01747", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-fix.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-962087102ee01747", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e7e06e01f25dc1b", "scanner": "scanner-primary", "fingerprint": "962087102ee01747", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-fix.yml"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-962087102ee01747", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "eedd650bb275b54e", "scanner": "scanner-primary", "fingerprint": "962087102ee01747", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-fix.yml"}, "region": {"startLine": 160}}}]}, {"ruleId": "scanner-6a330892bd6b6ecc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "eb4d558abb47667f", "scanner": "scanner-primary", "fingerprint": "6a330892bd6b6ecc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-fix.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-419a5cdd584a93e6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ca049b36d5a34aca", "scanner": "scanner-primary", "fingerprint": "419a5cdd584a93e6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-octapharma.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-419a5cdd584a93e6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "649e2d3bd5a0a74e", "scanner": "scanner-primary", "fingerprint": "419a5cdd584a93e6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-octapharma.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-27b90d3d7aedb42c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5d498016b72bb85e", "scanner": "scanner-primary", "fingerprint": "27b90d3d7aedb42c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-octapharma.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ef8b248fda4d5a0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6dc400b67bd0b8e5", "scanner": "scanner-primary", "fingerprint": "3ef8b248fda4d5a0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-prosenectute-ti.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-3ef8b248fda4d5a0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "02f169f1c9950b3c", "scanner": "scanner-primary", "fingerprint": "3ef8b248fda4d5a0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-prosenectute-ti.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-72c47320b3ce3008", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3960c3a1bd39540a", "scanner": "scanner-primary", "fingerprint": "72c47320b3ce3008", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-prosenectute-ti.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-534c74ca16b9f730", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d7322a3bfaece1d3", "scanner": "scanner-primary", "fingerprint": "534c74ca16b9f730", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-aadorf.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-534c74ca16b9f730", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c2bad1842269eb1b", "scanner": "scanner-primary", "fingerprint": "534c74ca16b9f730", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-aadorf.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4b95b6c8bdb00c46", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "35f36d1c5d70a414", "scanner": "scanner-primary", "fingerprint": "4b95b6c8bdb00c46", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-aadorf.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-033ec26e03fdf334", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dafe8b7ce67e8f0c", "scanner": "scanner-primary", "fingerprint": "033ec26e03fdf334", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/regenerate-visual-baselines.yml"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-033ec26e03fdf334", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bfd00ad6f84c6791", "scanner": "scanner-primary", "fingerprint": "033ec26e03fdf334", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/regenerate-visual-baselines.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-033ec26e03fdf334", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d93784035daa9d5e", "scanner": "scanner-primary", "fingerprint": "033ec26e03fdf334", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/regenerate-visual-baselines.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-033ec26e03fdf334", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d93784035daa9d5e", "scanner": "scanner-primary", "fingerprint": "033ec26e03fdf334", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/regenerate-visual-baselines.yml"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-fd9470facff00990", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1a1e45f06a8dc23d", "scanner": "scanner-primary", "fingerprint": "fd9470facff00990", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/regenerate-visual-baselines.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1cd2caaace932d04", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3b1a163dc5fdbc49", "scanner": "scanner-primary", "fingerprint": "1cd2caaace932d04", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-suchtfachstelle-zuerich.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1cd2caaace932d04", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "86d9064a721ead9f", "scanner": "scanner-primary", "fingerprint": "1cd2caaace932d04", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-suchtfachstelle-zuerich.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e39207b982fc69f6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "70c47edcdb2fe45d", "scanner": "scanner-primary", "fingerprint": "e39207b982fc69f6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-suchtfachstelle-zuerich.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-005fec59deece045", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "428557e43cfd5f70", "scanner": "scanner-primary", "fingerprint": "005fec59deece045", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seed-orphan-pages-baseline.yml"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-005fec59deece045", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9f571115772f254c", "scanner": "scanner-primary", "fingerprint": "005fec59deece045", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seed-orphan-pages-baseline.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-005fec59deece045", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d7040832280c5642", "scanner": "scanner-primary", "fingerprint": "005fec59deece045", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/seed-orphan-pages-baseline.yml"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-8440d03f0c49d173", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd4d4cc58b145c83", "scanner": "scanner-primary", "fingerprint": "8440d03f0c49d173", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-weisse-arena.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8440d03f0c49d173", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7e2e325778b9d13e", "scanner": "scanner-primary", "fingerprint": "8440d03f0c49d173", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-weisse-arena.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-36d84d8ba28ed68d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6a70a520492394e7", "scanner": "scanner-primary", "fingerprint": "36d84d8ba28ed68d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-weisse-arena.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33f36e4542081a85", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "63b2b6005a8f2bfb", "scanner": "scanner-primary", "fingerprint": "33f36e4542081a85", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinica-varini.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-33f36e4542081a85", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "367cfc77aa2a7824", "scanner": "scanner-primary", "fingerprint": "33f36e4542081a85", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinica-varini.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-841adb53de683b3f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "98e290b73ac0f351", "scanner": "scanner-primary", "fingerprint": "841adb53de683b3f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinica-varini.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2cf08b12d43e7a05", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a411d1414f747869", "scanner": "scanner-primary", "fingerprint": "2cf08b12d43e7a05", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-buelach.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2cf08b12d43e7a05", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "18981734e3e002d9", "scanner": "scanner-primary", "fingerprint": "2cf08b12d43e7a05", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-buelach.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-23d545aa0cf96303", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ec37ddc27341b16d", "scanner": "scanner-primary", "fingerprint": "23d545aa0cf96303", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-buelach.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7713b2497bf3425a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c3adab653e319df6", "scanner": "scanner-primary", "fingerprint": "7713b2497bf3425a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-szb-chb.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7713b2497bf3425a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "da7ddb1c6f9f2bae", "scanner": "scanner-primary", "fingerprint": "7713b2497bf3425a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-szb-chb.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9fb1e022c72a13a2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "fb8970532958b861", "scanner": "scanner-primary", "fingerprint": "9fb1e022c72a13a2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-szb-chb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d4ee9216f24015e2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "471330169ff24208", "scanner": "scanner-primary", "fingerprint": "d4ee9216f24015e2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hib.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d4ee9216f24015e2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ce5ce22594f98cfe", "scanner": "scanner-primary", "fingerprint": "d4ee9216f24015e2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hib.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b64e25a7313bd662", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8c87c1c4f7e6c111", "scanner": "scanner-primary", "fingerprint": "b64e25a7313bd662", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hib.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de36538fd7c51947", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6be905a7afa6a9cd", "scanner": "scanner-primary", "fingerprint": "de36538fd7c51947", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tinext.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-de36538fd7c51947", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a77ed451776d2384", "scanner": "scanner-primary", "fingerprint": "de36538fd7c51947", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tinext.yml"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-344b49db5eb4e283", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5bf5a8e46310a584", "scanner": "scanner-primary", "fingerprint": "344b49db5eb4e283", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tinext.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c09b0b0387a1a693", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5129fa7512ab6ba7", "scanner": "scanner-primary", "fingerprint": "c09b0b0387a1a693", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ubp.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c09b0b0387a1a693", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "baa66a0d110f0be1", "scanner": "scanner-primary", "fingerprint": "c09b0b0387a1a693", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ubp.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-eb63a7d02ba4bbd2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "55d0d1de0b0856f9", "scanner": "scanner-primary", "fingerprint": "eb63a7d02ba4bbd2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ubp.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-48f4c0c2ed20a238", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "24a58050037ce434", "scanner": "scanner-primary", "fingerprint": "48f4c0c2ed20a238", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kanton-gr.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-48f4c0c2ed20a238", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a0fca684ca19af78", "scanner": "scanner-primary", "fingerprint": "48f4c0c2ed20a238", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kanton-gr.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4e383068162dad3f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "675817a576f9d95c", "scanner": "scanner-primary", "fingerprint": "4e383068162dad3f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kanton-gr.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-07432b544f29514f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "72f2e81e9e352bd5", "scanner": "scanner-primary", "fingerprint": "07432b544f29514f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ruag.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-07432b544f29514f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "856ca401f7676147", "scanner": "scanner-primary", "fingerprint": "07432b544f29514f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ruag.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-de463c94ee09c78b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "481fc8d238a46ab5", "scanner": "scanner-primary", "fingerprint": "de463c94ee09c78b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ruag.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c249664a0488387", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d0723a9b99689b62", "scanner": "scanner-primary", "fingerprint": "6c249664a0488387", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-richemont.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6c249664a0488387", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "373131aef9f2e2f5", "scanner": "scanner-primary", "fingerprint": "6c249664a0488387", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-richemont.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0de834630a178253", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2a0f5729048dddec", "scanner": "scanner-primary", "fingerprint": "0de834630a178253", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-richemont.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5371c1f3294ab72e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aefb0f52b73cafcf", "scanner": "scanner-primary", "fingerprint": "5371c1f3294ab72e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-berit-klinik.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-5371c1f3294ab72e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1fa5c1239b52100b", "scanner": "scanner-primary", "fingerprint": "5371c1f3294ab72e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-berit-klinik.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-c88d655b2a7a5908", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "932853c6e52b71a8", "scanner": "scanner-primary", "fingerprint": "c88d655b2a7a5908", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-berit-klinik.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc238198e5703a0b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "76a635aa0616247a", "scanner": "scanner-primary", "fingerprint": "dc238198e5703a0b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tschuggen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-dc238198e5703a0b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d5db7e9ca25220cc", "scanner": "scanner-primary", "fingerprint": "dc238198e5703a0b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tschuggen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-90dc991e69bb8784", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "40a8185482d60564", "scanner": "scanner-primary", "fingerprint": "90dc991e69bb8784", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tschuggen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd69690c31aa93e3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6a0d0a8448c1c12c", "scanner": "scanner-primary", "fingerprint": "cd69690c31aa93e3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lidl.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-cd69690c31aa93e3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7ef8460b0eede85c", "scanner": "scanner-primary", "fingerprint": "cd69690c31aa93e3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lidl.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c0a66aca18274918", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "aed89023d9e1f57b", "scanner": "scanner-primary", "fingerprint": "c0a66aca18274918", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lidl.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-af2483f882f84a62", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d5e55b8fe1c9a16d", "scanner": "scanner-primary", "fingerprint": "af2483f882f84a62", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-marriott.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-af2483f882f84a62", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0587269e0d647039", "scanner": "scanner-primary", "fingerprint": "af2483f882f84a62", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-marriott.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a1eb84ff71066ebf", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "bb38360b876b4f53", "scanner": "scanner-primary", "fingerprint": "a1eb84ff71066ebf", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-marriott.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-346267121982e746", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d6f3966b76f2d0ba", "scanner": "scanner-primary", "fingerprint": "346267121982e746", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-usi.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-346267121982e746", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "84d227117ec8d88e", "scanner": "scanner-primary", "fingerprint": "346267121982e746", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-usi.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6a1e49e54c49226d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8d6f010bb9e88c35", "scanner": "scanner-primary", "fingerprint": "6a1e49e54c49226d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-usi.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b81a0124700bb91f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1e0322d8fb6f899d", "scanner": "scanner-primary", "fingerprint": "b81a0124700bb91f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/reddit-jobs-daily-schedule.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cf116934b55d3c6a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ab391a10b9657f0e", "scanner": "scanner-primary", "fingerprint": "cf116934b55d3c6a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/gh-pat-expiry-monitor.yml"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-cf116934b55d3c6a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "606eb54e3f7c2b9c", "scanner": "scanner-primary", "fingerprint": "cf116934b55d3c6a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/gh-pat-expiry-monitor.yml"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-d154ff32eb623fc1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a41c9c1b7f6b2592", "scanner": "scanner-primary", "fingerprint": "d154ff32eb623fc1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-nsn-medical.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d154ff32eb623fc1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1db98711b07e1f76", "scanner": "scanner-primary", "fingerprint": "d154ff32eb623fc1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-nsn-medical.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e2477bccdc4dc0a2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2f4736e6ca18c623", "scanner": "scanner-primary", "fingerprint": "e2477bccdc4dc0a2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-nsn-medical.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7eb6e668746fd425", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c9e8e2e0e08c52f3", "scanner": "scanner-primary", "fingerprint": "7eb6e668746fd425", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ai-visibility-check.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-7eb6e668746fd425", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9fb38da341a8f272", "scanner": "scanner-primary", "fingerprint": "7eb6e668746fd425", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ai-visibility-check.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-7eb6e668746fd425", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "003ba1ffc927aaf1", "scanner": "scanner-primary", "fingerprint": "7eb6e668746fd425", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ai-visibility-check.yml"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-b8ea76623b4308c0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "83449a1ee9692196", "scanner": "scanner-primary", "fingerprint": "b8ea76623b4308c0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ai-visibility-check.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dd0c0ef7ea781de2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7e70383f657ac942", "scanner": "scanner-primary", "fingerprint": "dd0c0ef7ea781de2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-entero.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-dd0c0ef7ea781de2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c51c0975fa6642a0", "scanner": "scanner-primary", "fingerprint": "dd0c0ef7ea781de2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-entero.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-056c084ed0ad333f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c453ce8f55c2c906", "scanner": "scanner-primary", "fingerprint": "056c084ed0ad333f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-entero.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09c52ba4c2be77f6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dfbcb2d2415c71e4", "scanner": "scanner-primary", "fingerprint": "09c52ba4c2be77f6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/monitor-gsc-seo.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-09c52ba4c2be77f6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "608301bbd80b8870", "scanner": "scanner-primary", "fingerprint": "09c52ba4c2be77f6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/monitor-gsc-seo.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-380f9e941c0349e8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d884845e0c26a275", "scanner": "scanner-primary", "fingerprint": "380f9e941c0349e8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/followup-drainer.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-380f9e941c0349e8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "65d871e6d172ee38", "scanner": "scanner-primary", "fingerprint": "380f9e941c0349e8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/followup-drainer.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6a153d47d1679ece", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1134b964b591d8c8", "scanner": "scanner-primary", "fingerprint": "6a153d47d1679ece", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ems-chemie.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6a153d47d1679ece", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0e5131a20f260be8", "scanner": "scanner-primary", "fingerprint": "6a153d47d1679ece", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ems-chemie.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-aed27d7fd6cad08a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "204192011ae72cc7", "scanner": "scanner-primary", "fingerprint": "aed27d7fd6cad08a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ems-chemie.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3fa2091c8a954890", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1bee9ba4bbeb1d78", "scanner": "scanner-primary", "fingerprint": "3fa2091c8a954890", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kulm-hotel.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-3fa2091c8a954890", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "70f3a9f962289682", "scanner": "scanner-primary", "fingerprint": "3fa2091c8a954890", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kulm-hotel.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c40c6fe09d465fe3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3c26a3103269c8fa", "scanner": "scanner-primary", "fingerprint": "c40c6fe09d465fe3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kulm-hotel.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-348c59f04333d3aa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c622b99fe3776fcd", "scanner": "scanner-primary", "fingerprint": "348c59f04333d3aa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-hohenegg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-348c59f04333d3aa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d33182118a61ccf6", "scanner": "scanner-primary", "fingerprint": "348c59f04333d3aa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-hohenegg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d9aaba12963cfe37", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4ee2e8860e2d0991", "scanner": "scanner-primary", "fingerprint": "d9aaba12963cfe37", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-hohenegg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b534944456821318", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8cfb2d9c59567a07", "scanner": "scanner-primary", "fingerprint": "b534944456821318", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vtg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b534944456821318", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b0a143788ada019c", "scanner": "scanner-primary", "fingerprint": "b534944456821318", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vtg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-61da90855e10e593", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "12343f2e6ec4edd4", "scanner": "scanner-primary", "fingerprint": "61da90855e10e593", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vtg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-658ad3adc16f808a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "43ad21105a831110", "scanner": "scanner-primary", "fingerprint": "658ad3adc16f808a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-eoc.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-658ad3adc16f808a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f6a01649e22705c5", "scanner": "scanner-primary", "fingerprint": "658ad3adc16f808a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-eoc.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-473f84303745c4e6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c56a754c4fb48669", "scanner": "scanner-primary", "fingerprint": "473f84303745c4e6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-eoc.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-47443621af29f422", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "99c22f69a3122cd1", "scanner": "scanner-primary", "fingerprint": "47443621af29f422", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ukbb.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-47443621af29f422", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "20558d95246d59e3", "scanner": "scanner-primary", "fingerprint": "47443621af29f422", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ukbb.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-181f3d6a7b514018", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8991e3dff2948660", "scanner": "scanner-primary", "fingerprint": "181f3d6a7b514018", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ukbb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d96903a6af17747", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a70874bed9424a30", "scanner": "scanner-primary", "fingerprint": "8d96903a6af17747", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fust.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8d96903a6af17747", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d19b47a994ddd69a", "scanner": "scanner-primary", "fingerprint": "8d96903a6af17747", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fust.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-16901fc2329b55fe", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "af7a6e1adc1121ba", "scanner": "scanner-primary", "fingerprint": "16901fc2329b55fe", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fust.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0f88f53b324014ae", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "88a40ec8232bc28b", "scanner": "scanner-primary", "fingerprint": "0f88f53b324014ae", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-diakoniewerk-neumuenster.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-0f88f53b324014ae", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6e8685b52542028c", "scanner": "scanner-primary", "fingerprint": "0f88f53b324014ae", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-diakoniewerk-neumuenster.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6b0b6b5948c098ba", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5914515d2674b4dc", "scanner": "scanner-primary", "fingerprint": "6b0b6b5948c098ba", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-diakoniewerk-neumuenster.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0adb12dd45fa958b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "23b062d2bd43724e", "scanner": "scanner-primary", "fingerprint": "0adb12dd45fa958b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-build-matrix-test.yml"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-0adb12dd45fa958b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "93d62108ff2584b7", "scanner": "scanner-primary", "fingerprint": "0adb12dd45fa958b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-build-matrix-test.yml"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-0adb12dd45fa958b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3dba519d2aafc243", "scanner": "scanner-primary", "fingerprint": "0adb12dd45fa958b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-build-matrix-test.yml"}, "region": {"startLine": 132}}}]}, {"ruleId": "scanner-0adb12dd45fa958b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "23b062d2bd43724e", "scanner": "scanner-primary", "fingerprint": "0adb12dd45fa958b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-build-matrix-test.yml"}, "region": {"startLine": 214}}}]}, {"ruleId": "scanner-0adb12dd45fa958b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "23b062d2bd43724e", "scanner": "scanner-primary", "fingerprint": "0adb12dd45fa958b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-build-matrix-test.yml"}, "region": {"startLine": 230}}}]}, {"ruleId": "scanner-3bd5c204e6b22ce5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c9a0fe42d610c123", "scanner": "scanner-primary", "fingerprint": "3bd5c204e6b22ce5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/batch-faq-articles.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-3bd5c204e6b22ce5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "452f98979fb17548", "scanner": "scanner-primary", "fingerprint": "3bd5c204e6b22ce5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/batch-faq-articles.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-980628730127f890", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "cd055de3f7dffe60", "scanner": "scanner-primary", "fingerprint": "980628730127f890", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/batch-faq-articles.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e6832d505350b892", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "24127455ced0ae67", "scanner": "scanner-primary", "fingerprint": "e6832d505350b892", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-transgourmet.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e6832d505350b892", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a55c45abf3b98ab6", "scanner": "scanner-primary", "fingerprint": "e6832d505350b892", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-transgourmet.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a3f2e1f8b86f05b0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7d1478033669c62c", "scanner": "scanner-primary", "fingerprint": "a3f2e1f8b86f05b0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-transgourmet.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-19827c49d37cc930", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7b8fedb9698cb98f", "scanner": "scanner-primary", "fingerprint": "19827c49d37cc930", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ikea.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-19827c49d37cc930", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "431badd7b7f4a21e", "scanner": "scanner-primary", "fingerprint": "19827c49d37cc930", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ikea.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2d3c405582a1fd7d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f8e58e95eb38bc5f", "scanner": "scanner-primary", "fingerprint": "2d3c405582a1fd7d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ikea.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7837095285ebed71", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "52f5b0fbc1b386f0", "scanner": "scanner-primary", "fingerprint": "7837095285ebed71", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-matterhorn-gotthard-bahn.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7837095285ebed71", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "205c633dede15bb7", "scanner": "scanner-primary", "fingerprint": "7837095285ebed71", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-matterhorn-gotthard-bahn.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-8ecb811982d3ff64", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c1ceab7d12e88140", "scanner": "scanner-primary", "fingerprint": "8ecb811982d3ff64", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-matterhorn-gotthard-bahn.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cccf1ea56e8f2ec7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fdb60c4b970bc439", "scanner": "scanner-primary", "fingerprint": "cccf1ea56e8f2ec7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-seeschau.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-cccf1ea56e8f2ec7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e92a21fac30216e2", "scanner": "scanner-primary", "fingerprint": "cccf1ea56e8f2ec7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-seeschau.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-55f6eb5b747d24d6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4a7a2cd8b146d2bb", "scanner": "scanner-primary", "fingerprint": "55f6eb5b747d24d6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-seeschau.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11b7f8a9e827916e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "83ef4738db29b10e", "scanner": "scanner-primary", "fingerprint": "11b7f8a9e827916e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sulzer.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-11b7f8a9e827916e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fbfaca8c1f4b3d8d", "scanner": "scanner-primary", "fingerprint": "11b7f8a9e827916e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sulzer.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-499e76d98c828ad0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3044e55f82500572", "scanner": "scanner-primary", "fingerprint": "499e76d98c828ad0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sulzer.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-859785802bc75f27", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3c8cba1f22cb8496", "scanner": "scanner-primary", "fingerprint": "859785802bc75f27", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tether.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-859785802bc75f27", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "17d4a2c2243bc8d7", "scanner": "scanner-primary", "fingerprint": "859785802bc75f27", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tether.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1fad89df8e2e4d59", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ffa7c7bfe31ffc2b", "scanner": "scanner-primary", "fingerprint": "1fad89df8e2e4d59", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tether.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ef6b9c811874a82f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "38c5a6d1ee4cbf3e", "scanner": "scanner-primary", "fingerprint": "ef6b9c811874a82f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fincons.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ef6b9c811874a82f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d975c42b8bedabb6", "scanner": "scanner-primary", "fingerprint": "ef6b9c811874a82f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fincons.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-56eae3bdb7e9a51d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9be8cc7ea336c34b", "scanner": "scanner-primary", "fingerprint": "56eae3bdb7e9a51d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fincons.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c416da3c39eb7990", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f828c6972e8294bc", "scanner": "scanner-primary", "fingerprint": "c416da3c39eb7990", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gkb.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c416da3c39eb7990", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd0ccbb297d62e44", "scanner": "scanner-primary", "fingerprint": "c416da3c39eb7990", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gkb.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f8200f498a9463de", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "76e9221c1f1224df", "scanner": "scanner-primary", "fingerprint": "f8200f498a9463de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gkb.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a96650a0d7ba32ad", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "af097a3ade843e31", "scanner": "scanner-primary", "fingerprint": "a96650a0d7ba32ad", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-meiringen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a96650a0d7ba32ad", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f9ff9281ba4c41c8", "scanner": "scanner-primary", "fingerprint": "a96650a0d7ba32ad", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-meiringen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4d442c4e1594fedb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4f2ed32ee47b2c80", "scanner": "scanner-primary", "fingerprint": "4d442c4e1594fedb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-meiringen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-141ba010850c385f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "55bc625a1a985b4f", "scanner": "scanner-primary", "fingerprint": "141ba010850c385f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksw.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-141ba010850c385f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f54a3d7d0e2fe19e", "scanner": "scanner-primary", "fingerprint": "141ba010850c385f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksw.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0d75a635c6533d2d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "aafd550ba3b39525", "scanner": "scanner-primary", "fingerprint": "0d75a635c6533d2d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksw.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a5a351be305f4aa9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "94f52a8d77a366f6", "scanner": "scanner-primary", "fingerprint": "a5a351be305f4aa9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cerbios-pharma.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a5a351be305f4aa9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e9e9ee6c560b6fad", "scanner": "scanner-primary", "fingerprint": "a5a351be305f4aa9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cerbios-pharma.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-791d1cffccbe59c1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "bce68c9fa82a1382", "scanner": "scanner-primary", "fingerprint": "791d1cffccbe59c1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cerbios-pharma.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e805eeeed58c36c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ecc793570bd214ca", "scanner": "scanner-primary", "fingerprint": "6e805eeeed58c36c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pemsa.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6e805eeeed58c36c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9790328f34a35366", "scanner": "scanner-primary", "fingerprint": "6e805eeeed58c36c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pemsa.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b7810cef3cf1338c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "658512a3d778edde", "scanner": "scanner-primary", "fingerprint": "b7810cef3cf1338c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pemsa.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de298e68e510ee49", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f84ae02f2863fac2", "scanner": "scanner-primary", "fingerprint": "de298e68e510ee49", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-forel-klinik.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-de298e68e510ee49", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dd8b3166f8952f74", "scanner": "scanner-primary", "fingerprint": "de298e68e510ee49", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-forel-klinik.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9970e9b5ed7eab79", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "aa1c4f76b2f1a4ab", "scanner": "scanner-primary", "fingerprint": "9970e9b5ed7eab79", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-forel-klinik.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f406d3bd2d2a44bd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4ad95c40ce766551", "scanner": "scanner-primary", "fingerprint": "f406d3bd2d2a44bd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-gut.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f406d3bd2d2a44bd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d868578a228ab657", "scanner": "scanner-primary", "fingerprint": "f406d3bd2d2a44bd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-gut.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7b696adb9f3d1488", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "09340e9a9e33c51e", "scanner": "scanner-primary", "fingerprint": "7b696adb9f3d1488", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-gut.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b60396d919d6a77a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0615ee7ce4f2a951", "scanner": "scanner-primary", "fingerprint": "b60396d919d6a77a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swatchgroup.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-b60396d919d6a77a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "40072929669ebb1d", "scanner": "scanner-primary", "fingerprint": "b60396d919d6a77a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swatchgroup.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-45354980a048d961", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "39d9884d2a473fbb", "scanner": "scanner-primary", "fingerprint": "45354980a048d961", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swatchgroup.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6292f0b4b5f3885b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d9583459415de149", "scanner": "scanner-primary", "fingerprint": "6292f0b4b5f3885b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-otis.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6292f0b4b5f3885b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f196eae2deeb2605", "scanner": "scanner-primary", "fingerprint": "6292f0b4b5f3885b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-otis.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ade928c0572850dd", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8ddd1ea7651a5deb", "scanner": "scanner-primary", "fingerprint": "ade928c0572850dd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-otis.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b9e3106da0fe958", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ff6e93070fd7c8e6", "scanner": "scanner-primary", "fingerprint": "4b9e3106da0fe958", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/send-job-alerts.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-4b9e3106da0fe958", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e4b6409e80eff84d", "scanner": "scanner-primary", "fingerprint": "4b9e3106da0fe958", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/send-job-alerts.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-90b7bbe8dce015af", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "af94397fa80813e7", "scanner": "scanner-primary", "fingerprint": "90b7bbe8dce015af", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pzm-muensingen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-90b7bbe8dce015af", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8c1dd17f5df73154", "scanner": "scanner-primary", "fingerprint": "90b7bbe8dce015af", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pzm-muensingen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-440ac05d2cf2a0a8", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "df5ae6f609899dbb", "scanner": "scanner-primary", "fingerprint": "440ac05d2cf2a0a8", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pzm-muensingen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-89fd00c531cb3451", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dbaee9d0c2d0e381", "scanner": "scanner-primary", "fingerprint": "89fd00c531cb3451", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-uster.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-89fd00c531cb3451", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "08de79470ff8acbd", "scanner": "scanner-primary", "fingerprint": "89fd00c531cb3451", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-uster.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4ea5fa0a98f4ead8", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "fe1ff7e13eb566b4", "scanner": "scanner-primary", "fingerprint": "4ea5fa0a98f4ead8", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-uster.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-922db5333ea0d356", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "49c50c7207e9ca18", "scanner": "scanner-primary", "fingerprint": "922db5333ea0d356", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gz-dielsdorf.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-922db5333ea0d356", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6c4c742794fd73a5", "scanner": "scanner-primary", "fingerprint": "922db5333ea0d356", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gz-dielsdorf.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-21716620bff95b34", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "87dbf5be94279990", "scanner": "scanner-primary", "fingerprint": "21716620bff95b34", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gz-dielsdorf.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-99ef7b252062cc20", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f4d291bd48e6c865", "scanner": "scanner-primary", "fingerprint": "99ef7b252062cc20", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ergolz-klinik.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-99ef7b252062cc20", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5c2bfc1079365321", "scanner": "scanner-primary", "fingerprint": "99ef7b252062cc20", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ergolz-klinik.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ca21ddba104d38a0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "87f71bef9b2aabfd", "scanner": "scanner-primary", "fingerprint": "ca21ddba104d38a0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ergolz-klinik.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-31ae657ca41f9cb4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8dbf34042807afc8", "scanner": "scanner-primary", "fingerprint": "31ae657ca41f9cb4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swiss-medical-network.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-31ae657ca41f9cb4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1f89d59a6485211f", "scanner": "scanner-primary", "fingerprint": "31ae657ca41f9cb4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swiss-medical-network.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-911b2607eb20a64f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2ad269178d1d3120", "scanner": "scanner-primary", "fingerprint": "911b2607eb20a64f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swiss-medical-network.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-01b6f30ca12aab41", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "192124d1eb1ea36e", "scanner": "scanner-primary", "fingerprint": "01b6f30ca12aab41", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-straumann.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-01b6f30ca12aab41", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ccf90ad48f09ede", "scanner": "scanner-primary", "fingerprint": "01b6f30ca12aab41", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-straumann.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0a8ca7681072cd1c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "eec5346484e08ad0", "scanner": "scanner-primary", "fingerprint": "0a8ca7681072cd1c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-straumann.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c6dac6211716159d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8d46f0616483cf4b", "scanner": "scanner-primary", "fingerprint": "c6dac6211716159d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hamilton.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c6dac6211716159d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1f1705a3790b3808", "scanner": "scanner-primary", "fingerprint": "c6dac6211716159d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hamilton.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-fecbdab6513d0383", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8d0baf0c47f5371c", "scanner": "scanner-primary", "fingerprint": "fecbdab6513d0383", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hamilton.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-42153b630f679002", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fa52cc3f132a0046", "scanner": "scanner-primary", "fingerprint": "42153b630f679002", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-modellstation-somosa.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-42153b630f679002", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "36cc5a289d98eb1b", "scanner": "scanner-primary", "fingerprint": "42153b630f679002", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-modellstation-somosa.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c9c77fe10dd76150", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ee5b4253f250ece1", "scanner": "scanner-primary", "fingerprint": "c9c77fe10dd76150", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-modellstation-somosa.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09c7e23926c6a450", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "450bf1a8739db6a1", "scanner": "scanner-primary", "fingerprint": "09c7e23926c6a450", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-manor.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-09c7e23926c6a450", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "36422c3511fe7698", "scanner": "scanner-primary", "fingerprint": "09c7e23926c6a450", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-manor.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6241e26deab70f54", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "59dc35d5b4cb1909", "scanner": "scanner-primary", "fingerprint": "6241e26deab70f54", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-manor.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d3c6da2f312fbeff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2a8883a53d8e8cd7", "scanner": "scanner-primary", "fingerprint": "d3c6da2f312fbeff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-la-source.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d3c6da2f312fbeff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f61a90821b0b5966", "scanner": "scanner-primary", "fingerprint": "d3c6da2f312fbeff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-la-source.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-5d6a86dadd90198f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1fa926ab9e183c45", "scanner": "scanner-primary", "fingerprint": "5d6a86dadd90198f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-la-source.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-586d210190f82cf2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1f56424ae3a0c10f", "scanner": "scanner-primary", "fingerprint": "586d210190f82cf2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ibsa.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-586d210190f82cf2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2ecbc24d458da714", "scanner": "scanner-primary", "fingerprint": "586d210190f82cf2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ibsa.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-de3717a5370fcf8c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4a8167b418850926", "scanner": "scanner-primary", "fingerprint": "de3717a5370fcf8c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ibsa.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4835015dface973b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fa23ee9e2ccaaa9d", "scanner": "scanner-primary", "fingerprint": "4835015dface973b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-globus.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4835015dface973b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87fd0a7a0dcd31c1", "scanner": "scanner-primary", "fingerprint": "4835015dface973b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-globus.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a67783cd9faae56d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f811b7278f110711", "scanner": "scanner-primary", "fingerprint": "a67783cd9faae56d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-globus.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f6f168d818a0862f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6e452ae6ae6ba13f", "scanner": "scanner-primary", "fingerprint": "f6f168d818a0862f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-prada.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f6f168d818a0862f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d6bd4ba010b948c5", "scanner": "scanner-primary", "fingerprint": "f6f168d818a0862f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-prada.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b23d27ee6ca9038a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "06213b0fc768c2d0", "scanner": "scanner-primary", "fingerprint": "b23d27ee6ca9038a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-prada.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8eeda19ba29ee36f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a62ef6cd5dbc6bd2", "scanner": "scanner-primary", "fingerprint": "8eeda19ba29ee36f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-centiel.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8eeda19ba29ee36f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ad0d08166ff03e32", "scanner": "scanner-primary", "fingerprint": "8eeda19ba29ee36f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-centiel.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-73b842c0325fc6b7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f4287c0654c1d046", "scanner": "scanner-primary", "fingerprint": "73b842c0325fc6b7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-centiel.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc79dc97afdc50cb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "84ea634700f51e1c", "scanner": "scanner-primary", "fingerprint": "dc79dc97afdc50cb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rhne-reseau-hospitalier-neuchatelois.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-dc79dc97afdc50cb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4b29d4ecb78eb8e3", "scanner": "scanner-primary", "fingerprint": "dc79dc97afdc50cb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rhne-reseau-hospitalier-neuchatelois.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3c2c1c25289c2174", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d6ceac8bda01e0e8", "scanner": "scanner-primary", "fingerprint": "3c2c1c25289c2174", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rhne-reseau-hospitalier-neuchatelois.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-00dc203d52711519", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7fe7d0383822983a", "scanner": "scanner-primary", "fingerprint": "00dc203d52711519", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-publish.yml"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-00dc203d52711519", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "203e0c98d47a7112", "scanner": "scanner-primary", "fingerprint": "00dc203d52711519", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-publish.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-00dc203d52711519", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a18c80096a184508", "scanner": "scanner-primary", "fingerprint": "00dc203d52711519", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-publish.yml"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-00dc203d52711519", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d9d3e81a8ca30848", "scanner": "scanner-primary", "fingerprint": "00dc203d52711519", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-publish.yml"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-00dc203d52711519", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d9d3e81a8ca30848", "scanner": "scanner-primary", "fingerprint": "00dc203d52711519", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-publish.yml"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-00dc203d52711519", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d9d3e81a8ca30848", "scanner": "scanner-primary", "fingerprint": "00dc203d52711519", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-publish.yml"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-00dc203d52711519", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a18c80096a184508", "scanner": "scanner-primary", "fingerprint": "00dc203d52711519", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-publish.yml"}, "region": {"startLine": 223}}}]}, {"ruleId": "scanner-7584af24eba63c95", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "cfc3c1aacfe3322e", "scanner": "scanner-primary", "fingerprint": "7584af24eba63c95", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/post-deploy-publish.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-78b6eccc4a1a24f9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "75dd37f2cb592b3c", "scanner": "scanner-primary", "fingerprint": "78b6eccc4a1a24f9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-asana-spital.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-78b6eccc4a1a24f9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e20357f10f4e87e", "scanner": "scanner-primary", "fingerprint": "78b6eccc4a1a24f9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-asana-spital.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-623b3818b8915710", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "737b1417465fc0ea", "scanner": "scanner-primary", "fingerprint": "623b3818b8915710", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-asana-spital.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8e100eeb61e93184", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cefd0ee278f5b37b", "scanner": "scanner-primary", "fingerprint": "8e100eeb61e93184", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bosch.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8e100eeb61e93184", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a6dd925007e282c3", "scanner": "scanner-primary", "fingerprint": "8e100eeb61e93184", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bosch.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-dbc125a75af7f395", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2084cba1124febdc", "scanner": "scanner-primary", "fingerprint": "dbc125a75af7f395", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bosch.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-665f4ff004958025", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6387f89755fc32c0", "scanner": "scanner-primary", "fingerprint": "665f4ff004958025", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-debiopharm.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-665f4ff004958025", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e073c83ed5ad4573", "scanner": "scanner-primary", "fingerprint": "665f4ff004958025", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-debiopharm.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-883df97f03f2c333", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8d352b401b61b406", "scanner": "scanner-primary", "fingerprint": "883df97f03f2c333", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-debiopharm.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-05d8cdb9fcd46a0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8132e2ce4acc6302", "scanner": "scanner-primary", "fingerprint": "05d8cdb9fcd46a0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-cloud-functions.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-05d8cdb9fcd46a0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ac565d25cc1f12c", "scanner": "scanner-primary", "fingerprint": "05d8cdb9fcd46a0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-cloud-functions.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-539a25e68e459275", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7fd07a87e27cc94d", "scanner": "scanner-primary", "fingerprint": "539a25e68e459275", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medacta.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-539a25e68e459275", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5141d2547b54c916", "scanner": "scanner-primary", "fingerprint": "539a25e68e459275", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medacta.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-598d8da07a264ef1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0f409f5bb3d2e47b", "scanner": "scanner-primary", "fingerprint": "598d8da07a264ef1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medacta.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a22913e51784a3d7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0addc0b51b9d2d6b", "scanner": "scanner-primary", "fingerprint": "a22913e51784a3d7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-schoenberg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a22913e51784a3d7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c447eeb2366bcd19", "scanner": "scanner-primary", "fingerprint": "a22913e51784a3d7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-schoenberg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9894468395a73569", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e3f19174bf6c975d", "scanner": "scanner-primary", "fingerprint": "9894468395a73569", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-schoenberg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-da6e85ff3667a522", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "660621f0601440c8", "scanner": "scanner-primary", "fingerprint": "da6e85ff3667a522", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-novartis.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-da6e85ff3667a522", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f4ecebb48a4ab0b7", "scanner": "scanner-primary", "fingerprint": "da6e85ff3667a522", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-novartis.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f68ddea6770cde17", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f3b01bdfb0efc044", "scanner": "scanner-primary", "fingerprint": "f68ddea6770cde17", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-novartis.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ca4bc20a1bb74f81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7a471737888ee4f5", "scanner": "scanner-primary", "fingerprint": "ca4bc20a1bb74f81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/production-canary.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ca4bc20a1bb74f81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2accdc26417c454f", "scanner": "scanner-primary", "fingerprint": "ca4bc20a1bb74f81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/production-canary.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ca4bc20a1bb74f81", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d5dab06a7e261a67", "scanner": "scanner-primary", "fingerprint": "ca4bc20a1bb74f81", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/production-canary.yml"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-f9180ab757e00d17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "29d60a469d7492b7", "scanner": "scanner-primary", "fingerprint": "f9180ab757e00d17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vista.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f9180ab757e00d17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9b923dab1fb210b0", "scanner": "scanner-primary", "fingerprint": "f9180ab757e00d17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vista.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-acbf6cb5d01666fc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "34192b505aa71e9e", "scanner": "scanner-primary", "fingerprint": "acbf6cb5d01666fc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vista.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5cac1a11ffc6c20c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ab697a52771d2af", "scanner": "scanner-primary", "fingerprint": "5cac1a11ffc6c20c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-amag.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-5cac1a11ffc6c20c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f4f7980eb83afca3", "scanner": "scanner-primary", "fingerprint": "5cac1a11ffc6c20c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-amag.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a67097585c059489", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "479ef4c957cd7159", "scanner": "scanner-primary", "fingerprint": "a67097585c059489", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-amag.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-478f3aef77225cbf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e73b0a3d9746c29d", "scanner": "scanner-primary", "fingerprint": "478f3aef77225cbf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sune-egge.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-478f3aef77225cbf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2f9cec10f9826522", "scanner": "scanner-primary", "fingerprint": "478f3aef77225cbf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sune-egge.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b15dd4c6459ab1e1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a33169582a497cb0", "scanner": "scanner-primary", "fingerprint": "b15dd4c6459ab1e1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sune-egge.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-22571e7c7b7862d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0f4e5a8fc6bc98dc", "scanner": "scanner-primary", "fingerprint": "22571e7c7b7862d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-oscam.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-22571e7c7b7862d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "535b168f1cfcd02e", "scanner": "scanner-primary", "fingerprint": "22571e7c7b7862d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-oscam.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-040dcc55c33ffd5d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "85d60f4d626aa094", "scanner": "scanner-primary", "fingerprint": "040dcc55c33ffd5d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-oscam.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2afadfb8e34aaeb3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f27d42625caf9790", "scanner": "scanner-primary", "fingerprint": "2afadfb8e34aaeb3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/semrush-weekly-snapshot.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8ecb4d1d51c603b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "64c3a00639433de1", "scanner": "scanner-primary", "fingerprint": "8ecb4d1d51c603b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-aldi-suisse.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-8ecb4d1d51c603b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "225dc015874acb3a", "scanner": "scanner-primary", "fingerprint": "8ecb4d1d51c603b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-aldi-suisse.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-5c0c1309fcfeea77", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4074c78ef07e71b4", "scanner": "scanner-primary", "fingerprint": "5c0c1309fcfeea77", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-aldi-suisse.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a06b35fe4ca1fe43", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9a6b18ba1df12814", "scanner": "scanner-primary", "fingerprint": "a06b35fe4ca1fe43", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-air-zermatt.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a06b35fe4ca1fe43", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f3bd1872f26b91ed", "scanner": "scanner-primary", "fingerprint": "a06b35fe4ca1fe43", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-air-zermatt.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4710d4611e23aa5c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2e71e91912066601", "scanner": "scanner-primary", "fingerprint": "4710d4611e23aa5c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-air-zermatt.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-10ca1fe291fc289a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4f920faaf0c3cd17", "scanner": "scanner-primary", "fingerprint": "10ca1fe291fc289a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lafonte.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-10ca1fe291fc289a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "baeaa672286dcd21", "scanner": "scanner-primary", "fingerprint": "10ca1fe291fc289a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lafonte.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1f0106f005ae7a66", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1eda80431ac53628", "scanner": "scanner-primary", "fingerprint": "1f0106f005ae7a66", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lafonte.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-37fdd36521d09226", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "58f4fa62a69e174d", "scanner": "scanner-primary", "fingerprint": "37fdd36521d09226", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-adullam.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-37fdd36521d09226", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ee7c4a5934bbd99", "scanner": "scanner-primary", "fingerprint": "37fdd36521d09226", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-adullam.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0117ad731c056324", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7eff0314631bae86", "scanner": "scanner-primary", "fingerprint": "0117ad731c056324", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-adullam.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-24313cfbd8e2eab7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2b14f3d838a92df2", "scanner": "scanner-primary", "fingerprint": "24313cfbd8e2eab7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-siegfried.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-24313cfbd8e2eab7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2af2e5ae60d63494", "scanner": "scanner-primary", "fingerprint": "24313cfbd8e2eab7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-siegfried.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-760a07890488e45d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5011344dbcf22cd8", "scanner": "scanner-primary", "fingerprint": "760a07890488e45d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-siegfried.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-42a0c3f3537d94e2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "122df1861a70b22d", "scanner": "scanner-primary", "fingerprint": "42a0c3f3537d94e2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csvm-mustair.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-42a0c3f3537d94e2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a171e34091faeba6", "scanner": "scanner-primary", "fingerprint": "42a0c3f3537d94e2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csvm-mustair.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3c9fc75dd00fc6ee", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4b41914775bf8ab9", "scanner": "scanner-primary", "fingerprint": "3c9fc75dd00fc6ee", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csvm-mustair.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2e971b8441d6e385", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ee5fd16e996a3c75", "scanner": "scanner-primary", "fingerprint": "2e971b8441d6e385", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/articles-performance-snapshot.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1dc30da23180e1bb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ab747faa681a390", "scanner": "scanner-primary", "fingerprint": "1dc30da23180e1bb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-paraplegie.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1dc30da23180e1bb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9cc678e827e8f48b", "scanner": "scanner-primary", "fingerprint": "1dc30da23180e1bb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-paraplegie.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-50c3caa1be5a413b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6c6924d70f6edd3b", "scanner": "scanner-primary", "fingerprint": "50c3caa1be5a413b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-paraplegie.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e72f00b70ecf307e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6845c7dfa6e71b17", "scanner": "scanner-primary", "fingerprint": "e72f00b70ecf307e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csl-behring.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e72f00b70ecf307e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e91041cdf87f888f", "scanner": "scanner-primary", "fingerprint": "e72f00b70ecf307e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csl-behring.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9408699e646e9cfb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7e4867c4534fad12", "scanner": "scanner-primary", "fingerprint": "9408699e646e9cfb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-csl-behring.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0f9e8e75827ef877", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cb05d3b9d5d9e447", "scanner": "scanner-primary", "fingerprint": "0f9e8e75827ef877", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-triage.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-0f9e8e75827ef877", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7dcafc9f824d1ee0", "scanner": "scanner-primary", "fingerprint": "0f9e8e75827ef877", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-triage.yml"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-0f9e8e75827ef877", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cb05d3b9d5d9e447", "scanner": "scanner-primary", "fingerprint": "0f9e8e75827ef877", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-triage.yml"}, "region": {"startLine": 184}}}]}, {"ruleId": "scanner-0f9e8e75827ef877", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7dcafc9f824d1ee0", "scanner": "scanner-primary", "fingerprint": "0f9e8e75827ef877", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-triage.yml"}, "region": {"startLine": 189}}}]}, {"ruleId": "scanner-755385d35bfd2f78", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6350a1aaefde37ad", "scanner": "scanner-primary", "fingerprint": "755385d35bfd2f78", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/issue-triage.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-550c0c6a401b0492", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc3289924525cad1", "scanner": "scanner-primary", "fingerprint": "550c0c6a401b0492", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sonova.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-550c0c6a401b0492", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c8e72f56ab9062f3", "scanner": "scanner-primary", "fingerprint": "550c0c6a401b0492", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sonova.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-675c1922a0fc6e4a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "24bf97dee74bdb83", "scanner": "scanner-primary", "fingerprint": "675c1922a0fc6e4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sonova.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-800bb9049f20214a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a818435690e88fd7", "scanner": "scanner-primary", "fingerprint": "800bb9049f20214a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/submit-indexnow-batch.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-800bb9049f20214a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "39042e41ac980e52", "scanner": "scanner-primary", "fingerprint": "800bb9049f20214a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/submit-indexnow-batch.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-1fb898ae634bea8c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c957b79bc46a13c4", "scanner": "scanner-primary", "fingerprint": "1fb898ae634bea8c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cluster-pages-experiment.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-1fb898ae634bea8c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a852d22ea718f515", "scanner": "scanner-primary", "fingerprint": "1fb898ae634bea8c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cluster-pages-experiment.yml"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-327488b5f502342e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1879b5b0be22ba8b", "scanner": "scanner-primary", "fingerprint": "327488b5f502342e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-aarreha-schinznach.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-327488b5f502342e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4dc93f581efe33d0", "scanner": "scanner-primary", "fingerprint": "327488b5f502342e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-aarreha-schinznach.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c2def4253136e743", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b3107f80738f31a2", "scanner": "scanner-primary", "fingerprint": "c2def4253136e743", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-aarreha-schinznach.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dfe312153a419f45", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2743c35e84f481a2", "scanner": "scanner-primary", "fingerprint": "dfe312153a419f45", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-epfl.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-dfe312153a419f45", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e6e1e9aa4bc0418d", "scanner": "scanner-primary", "fingerprint": "dfe312153a419f45", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-epfl.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f80d62cabb427f22", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "26a2a098095e8ce8", "scanner": "scanner-primary", "fingerprint": "f80d62cabb427f22", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-epfl.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-658f1aa5a0155ee6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1d755ff857df28c7", "scanner": "scanner-primary", "fingerprint": "658f1aa5a0155ee6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bls.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-658f1aa5a0155ee6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1562c9fe95ac480", "scanner": "scanner-primary", "fingerprint": "658f1aa5a0155ee6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bls.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-765e7fac434c8301", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "76559e027f401edf", "scanner": "scanner-primary", "fingerprint": "765e7fac434c8301", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bls.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9d273046a3962f5b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1312648890e286a9", "scanner": "scanner-primary", "fingerprint": "9d273046a3962f5b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-schindler.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9d273046a3962f5b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1a30ae72bcaac34d", "scanner": "scanner-primary", "fingerprint": "9d273046a3962f5b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-schindler.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a946f9011e09bec6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c4bd0f6a38979556", "scanner": "scanner-primary", "fingerprint": "a946f9011e09bec6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-schindler.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6070d6c62ec9e34c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f50934063c2274b8", "scanner": "scanner-primary", "fingerprint": "6070d6c62ec9e34c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rehab-basel.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6070d6c62ec9e34c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "72789bcf2aa0b99a", "scanner": "scanner-primary", "fingerprint": "6070d6c62ec9e34c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rehab-basel.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4dd461f30e6eed27", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3e6096b85a200f75", "scanner": "scanner-primary", "fingerprint": "4dd461f30e6eed27", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rehab-basel.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-10e280c8df62f5ab", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a61f283932b98aa6", "scanner": "scanner-primary", "fingerprint": "10e280c8df62f5ab", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-zofingen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-10e280c8df62f5ab", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2700275ec2ae1d1a", "scanner": "scanner-primary", "fingerprint": "10e280c8df62f5ab", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-zofingen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-982e0e6ba447e759", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d17af15813ea287f", "scanner": "scanner-primary", "fingerprint": "982e0e6ba447e759", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-zofingen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1da511a2d2d457aa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4f6ca66fa01cea50", "scanner": "scanner-primary", "fingerprint": "1da511a2d2d457aa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sro.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1da511a2d2d457aa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7c825a23cb0f573f", "scanner": "scanner-primary", "fingerprint": "1da511a2d2d457aa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sro.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-5a26768d32a14849", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ff8ab1a19510323b", "scanner": "scanner-primary", "fingerprint": "5a26768d32a14849", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sro.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0c7cb561ec996ce3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4b789e98e355c2c2", "scanner": "scanner-primary", "fingerprint": "0c7cb561ec996ce3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-schuetzen.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-0c7cb561ec996ce3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "419404de8a04c8de", "scanner": "scanner-primary", "fingerprint": "0c7cb561ec996ce3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-schuetzen.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e80ce01d3c149a9e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "075d20f72737f277", "scanner": "scanner-primary", "fingerprint": "e80ce01d3c149a9e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-schuetzen.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ef82e09928d4ac0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bddcf70e935f9918", "scanner": "scanner-primary", "fingerprint": "ef82e09928d4ac0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-montchoisi.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ef82e09928d4ac0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b673b2ef9b87400c", "scanner": "scanner-primary", "fingerprint": "ef82e09928d4ac0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-montchoisi.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-78486d825eda9b6e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "29ccff2bec2cb790", "scanner": "scanner-primary", "fingerprint": "78486d825eda9b6e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-montchoisi.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a45d856ad3da208", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ff11dc857e431564", "scanner": "scanner-primary", "fingerprint": "3a45d856ad3da208", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinica-hildebrand.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-3a45d856ad3da208", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5935593440837f3a", "scanner": "scanner-primary", "fingerprint": "3a45d856ad3da208", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinica-hildebrand.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-555c0aeca58e09b9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "029212a67ed3c2db", "scanner": "scanner-primary", "fingerprint": "555c0aeca58e09b9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinica-hildebrand.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ec60365fedc0f2b6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "50887f2b12448b2b", "scanner": "scanner-primary", "fingerprint": "ec60365fedc0f2b6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bps-suisse.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ec60365fedc0f2b6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "257d53adb1650191", "scanner": "scanner-primary", "fingerprint": "ec60365fedc0f2b6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bps-suisse.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-95df0a566c963eeb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2df4382f7baf35cb", "scanner": "scanner-primary", "fingerprint": "95df0a566c963eeb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bps-suisse.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-01ac317eb7599d9a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c964063505b533eb", "scanner": "scanner-primary", "fingerprint": "01ac317eb7599d9a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stgag.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-01ac317eb7599d9a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2c60e7a396c0baa9", "scanner": "scanner-primary", "fingerprint": "01ac317eb7599d9a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stgag.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-db9da6e634f118ec", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5d20939bcc56d36e", "scanner": "scanner-primary", "fingerprint": "db9da6e634f118ec", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stgag.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92f6da5a0d005b4c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "237196c7a96370f3", "scanner": "scanner-primary", "fingerprint": "92f6da5a0d005b4c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pictet.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-92f6da5a0d005b4c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e2761213613a305a", "scanner": "scanner-primary", "fingerprint": "92f6da5a0d005b4c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pictet.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ac1ae43d07c30a37", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "28510ce9e4f76356", "scanner": "scanner-primary", "fingerprint": "ac1ae43d07c30a37", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pictet.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2131a9c0e23a9148", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b49e84bd50b6cf82", "scanner": "scanner-primary", "fingerprint": "2131a9c0e23a9148", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-msc-cargo.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2131a9c0e23a9148", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9df9d25f2d6a240b", "scanner": "scanner-primary", "fingerprint": "2131a9c0e23a9148", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-msc-cargo.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-76c1a963d7d4f706", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "25896e9aad2f45e5", "scanner": "scanner-primary", "fingerprint": "76c1a963d7d4f706", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-msc-cargo.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-87f15d8a4d1d43a9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a272b8ecf4dcb196", "scanner": "scanner-primary", "fingerprint": "87f15d8a4d1d43a9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-la-plaine.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-87f15d8a4d1d43a9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d5000070c8b00675", "scanner": "scanner-primary", "fingerprint": "87f15d8a4d1d43a9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-la-plaine.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-eb30db626b85a3b3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f487a49c3dd9fec9", "scanner": "scanner-primary", "fingerprint": "eb30db626b85a3b3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-la-plaine.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a1db0c5a1de1895f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a051f503925d3772", "scanner": "scanner-primary", "fingerprint": "a1db0c5a1de1895f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-bethanien.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a1db0c5a1de1895f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "df3c066ffc57a1dc", "scanner": "scanner-primary", "fingerprint": "a1db0c5a1de1895f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-bethanien.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b6abccdc7862c90f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "81288221d1fb10e3", "scanner": "scanner-primary", "fingerprint": "b6abccdc7862c90f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-bethanien.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-55f5400e9c909363", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4a52dc9b6e35560e", "scanner": "scanner-primary", "fingerprint": "55f5400e9c909363", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-coop.yml"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-55f5400e9c909363", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bf3849a15d34a1e7", "scanner": "scanner-primary", "fingerprint": "55f5400e9c909363", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-coop.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-d3c3be244e529a31", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e86b7cffb39b53b9", "scanner": "scanner-primary", "fingerprint": "d3c3be244e529a31", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-coop.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-76b41ca68d061b82", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e7722a844795e9f7", "scanner": "scanner-primary", "fingerprint": "76b41ca68d061b82", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cathedral-seo-gates-check.yml"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-76b41ca68d061b82", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "52afaa06c3b7de97", "scanner": "scanner-primary", "fingerprint": "76b41ca68d061b82", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cathedral-seo-gates-check.yml"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-76b41ca68d061b82", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ce12ea831105285", "scanner": "scanner-primary", "fingerprint": "76b41ca68d061b82", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cathedral-seo-gates-check.yml"}, "region": {"startLine": 149}}}]}, {"ruleId": "scanner-24680bab70260f22", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c2356880340ef944", "scanner": "scanner-primary", "fingerprint": "24680bab70260f22", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-soh-solothurner-spitaeler.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-24680bab70260f22", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4744736ca17b62c5", "scanner": "scanner-primary", "fingerprint": "24680bab70260f22", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-soh-solothurner-spitaeler.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c5e3817f31d9e347", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f0f9704eac4eb24e", "scanner": "scanner-primary", "fingerprint": "c5e3817f31d9e347", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-soh-solothurner-spitaeler.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f563ac15511813a7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "84bffb2f26dbd897", "scanner": "scanner-primary", "fingerprint": "f563ac15511813a7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-implenia.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f563ac15511813a7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f254111ef7764089", "scanner": "scanner-primary", "fingerprint": "f563ac15511813a7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-implenia.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2341b3556de0bbb5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2772d71c0fd7472c", "scanner": "scanner-primary", "fingerprint": "2341b3556de0bbb5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-implenia.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27ec1624e9b8376d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "777a1add77f198db", "scanner": "scanner-primary", "fingerprint": "27ec1624e9b8376d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cathedral-noindex-flip.yml"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-27ec1624e9b8376d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8abdc4d7405e65e8", "scanner": "scanner-primary", "fingerprint": "27ec1624e9b8376d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cathedral-noindex-flip.yml"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-2b49d3fbcce66a83", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "66874360f63dec50", "scanner": "scanner-primary", "fingerprint": "2b49d3fbcce66a83", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cathedral-noindex-flip.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-343c67db859dc47f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c2dc017fe4b0dc6c", "scanner": "scanner-primary", "fingerprint": "343c67db859dc47f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/traffic-data-freshness.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-343c67db859dc47f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "44bec4fbd8c13556", "scanner": "scanner-primary", "fingerprint": "343c67db859dc47f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/traffic-data-freshness.yml"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-892e95aa0e8268d1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "586480616203c589", "scanner": "scanner-primary", "fingerprint": "892e95aa0e8268d1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-holcim.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-892e95aa0e8268d1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c8882057f6d0cdbb", "scanner": "scanner-primary", "fingerprint": "892e95aa0e8268d1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-holcim.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2b8cff9fd7fab61a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "1e4a7e60366e3035", "scanner": "scanner-primary", "fingerprint": "2b8cff9fd7fab61a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-holcim.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e88ed9cf737e907a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ae471f8842fed1a", "scanner": "scanner-primary", "fingerprint": "e88ed9cf737e907a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sync-gsc-orphans.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-e88ed9cf737e907a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f4ce2cc557d260fc", "scanner": "scanner-primary", "fingerprint": "e88ed9cf737e907a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sync-gsc-orphans.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-ccbffc32fe7cabdd", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f0f0ef4060d17d59", "scanner": "scanner-primary", "fingerprint": "ccbffc32fe7cabdd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sync-gsc-orphans.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9604f67d7eb3d2ed", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e73af3cb2e0ad22a", "scanner": "scanner-primary", "fingerprint": "9604f67d7eb3d2ed", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-sts.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9604f67d7eb3d2ed", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "94bfd0764f6b49ae", "scanner": "scanner-primary", "fingerprint": "9604f67d7eb3d2ed", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-sts.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2a94f78b018c420e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0034ccd3ea888a66", "scanner": "scanner-primary", "fingerprint": "2a94f78b018c420e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-sts.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-af22d7d7db5ac4e2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a7c2120788ce15dd", "scanner": "scanner-primary", "fingerprint": "af22d7d7db5ac4e2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pigna.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-af22d7d7db5ac4e2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9378f47f0abadda4", "scanner": "scanner-primary", "fingerprint": "af22d7d7db5ac4e2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pigna.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e984812d1eb75b8d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5b7c2d7dca2a6a00", "scanner": "scanner-primary", "fingerprint": "e984812d1eb75b8d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pigna.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-214c4b21fbc98b28", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "02d1701437e26658", "scanner": "scanner-primary", "fingerprint": "214c4b21fbc98b28", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-laderach.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-214c4b21fbc98b28", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "315b0c6f4af1921b", "scanner": "scanner-primary", "fingerprint": "214c4b21fbc98b28", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-laderach.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-d62525e099d90c2f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "82772953d2ab4360", "scanner": "scanner-primary", "fingerprint": "d62525e099d90c2f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-laderach.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0b2ad800d3463e0d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9c50c79a2dc33222", "scanner": "scanner-primary", "fingerprint": "0b2ad800d3463e0d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-imad.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-0b2ad800d3463e0d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "74bf578a423de26d", "scanner": "scanner-primary", "fingerprint": "0b2ad800d3463e0d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-imad.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d2c6cd3df6a179e0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9f68bcb52d903d4b", "scanner": "scanner-primary", "fingerprint": "d2c6cd3df6a179e0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-imad.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c4b111657b07888", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "788255acdcd6ad8f", "scanner": "scanner-primary", "fingerprint": "6c4b111657b07888", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swisscom.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6c4b111657b07888", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "81b948e686f02f89", "scanner": "scanner-primary", "fingerprint": "6c4b111657b07888", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swisscom.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2b87262386b74394", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "25c48d92ac2d21e9", "scanner": "scanner-primary", "fingerprint": "2b87262386b74394", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-swisscom.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-451341b0d0e33874", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7284be7fb294aa4a", "scanner": "scanner-primary", "fingerprint": "451341b0d0e33874", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-allianz.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-451341b0d0e33874", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7df81da75aa859bc", "scanner": "scanner-primary", "fingerprint": "451341b0d0e33874", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-allianz.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9417399bf78668c6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "14d878f5578046e5", "scanner": "scanner-primary", "fingerprint": "9417399bf78668c6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-allianz.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eba510b7cd916722", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c7d0e10a65a1de0f", "scanner": "scanner-primary", "fingerprint": "eba510b7cd916722", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/translate-pending.yml"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-eba510b7cd916722", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8a19645b75e65c9b", "scanner": "scanner-primary", "fingerprint": "eba510b7cd916722", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/translate-pending.yml"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-59dc16692e0cb346", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b512a3acd614e306", "scanner": "scanner-primary", "fingerprint": "59dc16692e0cb346", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/translate-pending.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e670975fe1f23f76", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3443b7f32e3cdcef", "scanner": "scanner-primary", "fingerprint": "e670975fe1f23f76", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-salina-reha.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e670975fe1f23f76", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "376c849073382180", "scanner": "scanner-primary", "fingerprint": "e670975fe1f23f76", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-salina-reha.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-797b274eeb728b07", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c90095a4a9548858", "scanner": "scanner-primary", "fingerprint": "797b274eeb728b07", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-salina-reha.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fc6d26ecdf45001f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3a671d5a502d5b2f", "scanner": "scanner-primary", "fingerprint": "fc6d26ecdf45001f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-moncucco.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-fc6d26ecdf45001f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5493352090126faa", "scanner": "scanner-primary", "fingerprint": "fc6d26ecdf45001f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-moncucco.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7f98056b3db6cb34", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f2585ccc0a7cf276", "scanner": "scanner-primary", "fingerprint": "7f98056b3db6cb34", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-moncucco.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5fdef4fde30e6973", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "60835ce4d23132ce", "scanner": "scanner-primary", "fingerprint": "5fdef4fde30e6973", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-caseificio-gottardo.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-5fdef4fde30e6973", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7f3298b2092d3642", "scanner": "scanner-primary", "fingerprint": "5fdef4fde30e6973", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-caseificio-gottardo.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-381a1bbf5e4b27ef", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "30214a06bd928cc6", "scanner": "scanner-primary", "fingerprint": "381a1bbf5e4b27ef", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-caseificio-gottardo.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7c58739f27a3fefd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dfcc599a93a893be", "scanner": "scanner-primary", "fingerprint": "7c58739f27a3fefd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tich.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7c58739f27a3fefd", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0ef29c878c580159", "scanner": "scanner-primary", "fingerprint": "7c58739f27a3fefd", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tich.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f66f2af82f9363a5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "884786e4d68764aa", "scanner": "scanner-primary", "fingerprint": "f66f2af82f9363a5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tich.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-572dfcbe91cbf8b4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d499f961333e6752", "scanner": "scanner-primary", "fingerprint": "572dfcbe91cbf8b4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vir-biotechnology.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-572dfcbe91cbf8b4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "412c2ed82e830ef6", "scanner": "scanner-primary", "fingerprint": "572dfcbe91cbf8b4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vir-biotechnology.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-11a071eb2a139bd3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0413d8dc73c79ea0", "scanner": "scanner-primary", "fingerprint": "11a071eb2a139bd3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-vir-biotechnology.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5eddf1b87aedfbff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b1937a45f85f3270", "scanner": "scanner-primary", "fingerprint": "5eddf1b87aedfbff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tecan.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-5eddf1b87aedfbff", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f46db9e04dcb8096", "scanner": "scanner-primary", "fingerprint": "5eddf1b87aedfbff", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tecan.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-21748f183dc468a1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9e1a2438f02c5af9", "scanner": "scanner-primary", "fingerprint": "21748f183dc468a1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-tecan.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40ac13db7ea889ce", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5b9b748088f84f20", "scanner": "scanner-primary", "fingerprint": "40ac13db7ea889ce", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-puk-zuerich.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-40ac13db7ea889ce", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fa1d99ceb37e4049", "scanner": "scanner-primary", "fingerprint": "40ac13db7ea889ce", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-puk-zuerich.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c03938f5e1457ee4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "cb6d66b270c76cdc", "scanner": "scanner-primary", "fingerprint": "c03938f5e1457ee4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-puk-zuerich.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ecf150c759575f8e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e2468aa09b46e6b", "scanner": "scanner-primary", "fingerprint": "ecf150c759575f8e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gesundheitsnetz-kuesnacht.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ecf150c759575f8e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b82dc52486dd3bb3", "scanner": "scanner-primary", "fingerprint": "ecf150c759575f8e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gesundheitsnetz-kuesnacht.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-b3c7da77af2b08ab", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "694c938061a9ae37", "scanner": "scanner-primary", "fingerprint": "b3c7da77af2b08ab", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gesundheitsnetz-kuesnacht.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f91ffdc3e314bc43", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2b2ec14932dde2fa", "scanner": "scanner-primary", "fingerprint": "f91ffdc3e314bc43", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-relewant.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f91ffdc3e314bc43", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "639066c6065620ca", "scanner": "scanner-primary", "fingerprint": "f91ffdc3e314bc43", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-relewant.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-52e0a4aafa379033", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "da18daa92bfb2ffc", "scanner": "scanner-primary", "fingerprint": "52e0a4aafa379033", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-relewant.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-95817e85a98bf83c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "152d923830a0a443", "scanner": "scanner-primary", "fingerprint": "95817e85a98bf83c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medics-labor.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-95817e85a98bf83c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d2b9ca141ac53fc1", "scanner": "scanner-primary", "fingerprint": "95817e85a98bf83c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medics-labor.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-01c5e26eb5b78853", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4e1bdffa3d80ac3a", "scanner": "scanner-primary", "fingerprint": "01c5e26eb5b78853", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-medics-labor.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ecfe6e7629aa945", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "21ab31436c0c9f71", "scanner": "scanner-primary", "fingerprint": "1ecfe6e7629aa945", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-thin-promotions.yml"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-548e25eb92766c63", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "72178fa0c3a0f786", "scanner": "scanner-primary", "fingerprint": "548e25eb92766c63", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-thin-promotions.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df5d5b9990a712aa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "602cd32f77d77a62", "scanner": "scanner-primary", "fingerprint": "df5d5b9990a712aa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-arxada.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-df5d5b9990a712aa", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b8f4a8ab8c63f13a", "scanner": "scanner-primary", "fingerprint": "df5d5b9990a712aa", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-arxada.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-26c624c2325db91c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f8fd2dac55580ad8", "scanner": "scanner-primary", "fingerprint": "26c624c2325db91c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-arxada.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-66c721843811cfeb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "df31eb5b392e0be9", "scanner": "scanner-primary", "fingerprint": "66c721843811cfeb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-berner-montage.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-66c721843811cfeb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e7501047eea8dfeb", "scanner": "scanner-primary", "fingerprint": "66c721843811cfeb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-berner-montage.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-afaaf5c56a6133ba", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "35d40c2bb8ed60c2", "scanner": "scanner-primary", "fingerprint": "afaaf5c56a6133ba", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-berner-montage.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-300bee8360ed95e6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ffcc8d08babf824c", "scanner": "scanner-primary", "fingerprint": "300bee8360ed95e6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-article.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-300bee8360ed95e6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "daa4f0524441ab0e", "scanner": "scanner-primary", "fingerprint": "300bee8360ed95e6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-article.yml"}, "region": {"startLine": 62}}}]}, {"ruleId": "scanner-300bee8360ed95e6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "246d92919587d6ff", "scanner": "scanner-primary", "fingerprint": "300bee8360ed95e6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-article.yml"}, "region": {"startLine": 172}}}]}, {"ruleId": "scanner-4d199f706100e2e5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5d631fdde55b5d09", "scanner": "scanner-primary", "fingerprint": "4d199f706100e2e5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-article.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-be7df0d8770bf048", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9262c00787dc89ae", "scanner": "scanner-primary", "fingerprint": "be7df0d8770bf048", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-audemars-piguet.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-be7df0d8770bf048", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b338f30e18edbe09", "scanner": "scanner-primary", "fingerprint": "be7df0d8770bf048", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-audemars-piguet.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-ea72dc6daa999ecf", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "07dea941a086351c", "scanner": "scanner-primary", "fingerprint": "ea72dc6daa999ecf", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-audemars-piguet.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-022e22d70a215677", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "69bab2a8aae92436", "scanner": "scanner-primary", "fingerprint": "022e22d70a215677", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bethesda-spital.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-022e22d70a215677", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1870a9096ce9f702", "scanner": "scanner-primary", "fingerprint": "022e22d70a215677", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bethesda-spital.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f4b0e2abd34a8aa9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "dc2a5531e044e8bd", "scanner": "scanner-primary", "fingerprint": "f4b0e2abd34a8aa9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bethesda-spital.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c23d0fbe8432fccc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9661ca07cc270d65", "scanner": "scanner-primary", "fingerprint": "c23d0fbe8432fccc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-citta-di-locarno.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c23d0fbe8432fccc", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b0d8f749e1577546", "scanner": "scanner-primary", "fingerprint": "c23d0fbe8432fccc", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-citta-di-locarno.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-45971c52f8bfbc19", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "54db453b5a6f0a05", "scanner": "scanner-primary", "fingerprint": "45971c52f8bfbc19", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-citta-di-locarno.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a080bf87750348e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aabc0b2d6651ae72", "scanner": "scanner-primary", "fingerprint": "3a080bf87750348e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-berner-klinik-montana.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-3a080bf87750348e", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "88139b8b4fb8bb37", "scanner": "scanner-primary", "fingerprint": "3a080bf87750348e", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-berner-klinik-montana.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-12b4c28829cbc18e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "da7b874d3012242a", "scanner": "scanner-primary", "fingerprint": "12b4c28829cbc18e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-berner-klinik-montana.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f6ca01f93a5572de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "18c8ea90b881b8f5", "scanner": "scanner-primary", "fingerprint": "f6ca01f93a5572de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-solina.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f6ca01f93a5572de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8c325b421d44ecb3", "scanner": "scanner-primary", "fingerprint": "f6ca01f93a5572de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-solina.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-727b9bc5bea40575", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6fd63bbe3bf5a5ef", "scanner": "scanner-primary", "fingerprint": "727b9bc5bea40575", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-solina.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e7c0d38b3933f234", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04d93692ef97c04c", "scanner": "scanner-primary", "fingerprint": "e7c0d38b3933f234", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lombardi.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e7c0d38b3933f234", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "84fae118830ee840", "scanner": "scanner-primary", "fingerprint": "e7c0d38b3933f234", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lombardi.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1bb238fefb014aac", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c3acb54584d74a83", "scanner": "scanner-primary", "fingerprint": "1bb238fefb014aac", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lombardi.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92c0b0059e0aeec8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bf9e9773d2a269b1", "scanner": "scanner-primary", "fingerprint": "92c0b0059e0aeec8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rehaklinik-hasliberg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-92c0b0059e0aeec8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ba4b6105bb862b70", "scanner": "scanner-primary", "fingerprint": "92c0b0059e0aeec8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rehaklinik-hasliberg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-46c420d41362c86c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7323f019735ef823", "scanner": "scanner-primary", "fingerprint": "46c420d41362c86c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rehaklinik-hasliberg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9cb9c381518926d1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d0c7400bbd783e90", "scanner": "scanner-primary", "fingerprint": "9cb9c381518926d1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/manage-company-adapter.yml"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-9cb9c381518926d1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "01f62ca71cad0df4", "scanner": "scanner-primary", "fingerprint": "9cb9c381518926d1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/manage-company-adapter.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-07ed7af92af74278", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "75a3b7731d1a9e2f", "scanner": "scanner-primary", "fingerprint": "07ed7af92af74278", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/manage-company-adapter.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fb2ae55beab5b946", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8604fea671b3fadd", "scanner": "scanner-primary", "fingerprint": "fb2ae55beab5b946", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-davos.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-fb2ae55beab5b946", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e232ee205e2c62a", "scanner": "scanner-primary", "fingerprint": "fb2ae55beab5b946", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-davos.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-e01a6d4cbf3a2515", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5a52b2cd36b909fb", "scanner": "scanner-primary", "fingerprint": "e01a6d4cbf3a2515", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-davos.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c4810f70083e6b4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "eafa6003de5fb16b", "scanner": "scanner-primary", "fingerprint": "c4810f70083e6b4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-la-tour.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c4810f70083e6b4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7d0f093cdd32976c", "scanner": "scanner-primary", "fingerprint": "c4810f70083e6b4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-la-tour.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a346575cd7dd0f11", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "febf91cb53e89f97", "scanner": "scanner-primary", "fingerprint": "a346575cd7dd0f11", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hopital-la-tour.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-34cad7ddb6cd9cc3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ce3ab02056cfe0a0", "scanner": "scanner-primary", "fingerprint": "34cad7ddb6cd9cc3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/topic-candidates-mining.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-34cad7ddb6cd9cc3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e4c542c8a673143b", "scanner": "scanner-primary", "fingerprint": "34cad7ddb6cd9cc3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/topic-candidates-mining.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-05f9fbc2ebfb6df4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "960b1a1daa3cc295", "scanner": "scanner-primary", "fingerprint": "05f9fbc2ebfb6df4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/topic-candidates-mining.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-54962fc564ee4f64", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "362761159e395e75", "scanner": "scanner-primary", "fingerprint": "54962fc564ee4f64", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-linnea.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-54962fc564ee4f64", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1885ddcb25d1b233", "scanner": "scanner-primary", "fingerprint": "54962fc564ee4f64", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-linnea.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c01f7e9d3be2c925", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e398b01991e8d2e8", "scanner": "scanner-primary", "fingerprint": "c01f7e9d3be2c925", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-linnea.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-513c900d032b1c05", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6e4a3035c66b28e4", "scanner": "scanner-primary", "fingerprint": "513c900d032b1c05", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-confederazione.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-513c900d032b1c05", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "edf3aa293dde7618", "scanner": "scanner-primary", "fingerprint": "513c900d032b1c05", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-confederazione.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-57e325224e03f28a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6da0fc1540699782", "scanner": "scanner-primary", "fingerprint": "57e325224e03f28a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-confederazione.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-978f19a8c7b0bede", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a4df667656fa4fad", "scanner": "scanner-primary", "fingerprint": "978f19a8c7b0bede", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-psgn.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-978f19a8c7b0bede", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8b0ecd63d9d20206", "scanner": "scanner-primary", "fingerprint": "978f19a8c7b0bede", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-psgn.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-34d08419a8eda057", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0aede2774f083329", "scanner": "scanner-primary", "fingerprint": "34d08419a8eda057", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-psgn.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a595b48cf50e95ed", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4a224f4b0b0c257e", "scanner": "scanner-primary", "fingerprint": "a595b48cf50e95ed", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/measure-deploy-delta.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-a595b48cf50e95ed", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0b23c05e18650534", "scanner": "scanner-primary", "fingerprint": "a595b48cf50e95ed", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/measure-deploy-delta.yml"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-28c031baeb10cf6d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8b046edf9cafd84d", "scanner": "scanner-primary", "fingerprint": "28c031baeb10cf6d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stiftung-kind-autismus.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-28c031baeb10cf6d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "667a86d7b97449a5", "scanner": "scanner-primary", "fingerprint": "28c031baeb10cf6d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stiftung-kind-autismus.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-573f29c4bb882f8a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "363c5868212ed859", "scanner": "scanner-primary", "fingerprint": "573f29c4bb882f8a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stiftung-kind-autismus.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f9405b8b9d9ff7f8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7125ceb7ad527e35", "scanner": "scanner-primary", "fingerprint": "f9405b8b9d9ff7f8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-grace.yml"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-f9405b8b9d9ff7f8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "226fac28f2e5f395", "scanner": "scanner-primary", "fingerprint": "f9405b8b9d9ff7f8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-grace.yml"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-0873a7f9c5441d0e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "6346aa1674337e57", "scanner": "scanner-primary", "fingerprint": "0873a7f9c5441d0e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-grace.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5f44c4bbca611caf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fa2d69aec784d25a", "scanner": "scanner-primary", "fingerprint": "5f44c4bbca611caf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kempinski.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-5f44c4bbca611caf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c8127117bd87575e", "scanner": "scanner-primary", "fingerprint": "5f44c4bbca611caf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kempinski.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6f50f96b6ebd4503", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "fdf250f6f3185446", "scanner": "scanner-primary", "fingerprint": "6f50f96b6ebd4503", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kempinski.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4491b0a45c7c9b6b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5fde3dfc763cad97", "scanner": "scanner-primary", "fingerprint": "4491b0a45c7c9b6b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-givaudan.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4491b0a45c7c9b6b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f9f27cb53d4640cd", "scanner": "scanner-primary", "fingerprint": "4491b0a45c7c9b6b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-givaudan.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-fa3b7922931d7b06", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5b6bbf5602215d57", "scanner": "scanner-primary", "fingerprint": "fa3b7922931d7b06", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-givaudan.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9a1091f652906a18", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "88bdf19a69f7007e", "scanner": "scanner-primary", "fingerprint": "9a1091f652906a18", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-limmattal.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9a1091f652906a18", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ba507a8844571948", "scanner": "scanner-primary", "fingerprint": "9a1091f652906a18", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-limmattal.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a0432d7f7c707191", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e1e445890e4d88f2", "scanner": "scanner-primary", "fingerprint": "a0432d7f7c707191", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spital-limmattal.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-54160311cde1e770", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a8c5fb30a9f18518", "scanner": "scanner-primary", "fingerprint": "54160311cde1e770", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lombard-odier.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-54160311cde1e770", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1ebe9149fcfe04dd", "scanner": "scanner-primary", "fingerprint": "54160311cde1e770", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lombard-odier.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7be1d950a28162e0", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "31e9c0bc4de109bd", "scanner": "scanner-primary", "fingerprint": "7be1d950a28162e0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lombard-odier.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2cbeddcbc09deebf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b8ed7792707498f9", "scanner": "scanner-primary", "fingerprint": "2cbeddcbc09deebf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-wyssholzli.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-2cbeddcbc09deebf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d98122b2fc846962", "scanner": "scanner-primary", "fingerprint": "2cbeddcbc09deebf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-wyssholzli.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-2382f73f3ed59a28", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "182fda5f06faea68", "scanner": "scanner-primary", "fingerprint": "2382f73f3ed59a28", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-wyssholzli.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-58b7dd3763a4133d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c1d1949fe9e532c4", "scanner": "scanner-primary", "fingerprint": "58b7dd3763a4133d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-merian-iselin.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-58b7dd3763a4133d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3751b3f30b971440", "scanner": "scanner-primary", "fingerprint": "58b7dd3763a4133d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-merian-iselin.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-955ba685521e6fcd", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5706e079cc55954f", "scanner": "scanner-primary", "fingerprint": "955ba685521e6fcd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-merian-iselin.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3556afa48b696fee", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "66b3f20a5486fac1", "scanner": "scanner-primary", "fingerprint": "3556afa48b696fee", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cleanup-mailjet-contacts.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3556afa48b696fee", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fb295491616077fc", "scanner": "scanner-primary", "fingerprint": "3556afa48b696fee", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cleanup-mailjet-contacts.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-d6faef91c9bb8227", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "57c8f86a00184150", "scanner": "scanner-primary", "fingerprint": "d6faef91c9bb8227", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lups.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d6faef91c9bb8227", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8c2a018ec639f548", "scanner": "scanner-primary", "fingerprint": "d6faef91c9bb8227", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lups.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-13f2ce9cd544cd74", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ae7f7d6cfb491a93", "scanner": "scanner-primary", "fingerprint": "13f2ce9cd544cd74", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lups.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f886920c449992ab", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6e35312890d84572", "scanner": "scanner-primary", "fingerprint": "f886920c449992ab", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kispi-sg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f886920c449992ab", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a79ab9ee3b16c536", "scanner": "scanner-primary", "fingerprint": "f886920c449992ab", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kispi-sg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-efaae38feef9fab3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "481a14a12166a24b", "scanner": "scanner-primary", "fingerprint": "efaae38feef9fab3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kispi-sg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-82d52dcddde46f0f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0bc47c088a1bae67", "scanner": "scanner-primary", "fingerprint": "82d52dcddde46f0f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-duferco.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-82d52dcddde46f0f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f53d08fa77581505", "scanner": "scanner-primary", "fingerprint": "82d52dcddde46f0f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-duferco.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-322d58d7a6f36125", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3879e146a99eaf18", "scanner": "scanner-primary", "fingerprint": "322d58d7a6f36125", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-duferco.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2fa404c26a54bdaf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "82e360d549b8e5ec", "scanner": "scanner-primary", "fingerprint": "2fa404c26a54bdaf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/here-usage-reconcile.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2fa404c26a54bdaf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4751799fced96d50", "scanner": "scanner-primary", "fingerprint": "2fa404c26a54bdaf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/here-usage-reconcile.yml"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-e32d0ea618da2694", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "565c824f21eb3e34", "scanner": "scanner-primary", "fingerprint": "e32d0ea618da2694", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cnp.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e32d0ea618da2694", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7c09ba6a29781eb2", "scanner": "scanner-primary", "fingerprint": "e32d0ea618da2694", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cnp.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-301136ad2bf8a29b", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "74152a9ed0adebdd", "scanner": "scanner-primary", "fingerprint": "301136ad2bf8a29b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cnp.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-29e5d48d94484ae8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "06d0620f4f36c543", "scanner": "scanner-primary", "fingerprint": "29e5d48d94484ae8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-galenica.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-29e5d48d94484ae8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "586ce85ef67bedb8", "scanner": "scanner-primary", "fingerprint": "29e5d48d94484ae8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-galenica.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2dca983b729ce325", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0935fa1415e02e8a", "scanner": "scanner-primary", "fingerprint": "2dca983b729ce325", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-galenica.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ffe6c63343ecaa67", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3633329fb422cb28", "scanner": "scanner-primary", "fingerprint": "ffe6c63343ecaa67", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-volg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ffe6c63343ecaa67", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d13ba9b701599c38", "scanner": "scanner-primary", "fingerprint": "ffe6c63343ecaa67", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-volg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f5c8a8b3e64f1495", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8dceb74d0b6cfb0d", "scanner": "scanner-primary", "fingerprint": "f5c8a8b3e64f1495", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-volg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2fbd133571460eee", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "53ccc190060995f2", "scanner": "scanner-primary", "fingerprint": "2fbd133571460eee", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/traffic-scheduler.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-2fbd133571460eee", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c54924dce6957365", "scanner": "scanner-primary", "fingerprint": "2fbd133571460eee", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/traffic-scheduler.yml"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-ca4b67dabbd5e72e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b749730de6facf02", "scanner": "scanner-primary", "fingerprint": "ca4b67dabbd5e72e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/traffic-scheduler.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-021875b2c322248f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e6e54be4eb1b962", "scanner": "scanner-primary", "fingerprint": "021875b2c322248f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pizzarotti.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-021875b2c322248f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e0db60549727350", "scanner": "scanner-primary", "fingerprint": "021875b2c322248f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pizzarotti.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-00b74954223e53df", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "30d3e875793d4e3d", "scanner": "scanner-primary", "fingerprint": "00b74954223e53df", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pizzarotti.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7acd2214a639cd1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fcff4101d3375ad1", "scanner": "scanner-primary", "fingerprint": "f7acd2214a639cd1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stiftung-diaconis.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f7acd2214a639cd1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "de46986db94c5a59", "scanner": "scanner-primary", "fingerprint": "f7acd2214a639cd1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stiftung-diaconis.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-082d63d0780b5f4d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "445554c01b2b61f6", "scanner": "scanner-primary", "fingerprint": "082d63d0780b5f4d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stiftung-diaconis.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd4037eb1d06ada3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "efbf649429178280", "scanner": "scanner-primary", "fingerprint": "bd4037eb1d06ada3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksbl.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-bd4037eb1d06ada3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d74f5e0e5b14c3fd", "scanner": "scanner-primary", "fingerprint": "bd4037eb1d06ada3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksbl.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7d53565c1abde52c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ed4aa6b62620954b", "scanner": "scanner-primary", "fingerprint": "7d53565c1abde52c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksbl.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e44544eeadccae12", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "403060094977efa2", "scanner": "scanner-primary", "fingerprint": "e44544eeadccae12", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-senevita.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e44544eeadccae12", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d6e2e59a0f3d651d", "scanner": "scanner-primary", "fingerprint": "e44544eeadccae12", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-senevita.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9eb60c856d060f5c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f402a0dde21011a6", "scanner": "scanner-primary", "fingerprint": "9eb60c856d060f5c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-senevita.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7fef9158ddd3ac29", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ee8aea69010e75a1", "scanner": "scanner-primary", "fingerprint": "7fef9158ddd3ac29", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-bfs-stats.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-7fef9158ddd3ac29", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5c2c2d89eb6bf51d", "scanner": "scanner-primary", "fingerprint": "7fef9158ddd3ac29", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-bfs-stats.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-81ccf8d4fbb5432d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fb0cdefb104fdcbc", "scanner": "scanner-primary", "fingerprint": "81ccf8d4fbb5432d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bitfinex.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-81ccf8d4fbb5432d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ab53aad0a1f8597a", "scanner": "scanner-primary", "fingerprint": "81ccf8d4fbb5432d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bitfinex.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-5839067271960f98", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "606963816213fcfa", "scanner": "scanner-primary", "fingerprint": "5839067271960f98", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-bitfinex.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-18af492b3de859b5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "86efaf1f015004e6", "scanner": "scanner-primary", "fingerprint": "18af492b3de859b5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kispi-zurich.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-18af492b3de859b5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5445aa297db674e8", "scanner": "scanner-primary", "fingerprint": "18af492b3de859b5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kispi-zurich.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-7adc7f9e621e1454", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9b6ae6269bfcc15a", "scanner": "scanner-primary", "fingerprint": "7adc7f9e621e1454", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kispi-zurich.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f6aad96f080cbdf4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "866cfa6dd60f2603", "scanner": "scanner-primary", "fingerprint": "f6aad96f080cbdf4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-cic.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f6aad96f080cbdf4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fbb69d11ff1c00b5", "scanner": "scanner-primary", "fingerprint": "f6aad96f080cbdf4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-cic.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0ac2fc3b94a37cda", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "95d8900ac608c4eb", "scanner": "scanner-primary", "fingerprint": "0ac2fc3b94a37cda", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-cic.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3bb217e36ea888e8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "939b25094e2ec827", "scanner": "scanner-primary", "fingerprint": "3bb217e36ea888e8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-autorebase.yml"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-3bb217e36ea888e8", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1a9de4ae23d7872e", "scanner": "scanner-primary", "fingerprint": "3bb217e36ea888e8", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-autorebase.yml"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-4a193a33dc0c63dc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "becb6e742669631f", "scanner": "scanner-primary", "fingerprint": "4a193a33dc0c63dc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-autorebase.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e53562731b1c5a05", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f39071fa8380a7bb", "scanner": "scanner-primary", "fingerprint": "e53562731b1c5a05", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-interroll.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e53562731b1c5a05", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "62ac6b90ef5800b3", "scanner": "scanner-primary", "fingerprint": "e53562731b1c5a05", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-interroll.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4a6a17b80a709608", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c1291e3fdec59f23", "scanner": "scanner-primary", "fingerprint": "4a6a17b80a709608", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-interroll.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cff4299cebbed568", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "db47c8edb6d6de1a", "scanner": "scanner-primary", "fingerprint": "cff4299cebbed568", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-postch.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-cff4299cebbed568", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2535e5f23d8900e1", "scanner": "scanner-primary", "fingerprint": "cff4299cebbed568", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-postch.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-84b758f09d48dfcc", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e47500d5f8322b09", "scanner": "scanner-primary", "fingerprint": "84b758f09d48dfcc", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-postch.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e1829932a77993a4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "093a2f72c76f0c2f", "scanner": "scanner-primary", "fingerprint": "e1829932a77993a4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-sgm.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e1829932a77993a4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "01ac5953d474c7e0", "scanner": "scanner-primary", "fingerprint": "e1829932a77993a4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-sgm.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-89a2e6ff4e79d9eb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b98f422ce717e220", "scanner": "scanner-primary", "fingerprint": "89a2e6ff4e79d9eb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-klinik-sgm.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c6d0bfd2324f7d22", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9cfb672048a7371a", "scanner": "scanner-primary", "fingerprint": "c6d0bfd2324f7d22", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-artificialy.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-c6d0bfd2324f7d22", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "49daddf257e2f2ad", "scanner": "scanner-primary", "fingerprint": "c6d0bfd2324f7d22", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-artificialy.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-ad0ed5c161926aa2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "97c062fec946b118", "scanner": "scanner-primary", "fingerprint": "ad0ed5c161926aa2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-artificialy.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bc47c31a3b8d779a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9deecdd13b1af182", "scanner": "scanner-primary", "fingerprint": "bc47c31a3b8d779a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pallas-kliniken.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-bc47c31a3b8d779a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ce8e24d322e937d5", "scanner": "scanner-primary", "fingerprint": "bc47c31a3b8d779a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pallas-kliniken.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-de5f3546bce40269", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "9c1bfd96f6a81c5d", "scanner": "scanner-primary", "fingerprint": "de5f3546bce40269", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-pallas-kliniken.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-00ca1d94d5c91cea", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "eccd47120631dd25", "scanner": "scanner-primary", "fingerprint": "00ca1d94d5c91cea", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-see-spital.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-00ca1d94d5c91cea", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "59e8755a6d9b9db0", "scanner": "scanner-primary", "fingerprint": "00ca1d94d5c91cea", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-see-spital.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-1ab0c9ac84c3e95f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "362d4868ae2ef760", "scanner": "scanner-primary", "fingerprint": "1ab0c9ac84c3e95f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-see-spital.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6354cdc25129e74b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "926705dac6a9c461", "scanner": "scanner-primary", "fingerprint": "6354cdc25129e74b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-engelvoelkers.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6354cdc25129e74b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f2667b6633d5813e", "scanner": "scanner-primary", "fingerprint": "6354cdc25129e74b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-engelvoelkers.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f1ab146a3ac4df24", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "45e7428fad9ffaa9", "scanner": "scanner-primary", "fingerprint": "f1ab146a3ac4df24", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-engelvoelkers.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a0d0a356fd38c8f3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e8fb2977d3762092", "scanner": "scanner-primary", "fingerprint": "a0d0a356fd38c8f3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lwphr.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-a0d0a356fd38c8f3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "247c404240b0ea28", "scanner": "scanner-primary", "fingerprint": "a0d0a356fd38c8f3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lwphr.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-ebd6cbe9c71e6042", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d80ba42cb789334b", "scanner": "scanner-primary", "fingerprint": "ebd6cbe9c71e6042", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-lwphr.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11cadeb1efac6964", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8093ababf86a17f3", "scanner": "scanner-primary", "fingerprint": "11cadeb1efac6964", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-viva-luzern.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-11cadeb1efac6964", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8319489a85caa482", "scanner": "scanner-primary", "fingerprint": "11cadeb1efac6964", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-viva-luzern.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d0ca027d8bec6711", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "26cb8072c5905919", "scanner": "scanner-primary", "fingerprint": "d0ca027d8bec6711", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-viva-luzern.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-10989b0ecf1d11c5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "72293b657b0953ae", "scanner": "scanner-primary", "fingerprint": "10989b0ecf1d11c5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-migros.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-10989b0ecf1d11c5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d69c6f51573dfbe9", "scanner": "scanner-primary", "fingerprint": "10989b0ecf1d11c5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-migros.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-6bdb88fb76d90364", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "27d5b8d367fd6726", "scanner": "scanner-primary", "fingerprint": "6bdb88fb76d90364", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-migros.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6b859155fa868bf1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "36c1334bc0b3b00f", "scanner": "scanner-primary", "fingerprint": "6b859155fa868bf1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-julius-baer.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6b859155fa868bf1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dd0856d2f88841d4", "scanner": "scanner-primary", "fingerprint": "6b859155fa868bf1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-julius-baer.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-a01ae8079fca317a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a2a7149f72a48c4f", "scanner": "scanner-primary", "fingerprint": "a01ae8079fca317a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-julius-baer.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-19d1dadb37785f71", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fe581f951da6b6df", "scanner": "scanner-primary", "fingerprint": "19d1dadb37785f71", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-srg-ssr.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-19d1dadb37785f71", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fb48dad36caab5a3", "scanner": "scanner-primary", "fingerprint": "19d1dadb37785f71", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-srg-ssr.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-fd725411c45c5529", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ce64a3f17c3187ad", "scanner": "scanner-primary", "fingerprint": "fd725411c45c5529", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-srg-ssr.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c66c8e4d3414de80", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4f36a15e36311861", "scanner": "scanner-primary", "fingerprint": "c66c8e4d3414de80", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-decathlon.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c66c8e4d3414de80", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "88018f0886926e75", "scanner": "scanner-primary", "fingerprint": "c66c8e4d3414de80", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-decathlon.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3f3f5d87be0622a3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0090e9258bf9b6b1", "scanner": "scanner-primary", "fingerprint": "3f3f5d87be0622a3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-decathlon.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae9e76f6d75d0fab", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "296ef03e65c34b80", "scanner": "scanner-primary", "fingerprint": "ae9e76f6d75d0fab", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-citta-di-lugano.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ae9e76f6d75d0fab", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04e3c3e14cd1902d", "scanner": "scanner-primary", "fingerprint": "ae9e76f6d75d0fab", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-citta-di-lugano.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f14cd1204a09bf68", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "819de370777731c0", "scanner": "scanner-primary", "fingerprint": "f14cd1204a09bf68", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-citta-di-lugano.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fd2ae0607c751bba", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "022ff4cfa4b6d290", "scanner": "scanner-primary", "fingerprint": "fd2ae0607c751bba", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-obach.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-fd2ae0607c751bba", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ff0c67c5baf09937", "scanner": "scanner-primary", "fingerprint": "fd2ae0607c751bba", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-obach.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-5b079a579a375058", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "23bfd9732385f5c0", "scanner": "scanner-primary", "fingerprint": "5b079a579a375058", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-privatklinik-obach.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3acefdeaee280f38", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "61d83c71113fb1d5", "scanner": "scanner-primary", "fingerprint": "3acefdeaee280f38", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kssg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-3acefdeaee280f38", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87cde7316c132cbf", "scanner": "scanner-primary", "fingerprint": "3acefdeaee280f38", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kssg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-cde49dfaf00ed7e4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "40285ced335613d3", "scanner": "scanner-primary", "fingerprint": "cde49dfaf00ed7e4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kssg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9315c13337718a6d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1bb74e624738ccd2", "scanner": "scanner-primary", "fingerprint": "9315c13337718a6d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksgr.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9315c13337718a6d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "87777f04c3913364", "scanner": "scanner-primary", "fingerprint": "9315c13337718a6d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksgr.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-801d64ea79487093", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "32d167c3f14d8303", "scanner": "scanner-primary", "fingerprint": "801d64ea79487093", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-ksgr.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2efc869c24a8ce14", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "340af289380b06b1", "scanner": "scanner-primary", "fingerprint": "2efc869c24a8ce14", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitex-zuerich.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-2efc869c24a8ce14", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e27c0aecdc089729", "scanner": "scanner-primary", "fingerprint": "2efc869c24a8ce14", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitex-zuerich.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-956979d8e70b0352", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "890b214b8a570987", "scanner": "scanner-primary", "fingerprint": "956979d8e70b0352", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-spitex-zuerich.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f0e83c72cfb9f79f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0886bd9a0966fec3", "scanner": "scanner-primary", "fingerprint": "f0e83c72cfb9f79f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gemeinde-st-moritz.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-f0e83c72cfb9f79f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fad712a5b3741cfc", "scanner": "scanner-primary", "fingerprint": "f0e83c72cfb9f79f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gemeinde-st-moritz.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f9c9251dcd962d5a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5447a432c946825b", "scanner": "scanner-primary", "fingerprint": "f9c9251dcd962d5a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-gemeinde-st-moritz.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7263fc876a2c9f84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c09f477beda51a65", "scanner": "scanner-primary", "fingerprint": "7263fc876a2c9f84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rpm-canary.yml"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-7263fc876a2c9f84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9133bbaa9bb2c725", "scanner": "scanner-primary", "fingerprint": "7263fc876a2c9f84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rpm-canary.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-7263fc876a2c9f84", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7d8c7983dbc9d9b5", "scanner": "scanner-primary", "fingerprint": "7263fc876a2c9f84", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rpm-canary.yml"}, "region": {"startLine": 100}}}]}, {"ruleId": "scanner-e8045074e423fa07", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fb1267074fcca46a", "scanner": "scanner-primary", "fingerprint": "e8045074e423fa07", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-collision-detector.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-e8045074e423fa07", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "53a50d4fdcbca3e2", "scanner": "scanner-primary", "fingerprint": "e8045074e423fa07", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pr-collision-detector.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-d99ac31d7f850b67", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7d357b316bd4b9f8", "scanner": "scanner-primary", "fingerprint": "d99ac31d7f850b67", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-roche.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-d99ac31d7f850b67", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9b45591b4ad810cf", "scanner": "scanner-primary", "fingerprint": "d99ac31d7f850b67", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-roche.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-64bd913b8467e21c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3b2e5b6c97d4ea86", "scanner": "scanner-primary", "fingerprint": "64bd913b8467e21c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-roche.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fc2c5e033aa731b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ccc329385a6065ce", "scanner": "scanner-primary", "fingerprint": "fc2c5e033aa731b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stadt-chur.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-fc2c5e033aa731b0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d4210e673ddafbd6", "scanner": "scanner-primary", "fingerprint": "fc2c5e033aa731b0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stadt-chur.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2dee857edadbc558", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b069fa4e217604c9", "scanner": "scanner-primary", "fingerprint": "2dee857edadbc558", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-stadt-chur.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eaf465dd98ebca54", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "505535e86c9e9e28", "scanner": "scanner-primary", "fingerprint": "eaf465dd98ebca54", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-valere.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-eaf465dd98ebca54", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5d5826e7a8dc0682", "scanner": "scanner-primary", "fingerprint": "eaf465dd98ebca54", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-valere.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-371f566e1a50c240", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7f33d31e5916645b", "scanner": "scanner-primary", "fingerprint": "371f566e1a50c240", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-clinique-de-valere.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c1b272d225ee2da4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "79486f75320af1b4", "scanner": "scanner-primary", "fingerprint": "c1b272d225ee2da4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-daler-hopital.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-c1b272d225ee2da4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8b738c5c44809a7b", "scanner": "scanner-primary", "fingerprint": "c1b272d225ee2da4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-daler-hopital.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-f40e3ec659292b13", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "bdee2ad9d2727f03", "scanner": "scanner-primary", "fingerprint": "f40e3ec659292b13", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-daler-hopital.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c68576883cd545e7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8902f7f848edab77", "scanner": "scanner-primary", "fingerprint": "c68576883cd545e7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-job-popularity.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-c68576883cd545e7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "35c2e816d6d73c26", "scanner": "scanner-primary", "fingerprint": "c68576883cd545e7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-job-popularity.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-93ccf43959f27029", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c96d9fa6c49f78bd", "scanner": "scanner-primary", "fingerprint": "93ccf43959f27029", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/refresh-job-popularity.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-993e11a96bb21e06", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5e5890441f7d50fd", "scanner": "scanner-primary", "fingerprint": "993e11a96bb21e06", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-usz.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-993e11a96bb21e06", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "72a2f2a5d619246b", "scanner": "scanner-primary", "fingerprint": "993e11a96bb21e06", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-usz.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-27673c8e3bf62b75", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "25533e5c7cc5013d", "scanner": "scanner-primary", "fingerprint": "27673c8e3bf62b75", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-usz.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a79c76a587e7c8c7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "682aa50214662a09", "scanner": "scanner-primary", "fingerprint": "a79c76a587e7c8c7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-goline.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-a79c76a587e7c8c7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "876352feefded642", "scanner": "scanner-primary", "fingerprint": "a79c76a587e7c8c7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-goline.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-1cc7688678a18a1a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "90338b9006bbfbe2", "scanner": "scanner-primary", "fingerprint": "1cc7688678a18a1a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-goline.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1afe8c0d41508656", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d78824ccf872b5b", "scanner": "scanner-primary", "fingerprint": "1afe8c0d41508656", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hilti.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1afe8c0d41508656", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fc52d43845bd528b", "scanner": "scanner-primary", "fingerprint": "1afe8c0d41508656", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hilti.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-52b9bd0df55df430", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0b3407221369f26a", "scanner": "scanner-primary", "fingerprint": "52b9bd0df55df430", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-hilti.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-856dc0a0ae6cfabb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1169235d922175ad", "scanner": "scanner-primary", "fingerprint": "856dc0a0ae6cfabb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-migros-hq.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-856dc0a0ae6cfabb", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a637520f00e59024", "scanner": "scanner-primary", "fingerprint": "856dc0a0ae6cfabb", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-migros-hq.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-84e9b53fb797bed2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e299613ab9362b7c", "scanner": "scanner-primary", "fingerprint": "84e9b53fb797bed2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-migros-hq.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-57c954f013376631", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "af35022bc43ad2c6", "scanner": "scanner-primary", "fingerprint": "57c954f013376631", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cedes.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-57c954f013376631", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ebf38f1d28965966", "scanner": "scanner-primary", "fingerprint": "57c954f013376631", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cedes.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-f0b43412a35b4bdd", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0aed006b13517db5", "scanner": "scanner-primary", "fingerprint": "f0b43412a35b4bdd", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cedes.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6ed03a78f79e7eb9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2314966e525f4639", "scanner": "scanner-primary", "fingerprint": "6ed03a78f79e7eb9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fnz.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6ed03a78f79e7eb9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9092fe6fc8a6c62e", "scanner": "scanner-primary", "fingerprint": "6ed03a78f79e7eb9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fnz.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-63e2a80928e0cfd5", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c38d76e129fea8a7", "scanner": "scanner-primary", "fingerprint": "63e2a80928e0cfd5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-fnz.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-54ffe122a255de38", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a970aec5c1d782a1", "scanner": "scanner-primary", "fingerprint": "54ffe122a255de38", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-crr-suva-sion.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-54ffe122a255de38", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "12c221e5e4d6363d", "scanner": "scanner-primary", "fingerprint": "54ffe122a255de38", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-crr-suva-sion.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-dfb750896d8af2f3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "77044cb483cf6247", "scanner": "scanner-primary", "fingerprint": "dfb750896d8af2f3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-crr-suva-sion.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9138eb1f7a5a17c4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0cf1ecac4a90a5f8", "scanner": "scanner-primary", "fingerprint": "9138eb1f7a5a17c4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zuger-kantonsspital.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-9138eb1f7a5a17c4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d544f67d898e24be", "scanner": "scanner-primary", "fingerprint": "9138eb1f7a5a17c4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zuger-kantonsspital.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-c933d046827581ed", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "617385ebda08fa8a", "scanner": "scanner-primary", "fingerprint": "c933d046827581ed", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-zuger-kantonsspital.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1e3645a2b8f4d2d6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "78e7e353bcbbe5e7", "scanner": "scanner-primary", "fingerprint": "1e3645a2b8f4d2d6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cereneo.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1e3645a2b8f4d2d6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fce14be48cf49f0d", "scanner": "scanner-primary", "fingerprint": "1e3645a2b8f4d2d6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cereneo.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-9bf7dd646dbc527e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "38987333a08c8fae", "scanner": "scanner-primary", "fingerprint": "9bf7dd646dbc527e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-cereneo.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f78928ca35a9cc5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fb641976b249b74d", "scanner": "scanner-primary", "fingerprint": "7f78928ca35a9cc5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sobi.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7f78928ca35a9cc5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6e1e481e2e374d55", "scanner": "scanner-primary", "fingerprint": "7f78928ca35a9cc5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sobi.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-bdb1fcce7ae392c3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7a8a0bb9ca499089", "scanner": "scanner-primary", "fingerprint": "bdb1fcce7ae392c3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-sobi.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e21d2ea305b02800", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8585fc185409ec2d", "scanner": "scanner-primary", "fingerprint": "e21d2ea305b02800", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alcon.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-e21d2ea305b02800", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9474213a85860a3d", "scanner": "scanner-primary", "fingerprint": "e21d2ea305b02800", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alcon.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-2725198847b81640", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "73f58ddd58d2ac31", "scanner": "scanner-primary", "fingerprint": "2725198847b81640", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-alcon.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-971a5a50b5f8ddd4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aa5f8e37eafb7abd", "scanner": "scanner-primary", "fingerprint": "971a5a50b5f8ddd4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-localsearch.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-971a5a50b5f8ddd4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "096e7e8798d97f78", "scanner": "scanner-primary", "fingerprint": "971a5a50b5f8ddd4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-localsearch.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-30fc5f8ef53617a6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "56807fc918713f43", "scanner": "scanner-primary", "fingerprint": "30fc5f8ef53617a6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-localsearch.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6a285250fe2af088", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2b9b5598d8b12362", "scanner": "scanner-primary", "fingerprint": "6a285250fe2af088", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rfsm-fribourg.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-6a285250fe2af088", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b0a73be76be61308", "scanner": "scanner-primary", "fingerprint": "6a285250fe2af088", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rfsm-fribourg.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3a00864b67933b65", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "946a0afae20bb4f4", "scanner": "scanner-primary", "fingerprint": "3a00864b67933b65", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-rfsm-fribourg.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-66bf2e8664f0aa7b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ae938ee394827828", "scanner": "scanner-primary", "fingerprint": "66bf2e8664f0aa7b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-wuerth-international.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-66bf2e8664f0aa7b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aad5334187a1c3d7", "scanner": "scanner-primary", "fingerprint": "66bf2e8664f0aa7b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-wuerth-international.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-87a2d16eaa5af2c2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d6e82cf801fd74f4", "scanner": "scanner-primary", "fingerprint": "87a2d16eaa5af2c2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-wuerth-international.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4cdd8bab14e0a592", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f6210bf4d5cbb1a3", "scanner": "scanner-primary", "fingerprint": "4cdd8bab14e0a592", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-suchthilfe-region-basel.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4cdd8bab14e0a592", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "051f72c2f4ea046d", "scanner": "scanner-primary", "fingerprint": "4cdd8bab14e0a592", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-suchthilfe-region-basel.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-714a747eda52c775", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c3845a7ed5026342", "scanner": "scanner-primary", "fingerprint": "714a747eda52c775", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-suchthilfe-region-basel.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ea6360637eb570a9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5fe6e942ab9dce4a", "scanner": "scanner-primary", "fingerprint": "ea6360637eb570a9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-capri-holdings.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-ea6360637eb570a9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "63c1ef4a43cbcac1", "scanner": "scanner-primary", "fingerprint": "ea6360637eb570a9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-capri-holdings.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-0ea6730f95ef1a35", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "dff10804ffd8f79d", "scanner": "scanner-primary", "fingerprint": "0ea6730f95ef1a35", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-capri-holdings.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-af802cf512e40fc0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8667b9eb23f42610", "scanner": "scanner-primary", "fingerprint": "af802cf512e40fc0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kronenhof.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-af802cf512e40fc0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a1402cd426f1ee24", "scanner": "scanner-primary", "fingerprint": "af802cf512e40fc0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kronenhof.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-3c1cfa9deb08f945", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8805ea31da483245", "scanner": "scanner-primary", "fingerprint": "3c1cfa9deb08f945", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-kronenhof.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a9145392552238b6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dc50e63d29068d5a", "scanner": "scanner-primary", "fingerprint": "a9145392552238b6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-upd.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-a9145392552238b6", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "075144fc8f21a8c9", "scanner": "scanner-primary", "fingerprint": "a9145392552238b6", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-upd.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-d25400a8318e1ada", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "85a88e8d637fbdb4", "scanner": "scanner-primary", "fingerprint": "d25400a8318e1ada", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-upd.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d244c462bc9bac7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fd1499550b5055da", "scanner": "scanner-primary", "fingerprint": "4d244c462bc9bac7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-suedhang.yml"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-4d244c462bc9bac7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f9d122415a945374", "scanner": "scanner-primary", "fingerprint": "4d244c462bc9bac7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-suedhang.yml"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-4d134e43af31c3f3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2e7942b572cff0c2", "scanner": "scanner-primary", "fingerprint": "4d134e43af31c3f3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/update-jobs-suedhang.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dfb6c6bc1002f932", "level": "note", "message": {"text": "Very large file: App.tsx (3357 lines)"}, "properties": {"repobilityId": "a4e8f86e5d6e531f", "scanner": "scanner-primary", "fingerprint": "dfb6c6bc1002f932", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-19fe5aefff088736", "level": "note", "message": {"text": "Very large file: build-plugins/jobsSeoPagesPlugin.ts (11818 lines)"}, "properties": {"repobilityId": "6c81c04acac52ab7", "scanner": "scanner-primary", "fingerprint": "19fe5aefff088736", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-63174885d74589c7", "level": "note", "message": {"text": "Very large file: build-plugins/seoHubsPlugin.ts (2617 lines)"}, "properties": {"repobilityId": "46c80774aae8cd46", "scanner": "scanner-primary", "fingerprint": "63174885d74589c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e49a64b85493f234", "level": "note", "message": {"text": "Very large file: build-plugins/fuelDailyPagesPlugin.ts (5498 lines)"}, "properties": {"repobilityId": "9662d5526f6a3034", "scanner": "scanner-primary", "fingerprint": "e49a64b85493f234", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7076aac6f2aa1fd3", "level": "note", "message": {"text": "Very large file: build-plugins/professionLandingsCopy.ts (1310 lines)"}, "properties": {"repobilityId": "159d7b92ca179360", "scanner": "scanner-primary", "fingerprint": "7076aac6f2aa1fd3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6c02ef6bd47cdff9", "level": "note", "message": {"text": "Very large file: build-plugins/fuelStationIndexPages.ts (1342 lines)"}, "properties": {"repobilityId": "af22bf8f61db11b0", "scanner": "scanner-primary", "fingerprint": "6c02ef6bd47cdff9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1b316c3792383324", "level": "note", "message": {"text": "Very large file: build-plugins/borderMunicipalityPagesPlugin.ts (1080 lines)"}, "properties": {"repobilityId": "bd0b010e7b5081a0", "scanner": "scanner-primary", "fingerprint": "1b316c3792383324", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2397d582cc5677ec", "level": "note", "message": {"text": "Very large file: build-plugins/jobSectorLanding.ts (1406 lines)"}, "properties": {"repobilityId": "5ad42e7ff9cef19c", "scanner": "scanner-primary", "fingerprint": "2397d582cc5677ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7034f03dadb4e5cc", "level": "note", "message": {"text": "Very large file: build-plugins/annualReportPlugin.ts (1110 lines)"}, "properties": {"repobilityId": "6dd63aa1f57d4cc2", "scanner": "scanner-primary", "fingerprint": "7034f03dadb4e5cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f7f2dd092635a486", "level": "note", "message": {"text": "Very large file: build-plugins/weeklyEmployersPlugin.ts (4286 lines)"}, "properties": {"repobilityId": "b33a4e01c66cf13b", "scanner": "scanner-primary", "fingerprint": "f7f2dd092635a486", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-84ac6603bc22e240", "level": "note", "message": {"text": "Very large file: build-plugins/editorialContent.ts (3447 lines)"}, "properties": {"repobilityId": "58b744db4e797fd4", "scanner": "scanner-primary", "fingerprint": "84ac6603bc22e240", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a1a4aec68cf7a926", "level": "note", "message": {"text": "Very large file: build-plugins/ogPagesPlugin.ts (1159 lines)"}, "properties": {"repobilityId": "18bb4cad1d554e90", "scanner": "scanner-primary", "fingerprint": "a1a4aec68cf7a926", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87371196ee22b378", "level": "note", "message": {"text": "Very large file: build-plugins/nursingLandingsCopy.ts (1572 lines)"}, "properties": {"repobilityId": "612514341a355a26", "scanner": "scanner-primary", "fingerprint": "87371196ee22b378", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-af749fa991a7f596", "level": "note", "message": {"text": "Very large file: build-plugins/healthPremiumsLandingPlugin.ts (3441 lines)"}, "properties": {"repobilityId": "6d4a77be8ed5d29d", "scanner": "scanner-primary", "fingerprint": "af749fa991a7f596", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8cff6b1a5dbc9d88", "level": "note", "message": {"text": "Very large file: build-plugins/relatedSearchClustersPlugin.ts (2848 lines)"}, "properties": {"repobilityId": "50f6eb362555c726", "scanner": "scanner-primary", "fingerprint": "8cff6b1a5dbc9d88", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-693ca3ce410eb224", "level": "note", "message": {"text": "Very large file: build-plugins/orphanQueryLandingPlugin.ts (1116 lines)"}, "properties": {"repobilityId": "1d40f75ffae01360", "scanner": "scanner-primary", "fingerprint": "693ca3ce410eb224", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f737d81d53d9382d", "level": "note", "message": {"text": "Very large file: build-plugins/careerLandingsCopy.ts (1782 lines)"}, "properties": {"repobilityId": "4b8eeb6534f06b01", "scanner": "scanner-primary", "fingerprint": "f737d81d53d9382d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb9f5fc66d940c39", "level": "note", "message": {"text": "Very large file: build-plugins/staticPagesPlugin.ts (4973 lines)"}, "properties": {"repobilityId": "5233ea25c1f6389d", "scanner": "scanner-primary", "fingerprint": "bb9f5fc66d940c39", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-83ec20266346ee50", "level": "note", "message": {"text": "Very large file: build-plugins/jobMarketSnapshotPlugin.ts (3299 lines)"}, "properties": {"repobilityId": "d80ae20d3dc2578b", "scanner": "scanner-primary", "fingerprint": "83ec20266346ee50", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fa235476f074f9d1", "level": "note", "message": {"text": "Very large file: build-plugins/sectionPagesPlugin.ts (1150 lines)"}, "properties": {"repobilityId": "748f218e7034272c", "scanner": "scanner-primary", "fingerprint": "fa235476f074f9d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e51704f249e3b8f0", "level": "note", "message": {"text": "Very large file: build-plugins/costOfLivingLandingsCopy.ts (841 lines)"}, "properties": {"repobilityId": "6331c607fc9c2191", "scanner": "scanner-primary", "fingerprint": "e51704f249e3b8f0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2bf9dec4bfeb0e67", "level": "note", "message": {"text": "Very large file: build-plugins/jobEditorialLanding.ts (2549 lines)"}, "properties": {"repobilityId": "10b3381568299244", "scanner": "scanner-primary", "fingerprint": "2bf9dec4bfeb0e67", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-102b280f5985aa00", "level": "note", "message": {"text": "Very large file: build-plugins/borderWaitPagesPlugin.ts (2729 lines)"}, "properties": {"repobilityId": "97b84a41c8285110", "scanner": "scanner-primary", "fingerprint": "102b280f5985aa00", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-09a9fcf99d5b009a", "level": "note", "message": {"text": "Very large file: build-plugins/shared/relatedLinks.ts (1408 lines)"}, "properties": {"repobilityId": "9e8c19d405b1249a", "scanner": "scanner-primary", "fingerprint": "09a9fcf99d5b009a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9bb51bd5137d262f", "level": "note", "message": {"text": "Very large file: build-plugins/shared/salaryLandingShell.ts (2138 lines)"}, "properties": {"repobilityId": "fb1bf8356e990246", "scanner": "scanner-primary", "fingerprint": "9bb51bd5137d262f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cf897902aefb3429", "level": "note", "message": {"text": "Very large file: tests/health-premiums-landing.test.ts (1839 lines)"}, "properties": {"repobilityId": "3d76d0a3157d2014", "scanner": "scanner-primary", "fingerprint": "cf897902aefb3429", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9bbde2245986d607", "level": "note", "message": {"text": "Very large file: scripts/sync-gsc-orphans.mjs (1482 lines)"}, "properties": {"repobilityId": "532123b411dd432c", "scanner": "scanner-primary", "fingerprint": "9bbde2245986d607", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ed54aa25c95bb75e", "level": "note", "message": {"text": "Very large file: scripts/audit-dist-multi.mjs (1964 lines)"}, "properties": {"repobilityId": "159f931f4d77a627", "scanner": "scanner-primary", "fingerprint": "ed54aa25c95bb75e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-db3c01e7eb9829b4", "level": "note", "message": {"text": "Very large file: scripts/send-newsletter.mjs (2311 lines)"}, "properties": {"repobilityId": "7356fba3ba6958e9", "scanner": "scanner-primary", "fingerprint": "db3c01e7eb9829b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b4d58f124821568f", "level": "note", "message": {"text": "Very large file: scripts/analytics-report.mjs (4379 lines)"}, "properties": {"repobilityId": "cb8eccd1d4f7cf07", "scanner": "scanner-primary", "fingerprint": "b4d58f124821568f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-37445149e1072f0e", "level": "note", "message": {"text": "Very large file: scripts/assemble-jobs-dataset.mjs (2075 lines)"}, "properties": {"repobilityId": "e280edfe80c09f85", "scanner": "scanner-primary", "fingerprint": "37445149e1072f0e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-20d9a84a1a98865f", "level": "note", "message": {"text": "Very large file: scripts/create-article.mjs (8276 lines)"}, "properties": {"repobilityId": "5fbb16071bd446b3", "scanner": "scanner-primary", "fingerprint": "20d9a84a1a98865f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a1a7a733822a0db6", "level": "note", "message": {"text": "Very large file: scripts/update-usi-jobs.mjs (1363 lines)"}, "properties": {"repobilityId": "b0eedd45a960716d", "scanner": "scanner-primary", "fingerprint": "a1a7a733822a0db6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-023b822f9471c2a3", "level": "note", "message": {"text": "Very large file: scripts/re-enrich-jobs.mjs (1116 lines)"}, "properties": {"repobilityId": "a79fc5d649bd43dd", "scanner": "scanner-primary", "fingerprint": "023b822f9471c2a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f10282d7c90f5608", "level": "note", "message": {"text": "Very large file: scripts/relocalize-pending-jobs.mjs (1144 lines)"}, "properties": {"repobilityId": "17ab62523e8eaac0", "scanner": "scanner-primary", "fingerprint": "f10282d7c90f5608", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ef3ab3eff11e13ab", "level": "note", "message": {"text": "Very large file: scripts/send-job-alerts.mjs (1182 lines)"}, "properties": {"repobilityId": "b824df4582c39630", "scanner": "scanner-primary", "fingerprint": "ef3ab3eff11e13ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5ebe55946cca46c7", "level": "note", "message": {"text": "Very large file: scripts/update-lis-jobs.mjs (1216 lines)"}, "properties": {"repobilityId": "f0bc8f02b26da82a", "scanner": "scanner-primary", "fingerprint": "5ebe55946cca46c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-623bc7d6a779074f", "level": "note", "message": {"text": "Very large file: scripts/lib/dedicated-crawler-common.mjs (6098 lines)"}, "properties": {"repobilityId": "786fe94a8fd45710", "scanner": "scanner-primary", "fingerprint": "623bc7d6a779074f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-74f3966aa6cf6581", "level": "note", "message": {"text": "Very large file: scripts/lib/shared-jobs-crawler.mjs (5559 lines)"}, "properties": {"repobilityId": "b1d412680977aba4", "scanner": "scanner-primary", "fingerprint": "74f3966aa6cf6581", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5f411bafef6ba934", "level": "note", "message": {"text": "Very large file: scripts/lib/ai-models.mjs (2800 lines)"}, "properties": {"repobilityId": "8b7fa44c1949b6d0", "scanner": "scanner-primary", "fingerprint": "5f411bafef6ba934", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-82024c1f229a0f1a", "level": "note", "message": {"text": "Very large file: components/vita/TicinoCompanies.tsx (961 lines)"}, "properties": {"repobilityId": "0bf72c2c5effbdfd", "scanner": "scanner-primary", "fingerprint": "82024c1f229a0f1a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-59e4e9659fde131e", "level": "note", "message": {"text": "Very large file: components/shared/SiteSearch.tsx (1515 lines)"}, "properties": {"repobilityId": "780a35c79a904d4a", "scanner": "scanner-primary", "fingerprint": "59e4e9659fde131e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d42d61de417339db", "level": "note", "message": {"text": "Very large file: components/shared/LeadMagnetCTA.tsx (1100 lines)"}, "properties": {"repobilityId": "0e5b3592cb0b6845", "scanner": "scanner-primary", "fingerprint": "d42d61de417339db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ff8b4e255624687d", "level": "note", "message": {"text": "Very large file: components/community/JobBoard.tsx (7857 lines)"}, "properties": {"repobilityId": "7873499412e5fa94", "scanner": "scanner-primary", "fingerprint": "ff8b4e255624687d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c15a37c9218ec7a3", "level": "note", "message": {"text": "Very large file: components/community/WhatsNewModal.tsx (2148 lines)"}, "properties": {"repobilityId": "50f88c9ee360171b", "scanner": "scanner-primary", "fingerprint": "c15a37c9218ec7a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-150a5067d64f594b", "level": "note", "message": {"text": "Very large file: components/community/BlogArticles.tsx (2823 lines)"}, "properties": {"repobilityId": "18e7723cc62550d2", "scanner": "scanner-primary", "fingerprint": "150a5067d64f594b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-593ca65276a9bcd6", "level": "note", "message": {"text": "Very large file: components/pages/PublisherPublishPage.tsx (1818 lines)"}, "properties": {"repobilityId": "a205cf79216c387c", "scanner": "scanner-primary", "fingerprint": "593ca65276a9bcd6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb13ff0bea643232", "level": "note", "message": {"text": "Very large file: components/pages/UserProfile.tsx (1807 lines)"}, "properties": {"repobilityId": "a9ab436fc9846e3b", "scanner": "scanner-primary", "fingerprint": "bb13ff0bea643232", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-daaafba95de2df14", "level": "note", "message": {"text": "Very large file: components/pages/AdminPanel.tsx (3224 lines)"}, "properties": {"repobilityId": "7099379480c40af3", "scanner": "scanner-primary", "fingerprint": "daaafba95de2df14", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ad0fd4976a4493fd", "level": "note", "message": {"text": "Very large file: components/calculator/InputCard.tsx (1110 lines)"}, "properties": {"repobilityId": "72ab59606f970556", "scanner": "scanner-primary", "fingerprint": "ad0fd4976a4493fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9081a02108443399", "level": "note", "message": {"text": "Very large file: components/guide/FrontierGuide.tsx (2837 lines)"}, "properties": {"repobilityId": "46c5e9eabd2c47e7", "scanner": "scanner-primary", "fingerprint": "9081a02108443399", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2436d0a0c3d14231", "level": "note", "message": {"text": "Very large file: services/analytics.ts (1902 lines)"}, "properties": {"repobilityId": "19ae5116452647ed", "scanner": "scanner-primary", "fingerprint": "2436d0a0c3d14231", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-124e44ffb1182eb1", "level": "note", "message": {"text": "Very large file: services/employerBrands.ts (1506 lines)"}, "properties": {"repobilityId": "c2dc5c7e2fdee8bc", "scanner": "scanner-primary", "fingerprint": "124e44ffb1182eb1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c8f6cc19a0e9ee59", "level": "note", "message": {"text": "Very large file: services/routerBlogData.ts (2724 lines)"}, "properties": {"repobilityId": "e2a53feb7c91f35c", "scanner": "scanner-primary", "fingerprint": "c8f6cc19a0e9ee59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b69575953fb9b9f1", "level": "note", "message": {"text": "Very large file: services/seoService.ts (4625 lines)"}, "properties": {"repobilityId": "c7ad4e6044dabd4b", "scanner": "scanner-primary", "fingerprint": "b69575953fb9b9f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6ef9898035260907", "level": "note", "message": {"text": "Very large file: services/authService.ts (1557 lines)"}, "properties": {"repobilityId": "edc5461d6881c1f0", "scanner": "scanner-primary", "fingerprint": "6ef9898035260907", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9671c749fdddafc7", "level": "note", "message": {"text": "Very large file: services/router.ts (3813 lines)"}, "properties": {"repobilityId": "31d97b7235292212", "scanner": "scanner-primary", "fingerprint": "9671c749fdddafc7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-10584496ffba63aa", "level": "note", "message": {"text": "Very large file: services/locales/de-guide.ts (1012 lines)"}, "properties": {"repobilityId": "13b9acebdb0c9c1f", "scanner": "scanner-primary", "fingerprint": "10584496ffba63aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-71af1c2dcf53820c", "level": "note", "message": {"text": "Very large file: services/locales/en-fisco.ts (874 lines)"}, "properties": {"repobilityId": "f5e7412416404044", "scanner": "scanner-primary", "fingerprint": "71af1c2dcf53820c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1106c1704f43a3cf", "level": "note", "message": {"text": "Very large file: services/locales/it-guide.ts (1038 lines)"}, "properties": {"repobilityId": "6ea650f2adf2f8a4", "scanner": "scanner-primary", "fingerprint": "1106c1704f43a3cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1f73b8d6a4a9bc97", "level": "note", "message": {"text": "Very large file: services/locales/en-core.ts (3400 lines)"}, "properties": {"repobilityId": "2e7f7666b127b98c", "scanner": "scanner-primary", "fingerprint": "1f73b8d6a4a9bc97", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ea73e21d57fa5e0", "level": "note", "message": {"text": "Very large file: services/locales/de-fisco.ts (874 lines)"}, "properties": {"repobilityId": "1a7d5b81840ff577", "scanner": "scanner-primary", "fingerprint": "3ea73e21d57fa5e0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c01abfd0885c6e45", "level": "note", "message": {"text": "Very large file: services/locales/it-core.ts (3489 lines)"}, "properties": {"repobilityId": "9661adb9655636d8", "scanner": "scanner-primary", "fingerprint": "c01abfd0885c6e45", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ba3e12707f7d4243", "level": "note", "message": {"text": "Very large file: services/locales/it-fisco.ts (905 lines)"}, "properties": {"repobilityId": "937ce291f50adee1", "scanner": "scanner-primary", "fingerprint": "ba3e12707f7d4243", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-95cccfa668869653", "level": "note", "message": {"text": "Very large file: services/locales/fr-core.ts (3403 lines)"}, "properties": {"repobilityId": "c1e9ee88dd6556e0", "scanner": "scanner-primary", "fingerprint": "95cccfa668869653", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c060b5a2058c2ee6", "level": "note", "message": {"text": "Very large file: services/locales/fr-guide.ts (1012 lines)"}, "properties": {"repobilityId": "41afa85743dfe4be", "scanner": "scanner-primary", "fingerprint": "c060b5a2058c2ee6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6bfa4bff75dca446", "level": "note", "message": {"text": "Very large file: services/locales/fr-fisco.ts (874 lines)"}, "properties": {"repobilityId": "906ba17a1de51448", "scanner": "scanner-primary", "fingerprint": "6bfa4bff75dca446", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a62dee4d4bc78441", "level": "note", "message": {"text": "Very large file: services/locales/en-guide.ts (1012 lines)"}, "properties": {"repobilityId": "8e9aff2985f75385", "scanner": "scanner-primary", "fingerprint": "a62dee4d4bc78441", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4e46824345701891", "level": "note", "message": {"text": "Very large file: services/locales/de-core.ts (3403 lines)"}, "properties": {"repobilityId": "9ceba47cf04d395a", "scanner": "scanner-primary", "fingerprint": "4e46824345701891", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b0145fefe26da276", "level": "note", "message": {"text": "Very large file: services/seo/seo-blog-3.ts (2024 lines)"}, "properties": {"repobilityId": "5b66048de4759845", "scanner": "scanner-primary", "fingerprint": "b0145fefe26da276", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-de3234754f2197d8", "level": "note", "message": {"text": "Very large file: services/seo/seo-blog-7.ts (9164 lines)"}, "properties": {"repobilityId": "23f045aa37a7ff0a", "scanner": "scanner-primary", "fingerprint": "de3234754f2197d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-83ffd6a2a2696d6a", "level": "note", "message": {"text": "Very large file: services/seo/seo-blog-4.ts (5421 lines)"}, "properties": {"repobilityId": "3cb8aa108d6c7fb0", "scanner": "scanner-primary", "fingerprint": "83ffd6a2a2696d6a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fc2e21e97f2bf704", "level": "note", "message": {"text": "Very large file: services/seo/seo-blog-6.ts (9176 lines)"}, "properties": {"repobilityId": "06210f2382b51924", "scanner": "scanner-primary", "fingerprint": "fc2e21e97f2bf704", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-765af0adf3d78dfe", "level": "note", "message": {"text": "Very large file: services/seo/faq-translations.ts (4612 lines)"}, "properties": {"repobilityId": "4a961afbd69a40f9", "scanner": "scanner-primary", "fingerprint": "765af0adf3d78dfe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5e61bc1e93cd7fc2", "level": "note", "message": {"text": "Very large file: services/seo/seo-blog-2.ts (4835 lines)"}, "properties": {"repobilityId": "7b7b3b6f3c5fa8ec", "scanner": "scanner-primary", "fingerprint": "5e61bc1e93cd7fc2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2ee7a26b7c6d9734", "level": "note", "message": {"text": "Very large file: services/seo/seo-blog-ch.ts (2209 lines)"}, "properties": {"repobilityId": "d6e495e3d03e4668", "scanner": "scanner-primary", "fingerprint": "2ee7a26b7c6d9734", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-58ac4bdd8d2e5578", "level": "note", "message": {"text": "53 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "58ac4bdd8d2e5578", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "c06de9c7b526e47d", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "7a231aa0d4ef5051", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "f95abf8597ca860f", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "1eb89abaf4718763", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "c059094dc1304d6f", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "bae3509612db5624", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "139fd9e91894bc1d", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-cc55229a7a3c078d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "properties": {"repobilityId": "51942fb3d5b8b5b4", "scanner": "scanner-primary", "fingerprint": "cc55229a7a3c078d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-48bb108fff8e8dbe", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .github/copilot-instructions.md"}, "properties": {"repobilityId": "4ecf14e8fecc6b34", "scanner": "scanner-primary", "fingerprint": "48bb108fff8e8dbe", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "agent_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/copilot-instructions.md"}, "region": {"startLine": 570}}}]}, {"ruleId": "scanner-22a534af3eb50d3f", "level": "none", "message": {"text": "Commented-code block (5 lines) in vite.config.ts:113"}, "properties": {"repobilityId": "441076bf269c6ea2", "scanner": "scanner-primary", "fingerprint": "22a534af3eb50d3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49f08fc54270137e", "level": "none", "message": {"text": "Commented-code block (9 lines) in index.tsx:91"}, "properties": {"repobilityId": "c891d81965e4f7f1", "scanner": "scanner-primary", "fingerprint": "49f08fc54270137e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b604f8ffe6dc9631", "level": "none", "message": {"text": "Commented-code block (5 lines) in knip.config.ts:108"}, "properties": {"repobilityId": "925d8b1a237b9781", "scanner": "scanner-primary", "fingerprint": "b604f8ffe6dc9631", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d68b2ea45ddaa683", "level": "none", "message": {"text": "Commented-code block (9 lines) in App.tsx:205"}, "properties": {"repobilityId": "a6fae48705ccf597", "scanner": "scanner-primary", "fingerprint": "d68b2ea45ddaa683", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11b52e9549c1f26f", "level": "none", "message": {"text": "Commented-code block (8 lines) in vitest.config.ts:26"}, "properties": {"repobilityId": "9562a2a560db593c", "scanner": "scanner-primary", "fingerprint": "11b52e9549c1f26f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-085672e5689908ad", "level": "none", "message": {"text": "Commented-code block (9 lines) in build-plugins/salaryHubContent.ts:159"}, "properties": {"repobilityId": "72092fad0f3f1eab", "scanner": "scanner-primary", "fingerprint": "085672e5689908ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf94f31378635bb8", "level": "note", "message": {"text": "Legacy-named symbol `__tRelatedLegacy` in build-plugins/jobsSeoPagesPlugin.ts:2140"}, "properties": {"repobilityId": "d0d3eda903ad6340", "scanner": "scanner-primary", "fingerprint": "cf94f31378635bb8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3e09cee37ecf7b4c", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/jobsSeoPagesPlugin.ts:149"}, "properties": {"repobilityId": "86c895df92ffcff6", "scanner": "scanner-primary", "fingerprint": "3e09cee37ecf7b4c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bdb75e8da6264395", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 build-plugins/jobsSeoPagesPlugin.ts:10622"}, "properties": {"repobilityId": "97f3ebdb03d18ce1", "scanner": "scanner-primary", "fingerprint": "bdb75e8da6264395", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-408cc4023b53ae98", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/salaryHubIndex.ts:570"}, "properties": {"repobilityId": "ba0c2caa222321c6", "scanner": "scanner-primary", "fingerprint": "408cc4023b53ae98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1d1c36abbc2c49f", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/seoHubsPlugin.ts:255"}, "properties": {"repobilityId": "79e602c5a8202358", "scanner": "scanner-primary", "fingerprint": "a1d1c36abbc2c49f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf5456ee22c6d7dc", "level": "note", "message": {"text": "Legacy-named symbol `jobLegacy` in build-plugins/legacyAliasPlugin.ts:212"}, "properties": {"repobilityId": "b2707b6a73557712", "scanner": "scanner-primary", "fingerprint": "cf5456ee22c6d7dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-00e4a0ed4fd74361", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/legacyAliasPlugin.ts:223"}, "properties": {"repobilityId": "7c158f5c3bd6047d", "scanner": "scanner-primary", "fingerprint": "00e4a0ed4fd74361", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad61325392055c81", "level": "note", "message": {"text": "Legacy-named symbol `safeLegacy` in build-plugins/calculatorLegacyAliasPlugin.ts:131"}, "properties": {"repobilityId": "64bfaf56a71218d8", "scanner": "scanner-primary", "fingerprint": "ad61325392055c81", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-95bea9b57889fc16", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/calculatorLegacyAliasPlugin.ts:162"}, "properties": {"repobilityId": "2ec20b0c7da8ae9c", "scanner": "scanner-primary", "fingerprint": "95bea9b57889fc16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0baa9fb92758e6bd", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/relatedSearchClustersData.ts:227"}, "properties": {"repobilityId": "42f28c2b1f89269b", "scanner": "scanner-primary", "fingerprint": "0baa9fb92758e6bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-286acc7a2de58b6f", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/fuelDailyPagesPlugin.ts:70"}, "properties": {"repobilityId": "9e083fd6f156b7e8", "scanner": "scanner-primary", "fingerprint": "286acc7a2de58b6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcb269f91aa1ebd4", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/fuelStationIndexPages.ts:88"}, "properties": {"repobilityId": "daafa8677f75080c", "scanner": "scanner-primary", "fingerprint": "fcb269f91aa1ebd4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8a2d4ae27b84ed4", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/cfHot404BridgePlugin.ts:54"}, "properties": {"repobilityId": "38c35d067afa5528", "scanner": "scanner-primary", "fingerprint": "b8a2d4ae27b84ed4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b97c319b714f64c7", "level": "none", "message": {"text": "Commented-code block (8 lines) in build-plugins/htmlTemplate.ts:212"}, "properties": {"repobilityId": "76b531ef50c76cad", "scanner": "scanner-primary", "fingerprint": "b97c319b714f64c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2bc3e9768f13d103", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/jobMarketSnapshotChCantonPages.ts:470"}, "properties": {"repobilityId": "bcc308fd8d8cc9ec", "scanner": "scanner-primary", "fingerprint": "2bc3e9768f13d103", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ab841796e1a6a17", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/postWalkCoordinatorPlugin.ts:327"}, "properties": {"repobilityId": "4476ae27645e41b4", "scanner": "scanner-primary", "fingerprint": "4ab841796e1a6a17", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-047c4c0b2350de84", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 build-plugins/borderWaitHydrationScript.ts:98"}, "properties": {"repobilityId": "890a880f30e7c008", "scanner": "scanner-primary", "fingerprint": "047c4c0b2350de84", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2e40b7a85eece80d", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/salaryHubArticles.ts:572"}, "properties": {"repobilityId": "826c391b9079b913", "scanner": "scanner-primary", "fingerprint": "2e40b7a85eece80d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05dc43577a505c38", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/localeJobsSplitPlugin.ts:104"}, "properties": {"repobilityId": "514ae0e9281f597c", "scanner": "scanner-primary", "fingerprint": "05dc43577a505c38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1b6f7424f9637a3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 build-plugins/localeJobsSplitPlugin.ts:107"}, "properties": {"repobilityId": "773c4d2e0374eb36", "scanner": "scanner-primary", "fingerprint": "a1b6f7424f9637a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7e135851dc00118b", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/postWalkWorker.mjs:63"}, "properties": {"repobilityId": "a47345bf02c1b580", "scanner": "scanner-primary", "fingerprint": "7e135851dc00118b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f3aa856026cc72e7", "level": "none", "message": {"text": "Commented-code block (11 lines) in build-plugins/batchWrite.ts:146"}, "properties": {"repobilityId": "d5e6a193749dc85d", "scanner": "scanner-primary", "fingerprint": "f3aa856026cc72e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aba8dca00c29edc1", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/jobSectorLanding.ts:627"}, "properties": {"repobilityId": "cf4417cf4743e679", "scanner": "scanner-primary", "fingerprint": "aba8dca00c29edc1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd6f5bef40fccb91", "level": "none", "message": {"text": "Commented-code block (13 lines) in build-plugins/cantonOrphanRedirectsPlugin.ts:101"}, "properties": {"repobilityId": "ab73765186c58389", "scanner": "scanner-primary", "fingerprint": "bd6f5bef40fccb91", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b391693d29915c88", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/weatherCityPagesPlugin.ts:578"}, "properties": {"repobilityId": "9e8e9778be3f8867", "scanner": "scanner-primary", "fingerprint": "b391693d29915c88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47d8b6a3f14cbf35", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/weeklyEmployersChCantonPages.ts:361"}, "properties": {"repobilityId": "98f1d1535f4376dc", "scanner": "scanner-primary", "fingerprint": "47d8b6a3f14cbf35", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e06c14c9da8e08b", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/annualReportPlugin.ts:698"}, "properties": {"repobilityId": "5e9c8dcb1d95406f", "scanner": "scanner-primary", "fingerprint": "3e06c14c9da8e08b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aee443100d818baa", "level": "none", "message": {"text": "Commented-code block (12 lines) in build-plugins/blogImageCdnFinalizePlugin.ts:7"}, "properties": {"repobilityId": "417cd321a41f6d53", "scanner": "scanner-primary", "fingerprint": "aee443100d818baa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b444aa1a6e48fe8c", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/salaryHubPlugin.ts:246"}, "properties": {"repobilityId": "c3f31f27ab33412c", "scanner": "scanner-primary", "fingerprint": "b444aa1a6e48fe8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9813e4239e08b21a", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/jobRecencyPagesPlugin.ts:174"}, "properties": {"repobilityId": "066555c19d80439f", "scanner": "scanner-primary", "fingerprint": "9813e4239e08b21a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f03e063d72f285f0", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/costOfLivingLandingsPlugin.ts:162"}, "properties": {"repobilityId": "e3946d50519e0cb3", "scanner": "scanner-primary", "fingerprint": "f03e063d72f285f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4a4ec311be2fb828", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/salaryStatsChCantonPages.ts:235"}, "properties": {"repobilityId": "8112b9d42cf8911a", "scanner": "scanner-primary", "fingerprint": "4a4ec311be2fb828", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df4e3236e1fb3683", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/seoHubsData.ts:58"}, "properties": {"repobilityId": "73139fe5c7469e40", "scanner": "scanner-primary", "fingerprint": "df4e3236e1fb3683", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a5aa1d5e1319196", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/jobSectorPagesPlugin.ts:277"}, "properties": {"repobilityId": "4b9141561fd662e6", "scanner": "scanner-primary", "fingerprint": "5a5aa1d5e1319196", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1574df70370a62de", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/constants.ts:342"}, "properties": {"repobilityId": "e2e82d31be5da340", "scanner": "scanner-primary", "fingerprint": "1574df70370a62de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bdffe3e98ab6bfcc", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/searchConsoleCompat.ts:13"}, "properties": {"repobilityId": "1cd1dbfb11848794", "scanner": "scanner-primary", "fingerprint": "bdffe3e98ab6bfcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b94a418012bee800", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/healthPremiumsData.ts:860"}, "properties": {"repobilityId": "0261f8d34f18496e", "scanner": "scanner-primary", "fingerprint": "b94a418012bee800", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cef172295ac58abe", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/weeklyEmployersPlugin.ts:122"}, "properties": {"repobilityId": "0ecab731651bff52", "scanner": "scanner-primary", "fingerprint": "cef172295ac58abe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-443ac6b929f9a1ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/editorialContent.ts:14"}, "properties": {"repobilityId": "5604686d542145f5", "scanner": "scanner-primary", "fingerprint": "443ac6b929f9a1ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5ae937bd9086c09", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/legacyRedirectsPlugin.ts:268"}, "properties": {"repobilityId": "e6e5ad77f8ad591d", "scanner": "scanner-primary", "fingerprint": "d5ae937bd9086c09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5ec238b583557b1", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/fuelDailyData.ts:149"}, "properties": {"repobilityId": "c573dafda44dcf84", "scanner": "scanner-primary", "fingerprint": "b5ec238b583557b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6863b71652432d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/jobOgImagesPlugin.ts:543"}, "properties": {"repobilityId": "e728df831a1c029d", "scanner": "scanner-primary", "fingerprint": "b6863b71652432d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7cf022af1d133962", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/ogPagesPlugin.ts:45"}, "properties": {"repobilityId": "1e278d472b89f988", "scanner": "scanner-primary", "fingerprint": "7cf022af1d133962", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73cf1b682c41b5d5", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/companyHubBridgePlugin.ts:365"}, "properties": {"repobilityId": "ec1f5ac790ee74ae", "scanner": "scanner-primary", "fingerprint": "73cf1b682c41b5d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab47bd2ee20f33de", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/flatHtmlRedirectPlugin.ts:158"}, "properties": {"repobilityId": "29f91c10c8340e8e", "scanner": "scanner-primary", "fingerprint": "ab47bd2ee20f33de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6048549e32d4cb94", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/profilePlugin.ts:81"}, "properties": {"repobilityId": "bd7fe182aab9ab6c", "scanner": "scanner-primary", "fingerprint": "6048549e32d4cb94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2b6eaceddb0a632", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/nursingLandingsCopy.ts:50"}, "properties": {"repobilityId": "466a8186d9c0066c", "scanner": "scanner-primary", "fingerprint": "a2b6eaceddb0a632", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34a2be266228c1cb", "level": "none", "message": {"text": "Commented-code block (13 lines) in build-plugins/healthPremiumsLandingPlugin.ts:2036"}, "properties": {"repobilityId": "f0c46cdeea44e075", "scanner": "scanner-primary", "fingerprint": "34a2be266228c1cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dda788af065283e9", "level": "none", "message": {"text": "Commented-code block (14 lines) in build-plugins/relatedSearchClustersPlugin.ts:110"}, "properties": {"repobilityId": "d2b4bf3bc709fd11", "scanner": "scanner-primary", "fingerprint": "dda788af065283e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f354cad91c9c142", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/salaryHubScenarios.ts:37"}, "properties": {"repobilityId": "0e2779ca5f5bbcdd", "scanner": "scanner-primary", "fingerprint": "6f354cad91c9c142", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad5015c18a167bfa", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/writeRegistryLifecyclePlugin.ts:94"}, "properties": {"repobilityId": "b3dd65c4a65c29f3", "scanner": "scanner-primary", "fingerprint": "ad5015c18a167bfa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-534110d118ae5347", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/orphanQueryLandingPlugin.ts:501"}, "properties": {"repobilityId": "3fc21feb9c53c3e5", "scanner": "scanner-primary", "fingerprint": "534110d118ae5347", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38937cd563da22d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/professionCantonLandings.ts:340"}, "properties": {"repobilityId": "6caa362b16a0cd97", "scanner": "scanner-primary", "fingerprint": "38937cd563da22d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78875c94114df3e9", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/staticPagesPlugin.ts:82"}, "properties": {"repobilityId": "af3428806786be68", "scanner": "scanner-primary", "fingerprint": "78875c94114df3e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc5320f9647559f6", "level": "none", "message": {"text": "Commented-code block (11 lines) in build-plugins/sharedWriteRegistry.ts:263"}, "properties": {"repobilityId": "905d7235a2719f86", "scanner": "scanner-primary", "fingerprint": "cc5320f9647559f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50032b128bab841c", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/cityJobsAggregate.ts:267"}, "properties": {"repobilityId": "8a5d7f19770569b3", "scanner": "scanner-primary", "fingerprint": "50032b128bab841c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f56acacbada8d90", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/frSalaireNetLandingPlugin.ts:95"}, "properties": {"repobilityId": "854685956a45db70", "scanner": "scanner-primary", "fingerprint": "3f56acacbada8d90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c70dd7d4dc30aee", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/weeklyEmployersData.ts:335"}, "properties": {"repobilityId": "706da8290bd1e661", "scanner": "scanner-primary", "fingerprint": "0c70dd7d4dc30aee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-484ada4052a7de83", "level": "none", "message": {"text": "Commented-code block (8 lines) in build-plugins/weatherBorderWaitFusionPlugin.ts:189"}, "properties": {"repobilityId": "6ef1aca1cc325dab", "scanner": "scanner-primary", "fingerprint": "484ada4052a7de83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29ac2af01c7181ab", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/jobMarketSnapshotPlugin.ts:110"}, "properties": {"repobilityId": "3a7b0c07ac9a6413", "scanner": "scanner-primary", "fingerprint": "29ac2af01c7181ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c7d80a7d7ad0fbc2", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/careerJobsAggregate.ts:522"}, "properties": {"repobilityId": "39e5d56f73ca04c2", "scanner": "scanner-primary", "fingerprint": "c7d80a7d7ad0fbc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d10a13eb503ddd64", "level": "none", "message": {"text": "Commented-code block (11 lines) in build-plugins/sectionPagesPlugin.ts:902"}, "properties": {"repobilityId": "da40c3ae3b9b23da", "scanner": "scanner-primary", "fingerprint": "d10a13eb503ddd64", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d913e9ad4fb5fa7f", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/comparisonsHubAggregate.ts:234"}, "properties": {"repobilityId": "03677a5f448c5e5e", "scanner": "scanner-primary", "fingerprint": "d913e9ad4fb5fa7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b43155766ccbb63", "level": "none", "message": {"text": "Commented-code block (8 lines) in build-plugins/hreflangPostprocessPlugin.ts:133"}, "properties": {"repobilityId": "ff047b1bb9e4afab", "scanner": "scanner-primary", "fingerprint": "1b43155766ccbb63", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcdccaa3780c551d", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/asyncCssPlugin.ts:26"}, "properties": {"repobilityId": "58dd0ea74604a8f9", "scanner": "scanner-primary", "fingerprint": "dcdccaa3780c551d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-452b533da38c8523", "level": "none", "message": {"text": "Commented-code block (11 lines) in build-plugins/borderWaitMapPlugin.ts:499"}, "properties": {"repobilityId": "4267d6bdc087a19b", "scanner": "scanner-primary", "fingerprint": "452b533da38c8523", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27a962ca69cabadd", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/costOfLivingLandingsCopy.ts:25"}, "properties": {"repobilityId": "bac1d87b073fc19f", "scanner": "scanner-primary", "fingerprint": "27a962ca69cabadd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-616d4a4f0b82bd26", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/publisherAdPagesPlugin.ts:183"}, "properties": {"repobilityId": "dcf91d0e1d90cbd9", "scanner": "scanner-primary", "fingerprint": "616d4a4f0b82bd26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ba4fa96ddbd7796", "level": "note", "message": {"text": "Legacy-named symbol `fromLegacy` in build-plugins/jobEditorialLanding.ts:1438"}, "properties": {"repobilityId": "aec8f860a54c2238", "scanner": "scanner-primary", "fingerprint": "2ba4fa96ddbd7796", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4ed6c8e3311a0aec", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/jobEditorialLanding.ts:81"}, "properties": {"repobilityId": "5ea0327442d12d64", "scanner": "scanner-primary", "fingerprint": "4ed6c8e3311a0aec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8cd4ee13f154391", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/borderWaitPagesPlugin.ts:111"}, "properties": {"repobilityId": "ea908368add69fc5", "scanner": "scanner-primary", "fingerprint": "d8cd4ee13f154391", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d4c75f06ceb63f2b", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/faqHubPlugin.ts:392"}, "properties": {"repobilityId": "569597bab25383f7", "scanner": "scanner-primary", "fingerprint": "d4c75f06ceb63f2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-866b9996951bfc52", "level": "none", "message": {"text": "Commented-code block (10 lines) in build-plugins/shared/cantonHubEditorial.ts:116"}, "properties": {"repobilityId": "4eaff0df8ab1bd97", "scanner": "scanner-primary", "fingerprint": "866b9996951bfc52", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5dd30546815eba61", "level": "none", "message": {"text": "Commented-code block (9 lines) in build-plugins/shared/brandCanonicalMap.ts:83"}, "properties": {"repobilityId": "bc26fcb0b2bc3dbe", "scanner": "scanner-primary", "fingerprint": "5dd30546815eba61", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-892875a43b9ad0a2", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/cantonSalaryIndex.ts:115"}, "properties": {"repobilityId": "caf9d5b3b0d98bae", "scanner": "scanner-primary", "fingerprint": "892875a43b9ad0a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85aadeeab66c5472", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/jobListingProse.ts:68"}, "properties": {"repobilityId": "f9f2aa01bd3cddd7", "scanner": "scanner-primary", "fingerprint": "85aadeeab66c5472", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f3fec4bcdaddffa", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/cantonSeoProse.ts:123"}, "properties": {"repobilityId": "8edfe64dcd517d48", "scanner": "scanner-primary", "fingerprint": "5f3fec4bcdaddffa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ccaf3a23615795f", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/redirectStubMarker.mjs:3"}, "properties": {"repobilityId": "b883b706de3b5992", "scanner": "scanner-primary", "fingerprint": "3ccaf3a23615795f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c456921a00888e8", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/shared/redirectStubMarker.ts:3"}, "properties": {"repobilityId": "e98b3ece3d737597", "scanner": "scanner-primary", "fingerprint": "3c456921a00888e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ea2804686577aa8", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/shared/precomputeCache.ts:5"}, "properties": {"repobilityId": "a74909f7651ce9aa", "scanner": "scanner-primary", "fingerprint": "2ea2804686577aa8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-805d8667f3c33afd", "level": "none", "message": {"text": "Commented-code block (8 lines) in build-plugins/shared/slimJobIndex.ts:3"}, "properties": {"repobilityId": "9b109e5b2e7bd4b3", "scanner": "scanner-primary", "fingerprint": "805d8667f3c33afd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82664e7bca63c7ac", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/jobBoardCommuterContext.ts:196"}, "properties": {"repobilityId": "033c8586876b85a6", "scanner": "scanner-primary", "fingerprint": "82664e7bca63c7ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-952ac9dfd1f5d79d", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/shared/ejpMarker.mjs:3"}, "properties": {"repobilityId": "2ee157f72e9620ec", "scanner": "scanner-primary", "fingerprint": "952ac9dfd1f5d79d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3d94d3b6f97c003", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/bridgeThinShell.ts:7"}, "properties": {"repobilityId": "2ca69057ab28ddbd", "scanner": "scanner-primary", "fingerprint": "d3d94d3b6f97c003", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d4af39d39a8dfcd5", "level": "none", "message": {"text": "Commented-code block (9 lines) in build-plugins/shared/clusterThinShell.ts:11"}, "properties": {"repobilityId": "705311ce51cb2926", "scanner": "scanner-primary", "fingerprint": "d4af39d39a8dfcd5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e6eededa4e884a4", "level": "none", "message": {"text": "Commented-code block (8 lines) in build-plugins/shared/cantonResolvers.mjs:3"}, "properties": {"repobilityId": "c18348a446ca9eb5", "scanner": "scanner-primary", "fingerprint": "9e6eededa4e884a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93dd807efa0d7415", "level": "none", "message": {"text": "Commented-code block (8 lines) in build-plugins/shared/employerCardHtml.ts:78"}, "properties": {"repobilityId": "6ba470ff6b36000e", "scanner": "scanner-primary", "fingerprint": "93dd807efa0d7415", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e62853d67c8a5fd9", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/shared/stripLiteralMarkdown.ts:21"}, "properties": {"repobilityId": "871d4da82f129513", "scanner": "scanner-primary", "fingerprint": "e62853d67c8a5fd9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cfbc9b4f2e4585dd", "level": "none", "message": {"text": "Commented-code block (9 lines) in build-plugins/shared/cantonCities.ts:7"}, "properties": {"repobilityId": "684c4f8e2bbbbeb9", "scanner": "scanner-primary", "fingerprint": "cfbc9b4f2e4585dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24f9901c99836793", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/shared/relatedLinks.ts:892"}, "properties": {"repobilityId": "9bd728fd88f4c090", "scanner": "scanner-primary", "fingerprint": "24f9901c99836793", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3bf4a0a534c4d8ee", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/shared/gscKeywordThinShell.ts:3"}, "properties": {"repobilityId": "f28622f9d0eb0c3a", "scanner": "scanner-primary", "fingerprint": "3bf4a0a534c4d8ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-281b297eef3e4f77", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/shared/htmlMinify.ts:3"}, "properties": {"repobilityId": "56be5498ef0a25a3", "scanner": "scanner-primary", "fingerprint": "281b297eef3e4f77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6800f27049f1222c", "level": "none", "message": {"text": "Commented-code block (5 lines) in build-plugins/shared/jobsSeoProfiler.ts:53"}, "properties": {"repobilityId": "ae3d3347a312a815", "scanner": "scanner-primary", "fingerprint": "6800f27049f1222c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e189265210688454", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/blogImageCdn.ts:12"}, "properties": {"repobilityId": "04bf8877d9e1bcc1", "scanner": "scanner-primary", "fingerprint": "e189265210688454", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e991e296a89dbe56", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/seoContentTokens.ts:204"}, "properties": {"repobilityId": "0e247cec522c84ab", "scanner": "scanner-primary", "fingerprint": "e991e296a89dbe56", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1851a841b0a5b161", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/ejpMarker.ts:3"}, "properties": {"repobilityId": "0f396b42bcf3a9db", "scanner": "scanner-primary", "fingerprint": "1851a841b0a5b161", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-942b92a40c333bdb", "level": "none", "message": {"text": "Commented-code block (11 lines) in build-plugins/shared/trafficEvidenceFilter.ts:9"}, "properties": {"repobilityId": "6c4de3721eadd307", "scanner": "scanner-primary", "fingerprint": "942b92a40c333bdb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d82c5a7a5dfaad30", "level": "none", "message": {"text": "Commented-code block (8 lines) in build-plugins/shared/bridgePageProse.ts:50"}, "properties": {"repobilityId": "51f0b2439202adcb", "scanner": "scanner-primary", "fingerprint": "d82c5a7a5dfaad30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ff51e62e47c66f7", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/shared/salaryLandingShell.ts:159"}, "properties": {"repobilityId": "71b893d3ac42fd27", "scanner": "scanner-primary", "fingerprint": "3ff51e62e47c66f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7874d2571da4e46", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/shared/cantonSection.ts:12"}, "properties": {"repobilityId": "51b09ca6babee6f5", "scanner": "scanner-primary", "fingerprint": "f7874d2571da4e46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc2d7b9fc193063a", "level": "none", "message": {"text": "Commented-code block (10 lines) in build-plugins/shared/jobCardHtml.ts:178"}, "properties": {"repobilityId": "2986a06a8c0ceb64", "scanner": "scanner-primary", "fingerprint": "dc2d7b9fc193063a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abea90469cfdb33b", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/shared/softLandingThinShell.ts:3"}, "properties": {"repobilityId": "3417115be7c7f43d", "scanner": "scanner-primary", "fingerprint": "abea90469cfdb33b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42c2c0bc40606b21", "level": "none", "message": {"text": "Commented-code block (10 lines) in build-plugins/shared/jobDetailHtml/highlightsChips.ts:30"}, "properties": {"repobilityId": "46d6000bf1ab6ae2", "scanner": "scanner-primary", "fingerprint": "42c2c0bc40606b21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f07ed7867901aaf", "level": "none", "message": {"text": "Commented-code block (7 lines) in build-plugins/shared/jobDescription/parser.ts:169"}, "properties": {"repobilityId": "db505b01de92bee7", "scanner": "scanner-primary", "fingerprint": "3f07ed7867901aaf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ecde5e73cee05ed1", "level": "none", "message": {"text": "Commented-code block (6 lines) in build-plugins/shared/jobDescription/toHtml.ts:52"}, "properties": {"repobilityId": "fd680daf469bdcdb", "scanner": "scanner-primary", "fingerprint": "ecde5e73cee05ed1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cef168961fd0d8bf", "level": "none", "message": {"text": "Commented-code block (7 lines) in functions/src/stripePublisherCore.js:209"}, "properties": {"repobilityId": "b6ecd610eb9b00b9", "scanner": "scanner-primary", "fingerprint": "cef168961fd0d8bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3d5205864e2c159", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/linkedinAuthCallback.js:115"}, "properties": {"repobilityId": "3fba5dc16b4904e5", "scanner": "scanner-primary", "fingerprint": "b3d5205864e2c159", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-775ee58c9e914689", "level": "none", "message": {"text": "Commented-code block (6 lines) in functions/src/newsletterUnosendWebhookCore.js:24"}, "properties": {"repobilityId": "c745531f057d477c", "scanner": "scanner-primary", "fingerprint": "775ee58c9e914689", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1eaa33dfec9695fa", "level": "none", "message": {"text": "Commented-code block (7 lines) in functions/src/trafficSchedulerCore.js:26"}, "properties": {"repobilityId": "07c8412ec1b88ddb", "scanner": "scanner-primary", "fingerprint": "1eaa33dfec9695fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-568d762176852cd0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/trafficSchedulerCore.js:66"}, "properties": {"repobilityId": "bb00165ec38048d7", "scanner": "scanner-primary", "fingerprint": "568d762176852cd0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-95c05d2146785fc2", "level": "none", "message": {"text": "Commented-code block (5 lines) in functions/src/newsletterMailerooWebhookCore.js:93"}, "properties": {"repobilityId": "1318173fd59ecef8", "scanner": "scanner-primary", "fingerprint": "95c05d2146785fc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62f6683d2bedd27b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/githubProxy.js:76"}, "properties": {"repobilityId": "91950a5321048b43", "scanner": "scanner-primary", "fingerprint": "62f6683d2bedd27b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-59c424afc87c1cc0", "level": "none", "message": {"text": "Commented-code block (5 lines) in functions/src/chatbotInference.js:41"}, "properties": {"repobilityId": "6792a088e38b1163", "scanner": "scanner-primary", "fingerprint": "59c424afc87c1cc0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-324a6f354001b253", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/src/chatbotInference.js:130"}, "properties": {"repobilityId": "179ca8697022174a", "scanner": "scanner-primary", "fingerprint": "324a6f354001b253", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-835634b7f80a7372", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/pdf-job-content.test.ts:113"}, "properties": {"repobilityId": "021200006d05337d", "scanner": "scanner-primary", "fingerprint": "835634b7f80a7372", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ae2026ff4e966c2", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/flat-html-redirect.test.ts:138"}, "properties": {"repobilityId": "4def63c899564eef", "scanner": "scanner-primary", "fingerprint": "9ae2026ff4e966c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc4a5a029a7f6afc", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/duferco-crawler.test.ts:134"}, "properties": {"repobilityId": "4e4ca9699a1077f6", "scanner": "scanner-primary", "fingerprint": "bc4a5a029a7f6afc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75f9a70a0bf50193", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/canton-snapshot-prose-comparator-href.test.ts:2"}, "properties": {"repobilityId": "ab973833f771ef12", "scanner": "scanner-primary", "fingerprint": "75f9a70a0bf50193", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3fae95cf9876d7ee", "level": "note", "message": {"text": "Legacy-named symbol `ref_legacy` in tests/newsletter-maileroo-webhook-core.test.ts:199"}, "properties": {"repobilityId": "e2941b35903121b5", "scanner": "scanner-primary", "fingerprint": "3fae95cf9876d7ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c923febc4b4adc91", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/app-lite-shell.test.tsx:216"}, "properties": {"repobilityId": "3c533967842db3bc", "scanner": "scanner-primary", "fingerprint": "c923febc4b4adc91", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6bc83b2ee3da8fd", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/cleanup-jobs-archive-dedup-losers.test.ts:145"}, "properties": {"repobilityId": "48aec69a7aa70746", "scanner": "scanner-primary", "fingerprint": "b6bc83b2ee3da8fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc257de755982661", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/canton-seo-prose-calc-href.test.ts:2"}, "properties": {"repobilityId": "38d8dde3d246d4d9", "scanner": "scanner-primary", "fingerprint": "dc257de755982661", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27e8f091c105b678", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/related-search-clusters-or-fill-floor.test.ts:32"}, "properties": {"repobilityId": "7cf67573ea05d683", "scanner": "scanner-primary", "fingerprint": "27e8f091c105b678", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2af5cb7b957d96c", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/orphan-canton-paths.test.ts:74"}, "properties": {"repobilityId": "ae72ad1d6ab49b49", "scanner": "scanner-primary", "fingerprint": "e2af5cb7b957d96c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a94ec31709a5f9f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/regenerate-slugs-helpers.test.ts:11"}, "properties": {"repobilityId": "5342f597cba19549", "scanner": "scanner-primary", "fingerprint": "8a94ec31709a5f9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c975f174e64956c8", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/meta-descriptions.test.ts:225"}, "properties": {"repobilityId": "5211d9ad49e8d5fe", "scanner": "scanner-primary", "fingerprint": "c975f174e64956c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7961bcd6d801374d", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/alten-job-parser.test.ts:65"}, "properties": {"repobilityId": "ab15215244676cf3", "scanner": "scanner-primary", "fingerprint": "7961bcd6d801374d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b355fccdfb40b4af", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/job-detail-seed.test.ts:100"}, "properties": {"repobilityId": "ab11cb56b0757ee4", "scanner": "scanner-primary", "fingerprint": "b355fccdfb40b4af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7fb4528eb112fb4f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/publisher-job-projection.test.ts:324"}, "properties": {"repobilityId": "eb4615f810117776", "scanner": "scanner-primary", "fingerprint": "7fb4528eb112fb4f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dff25928dbdeb409", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/dist-salary-hub-footer-portal.test.ts:118"}, "properties": {"repobilityId": "9e61c5f58308f227", "scanner": "scanner-primary", "fingerprint": "dff25928dbdeb409", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-234923f6949249eb", "level": "none", "message": {"text": "Commented-code block (15 lines) in tests/noindex-builders.test.ts:103"}, "properties": {"repobilityId": "51c4fcf318541ab2", "scanner": "scanner-primary", "fingerprint": "234923f6949249eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5092daf1e980fa5e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/news-sitemap-whitelist.test.ts:51"}, "properties": {"repobilityId": "a3a7a613a5f58c70", "scanner": "scanner-primary", "fingerprint": "5092daf1e980fa5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69300b2338e9c9ed", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/posthog-error-filter-may18.test.ts:45"}, "properties": {"repobilityId": "b405c0d1c950aa5d", "scanner": "scanner-primary", "fingerprint": "69300b2338e9c9ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-410dbf97cb3fdced", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/coop-crawler.test.ts:384"}, "properties": {"repobilityId": "df7badbe92b387ad", "scanner": "scanner-primary", "fingerprint": "410dbf97cb3fdced", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed2bacd9128639cf", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/adsense-lazy-load.test.ts:62"}, "properties": {"repobilityId": "252dc5e78c0f7a89", "scanner": "scanner-primary", "fingerprint": "ed2bacd9128639cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf105de0a5ead9ff", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/newsletter-template-tracking.test.ts:122"}, "properties": {"repobilityId": "50043cef1c1ad153", "scanner": "scanner-primary", "fingerprint": "cf105de0a5ead9ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91f7446868cfa9c5", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/search-console-compat.test.ts:22"}, "properties": {"repobilityId": "3f658e7a8e3a3894", "scanner": "scanner-primary", "fingerprint": "91f7446868cfa9c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9903045224fb9383", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/luks-crawler.test.ts:181"}, "properties": {"repobilityId": "0e79b89cb3559710", "scanner": "scanner-primary", "fingerprint": "9903045224fb9383", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78865f1f1fb19f5f", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/related-search-clusters-shell.test.ts:27"}, "properties": {"repobilityId": "be33620dbefb4ab9", "scanner": "scanner-primary", "fingerprint": "78865f1f1fb19f5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-520e16c48dc6f7cd", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/url-max-length.test.ts:23"}, "properties": {"repobilityId": "1304c825374d2fd2", "scanner": "scanner-primary", "fingerprint": "520e16c48dc6f7cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c1dc4826b9854c8a", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/bridge-orphan-flicker-guard.test.ts:64"}, "properties": {"repobilityId": "5e73e3a2214fc407", "scanner": "scanner-primary", "fingerprint": "c1dc4826b9854c8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f23819817ecf5ef4", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/related-search-clusters.test.ts:131"}, "properties": {"repobilityId": "06ac0cb038cc0cf2", "scanner": "scanner-primary", "fingerprint": "f23819817ecf5ef4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f48ac839b4d94d97", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/seo-completeness.test.ts:196"}, "properties": {"repobilityId": "65ddfa216e34bed2", "scanner": "scanner-primary", "fingerprint": "f48ac839b4d94d97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad6713fbe8ef841b", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/crawler-regression-quality-guards.test.ts:203"}, "properties": {"repobilityId": "1a1227500e164035", "scanner": "scanner-primary", "fingerprint": "ad6713fbe8ef841b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-791fe14385dde692", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/pre-spend-topic-gate.test.ts:176"}, "properties": {"repobilityId": "fea8d3cd253366d9", "scanner": "scanner-primary", "fingerprint": "791fe14385dde692", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a544b06432bbe56", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/fuel-diesel-italy.test.ts:47"}, "properties": {"repobilityId": "a6585547e6e09467", "scanner": "scanner-primary", "fingerprint": "0a544b06432bbe56", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4efe69dd8bfe568", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/no-js-redirects-in-build.test.ts:68"}, "properties": {"repobilityId": "96132d801c685b91", "scanner": "scanner-primary", "fingerprint": "c4efe69dd8bfe568", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c69b5eddae31ece", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/sector-landing-content.test.ts:44"}, "properties": {"repobilityId": "23a8f19837dfffa8", "scanner": "scanner-primary", "fingerprint": "2c69b5eddae31ece", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-425633e87af9d2ff", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/router.test.ts:578"}, "properties": {"repobilityId": "db534d567672cff7", "scanner": "scanner-primary", "fingerprint": "425633e87af9d2ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0ee5df0626ca7ed", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/trafficService.quality.test.ts:140"}, "properties": {"repobilityId": "b14063fb3914baf4", "scanner": "scanner-primary", "fingerprint": "c0ee5df0626ca7ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1de510864ae81ac4", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/translation-length-ratio-gate.test.ts:8"}, "properties": {"repobilityId": "3ac8bb7e01dcd29c", "scanner": "scanner-primary", "fingerprint": "1de510864ae81ac4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e10a9b1b57422cf", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/city-jobs-hub.test.ts:310"}, "properties": {"repobilityId": "042ae8e2843b274e", "scanner": "scanner-primary", "fingerprint": "2e10a9b1b57422cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6cd013e0e658d8d1", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/weekly-employers.test.ts:417"}, "properties": {"repobilityId": "8f6bc4fb4d634ea0", "scanner": "scanner-primary", "fingerprint": "6cd013e0e658d8d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce4f0013b69458d5", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/deploy-workflow.test.ts:91"}, "properties": {"repobilityId": "2f40a0e6ac4fc591", "scanner": "scanner-primary", "fingerprint": "ce4f0013b69458d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29abfa4703d7b875", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/google-news-compliance.test.ts:36"}, "properties": {"repobilityId": "a4e3203841c09496", "scanner": "scanner-primary", "fingerprint": "29abfa4703d7b875", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-704b978df9043f9d", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/audit-orphan-pages.test.ts:271"}, "properties": {"repobilityId": "5c168a8c98a5ec15", "scanner": "scanner-primary", "fingerprint": "704b978df9043f9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfb5e6df711136cc", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/givaudan-crawler.test.ts:63"}, "properties": {"repobilityId": "5b176b5bf493a59b", "scanner": "scanner-primary", "fingerprint": "dfb5e6df711136cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0451c4a7ee1c3979", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/job-sector-landing.test.ts:552"}, "properties": {"repobilityId": "3319eefab10fc794", "scanner": "scanner-primary", "fingerprint": "0451c4a7ee1c3979", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0dd5edb76b824c66", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/fuel-station-redesign.test.ts:224"}, "properties": {"repobilityId": "9e74274195c1feec", "scanner": "scanner-primary", "fingerprint": "0dd5edb76b824c66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5ade0343cd49758", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/static-pages-seo-entry-lookup.test.ts:60"}, "properties": {"repobilityId": "4df045825faca53d", "scanner": "scanner-primary", "fingerprint": "f5ade0343cd49758", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-64739f0cfa56a420", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/blog-headline-validation.test.ts:214"}, "properties": {"repobilityId": "53dd3550e7e9d489", "scanner": "scanner-primary", "fingerprint": "64739f0cfa56a420", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0533f56aac99c27f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/jobboard-related-search-navigation.test.ts:61"}, "properties": {"repobilityId": "2c82daa0763a8f34", "scanner": "scanner-primary", "fingerprint": "0533f56aac99c27f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9187f6627d29e565", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/dedicated-crawler-thin-source-ratio-gate.test.ts:154"}, "properties": {"repobilityId": "48e6c8532e242898", "scanner": "scanner-primary", "fingerprint": "9187f6627d29e565", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9dc46c4bea8f7061", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/newsletter-qa-gate.test.ts:20"}, "properties": {"repobilityId": "3b6a7f5191a825ad", "scanner": "scanner-primary", "fingerprint": "9dc46c4bea8f7061", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ec9b105997cc421", "level": "none", "message": {"text": "Commented-code block (13 lines) in tests/bridge-canton-aware.test.ts:35"}, "properties": {"repobilityId": "3f54f1e9bc8af062", "scanner": "scanner-primary", "fingerprint": "0ec9b105997cc421", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-543d3d51e8270986", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/switzerland-unemployment-parser.test.ts:57"}, "properties": {"repobilityId": "835ea374c044f344", "scanner": "scanner-primary", "fingerprint": "543d3d51e8270986", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92f8b75437f606c8", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/dedicated-crawler-common.test.ts:511"}, "properties": {"repobilityId": "66984d3ffc965e7c", "scanner": "scanner-primary", "fingerprint": "92f8b75437f606c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dddbe185c745df70", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/jobboard-detail-apply-links.test.ts:10"}, "properties": {"repobilityId": "db31762c0c465e0c", "scanner": "scanner-primary", "fingerprint": "dddbe185c745df70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5ff564ff0d62cf4", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/profession-canton-landings.test.ts:92"}, "properties": {"repobilityId": "5a749bc9e274c6d3", "scanner": "scanner-primary", "fingerprint": "c5ff564ff0d62cf4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f290d83c33b824f", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/comparator-href-ssot.test.ts:2"}, "properties": {"repobilityId": "50edbe8d5efc9a8a", "scanner": "scanner-primary", "fingerprint": "6f290d83c33b824f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e8b8ad1963bbb14", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/setup.tsx:3"}, "properties": {"repobilityId": "06199b86ba9f4f03", "scanner": "scanner-primary", "fingerprint": "3e8b8ad1963bbb14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fadb5b8a601899b2", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/dist-duplicate-meta-description.test.ts:63"}, "properties": {"repobilityId": "45dc9c65a426085f", "scanner": "scanner-primary", "fingerprint": "fadb5b8a601899b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae740457127defcf", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/allianz-source-lang.test.ts:44"}, "properties": {"repobilityId": "39e72f318d9be06c", "scanner": "scanner-primary", "fingerprint": "ae740457127defcf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6523d9462ae80c41", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/raiffeisen-vc-crawler.test.ts:20"}, "properties": {"repobilityId": "c2c2b8f1b001f53f", "scanner": "scanner-primary", "fingerprint": "6523d9462ae80c41", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89b587cbb3fa320a", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/jina-proxy.test.ts:63"}, "properties": {"repobilityId": "4198962119feb416", "scanner": "scanner-primary", "fingerprint": "89b587cbb3fa320a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-148b2503cd2ccba9", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/no-internal-nofollow.test.tsx:28"}, "properties": {"repobilityId": "f14b90472d174b5c", "scanner": "scanner-primary", "fingerprint": "148b2503cd2ccba9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bdce49e4627fda7d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/solique-jsonld-parsers.test.ts:269"}, "properties": {"repobilityId": "1f71ee7f283c891e", "scanner": "scanner-primary", "fingerprint": "bdce49e4627fda7d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65a0d85f0fb99efd", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/canton-snapshot-prose-calc-href.test.ts:2"}, "properties": {"repobilityId": "08fde93035426585", "scanner": "scanner-primary", "fingerprint": "65a0d85f0fb99efd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-15e541919c518b4e", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/reconcile-slugs-merged-count-contract.test.ts:10"}, "properties": {"repobilityId": "3d0eb244627625fa", "scanner": "scanner-primary", "fingerprint": "15e541919c518b4e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef01d3096d9da946", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/fuel-daily-pages.test.ts:32"}, "properties": {"repobilityId": "fdc91367b87fdc5e", "scanner": "scanner-primary", "fingerprint": "ef01d3096d9da946", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7bd283eda571dc6", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/half-canton-merge.test.ts:208"}, "properties": {"repobilityId": "65d8bd8a82f8b7be", "scanner": "scanner-primary", "fingerprint": "b7bd283eda571dc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ef735b2fbc6027f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/static-pages-blog-skip.test.ts:11"}, "properties": {"repobilityId": "7f1a9e4545d0be2c", "scanner": "scanner-primary", "fingerprint": "7ef735b2fbc6027f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86b223138f9a0287", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/job-url-key.test.ts:47"}, "properties": {"repobilityId": "343e9c7e3c04610b", "scanner": "scanner-primary", "fingerprint": "86b223138f9a0287", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b9dc04ba9c9bbb9", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/fuel-generator-diesel-ranking.test.ts:26"}, "properties": {"repobilityId": "f2fbc5f4fec47a17", "scanner": "scanner-primary", "fingerprint": "4b9dc04ba9c9bbb9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-049080a2bd0a4396", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/dxt-crawler.test.ts:23"}, "properties": {"repobilityId": "8818c2109aad20e4", "scanner": "scanner-primary", "fingerprint": "049080a2bd0a4396", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c90c055ac17c461", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/workflow-permissions-parity.test.ts:332"}, "properties": {"repobilityId": "5d04effdd3bf9dad", "scanner": "scanner-primary", "fingerprint": "5c90c055ac17c461", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9baa94e96bff566", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/title-length.test.ts:19"}, "properties": {"repobilityId": "8c328269a26a9693", "scanner": "scanner-primary", "fingerprint": "a9baa94e96bff566", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70156575972fac73", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/job-locale-consistency.test.ts:19"}, "properties": {"repobilityId": "8e3e5a50a6fb8c38", "scanner": "scanner-primary", "fingerprint": "70156575972fac73", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-141afec56dc450bc", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/github-issue-creator-gate.test.ts:208"}, "properties": {"repobilityId": "d115e6c88badbade", "scanner": "scanner-primary", "fingerprint": "141afec56dc450bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3543df2692f8ff77", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/hirslanden-crawler.test.ts:201"}, "properties": {"repobilityId": "54b5322af6a017b8", "scanner": "scanner-primary", "fingerprint": "3543df2692f8ff77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-15b2b465e6380eb3", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/crawler-shared-fetch-retry.test.ts:145"}, "properties": {"repobilityId": "266287ed08f2a37d", "scanner": "scanner-primary", "fingerprint": "15b2b465e6380eb3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b001cdf5afcd046", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/post-build/faq-uniqueness.test.ts:13"}, "properties": {"repobilityId": "5495ca49d7ef746a", "scanner": "scanner-primary", "fingerprint": "5b001cdf5afcd046", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e33c5dfa174c2930", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/build-plugins/salaryLandingShell.test.ts:183"}, "properties": {"repobilityId": "9a1e4ff790833c76", "scanner": "scanner-primary", "fingerprint": "e33c5dfa174c2930", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-279600efae771321", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/build-plugins/criticalCssRootHeight.test.ts:58"}, "properties": {"repobilityId": "79cecea6075097f8", "scanner": "scanner-primary", "fingerprint": "279600efae771321", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f0d45ae1ec76569", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/build-plugins/weeklyEmployersJobCardSpa.test.ts:80"}, "properties": {"repobilityId": "43488a386dd43157", "scanner": "scanner-primary", "fingerprint": "1f0d45ae1ec76569", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2077e33c6d346d14", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/build-plugins/collapsifySeoBlock.test.ts:10"}, "properties": {"repobilityId": "d7c0e3430704648e", "scanner": "scanner-primary", "fingerprint": "2077e33c6d346d14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ca2644af581a72a", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/build-plugins/job-card-canonical-adoption.test.ts:3"}, "properties": {"repobilityId": "49676e3e1d58ae2c", "scanner": "scanner-primary", "fingerprint": "0ca2644af581a72a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-651a58bbc4b99c2d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/build-plugins/employer-card-html.test.ts:41"}, "properties": {"repobilityId": "9ab7fa364fbf877f", "scanner": "scanner-primary", "fingerprint": "651a58bbc4b99c2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ab8a3502e59c2de", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/build-plugins/featured-job-projection.test.ts:86"}, "properties": {"repobilityId": "d2d74183f1bc33be", "scanner": "scanner-primary", "fingerprint": "8ab8a3502e59c2de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c36804500ab225e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/parsers/smn-board-listing-href.test.ts:123"}, "properties": {"repobilityId": "747582c8918f3b63", "scanner": "scanner-primary", "fingerprint": "6c36804500ab225e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7cb9324a0daa1f14", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/router/canton-city-routing.test.ts:78"}, "properties": {"repobilityId": "e38cb87592b8b39f", "scanner": "scanner-primary", "fingerprint": "7cb9324a0daa1f14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1dc74195bbd910c", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/router/canton-static-overlay-slugs.test.ts:104"}, "properties": {"repobilityId": "4b2794b9f1b2d805", "scanner": "scanner-primary", "fingerprint": "b1dc74195bbd910c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c909773ba680e636", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/scripts/audit-parser-quality.test.ts:219"}, "properties": {"repobilityId": "9be5a76ea4acea84", "scanner": "scanner-primary", "fingerprint": "c909773ba680e636", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f86ec8310632493e", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/scripts/quality-alerts.test.ts:3"}, "properties": {"repobilityId": "ab4f41eb948f5f23", "scanner": "scanner-primary", "fingerprint": "f86ec8310632493e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30bb106888ca0fa6", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/scripts/ai-models-skip-error-capture.test.ts:5"}, "properties": {"repobilityId": "70db829734d91a36", "scanner": "scanner-primary", "fingerprint": "30bb106888ca0fa6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef5787dd3c89c49c", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/scripts/ai-models-discovery-shape-guard.test.ts:3"}, "properties": {"repobilityId": "4b7ae836d23fa24d", "scanner": "scanner-primary", "fingerprint": "ef5787dd3c89c49c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2dd3ed18edf1d5b2", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/scripts/quota-exhausted-classifier.test.ts:6"}, "properties": {"repobilityId": "874f1c6dd81d5e14", "scanner": "scanner-primary", "fingerprint": "2dd3ed18edf1d5b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f75d99a52d147b9", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/scripts/tune-discovery-quota.test.ts:3"}, "properties": {"repobilityId": "55e84f0d45cc2e5c", "scanner": "scanner-primary", "fingerprint": "6f75d99a52d147b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56a47a8bd29c451f", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/scripts/ai-models-nvidia-discovery-allowlist.test.ts:3"}, "properties": {"repobilityId": "4926467c40522a8a", "scanner": "scanner-primary", "fingerprint": "56a47a8bd29c451f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-96973cc97775775b", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/scripts/fetch-article-performance.test.ts:124"}, "properties": {"repobilityId": "d7158dceb8ea44f6", "scanner": "scanner-primary", "fingerprint": "96973cc97775775b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31205d754a971e7f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/scripts/revenue-monitor.test.ts:3"}, "properties": {"repobilityId": "04faa41a6c13d486", "scanner": "scanner-primary", "fingerprint": "31205d754a971e7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f7ef4aeb8022fd6", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/scripts/build-evidence-index.test.ts:3"}, "properties": {"repobilityId": "298fa557bd1efd01", "scanner": "scanner-primary", "fingerprint": "2f7ef4aeb8022fd6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8b11ca8a30f1acd", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/scripts/mine-topic-candidates.test.ts:224"}, "properties": {"repobilityId": "27feacd8fa337357", "scanner": "scanner-primary", "fingerprint": "d8b11ca8a30f1acd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08e7364ada4b2e41", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/scripts/topic-sources/reddit.test.ts:67"}, "properties": {"repobilityId": "f2ac5fd48f427fa6", "scanner": "scanner-primary", "fingerprint": "08e7364ada4b2e41", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cf3c6a2293ba6d1", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/scripts/lib/scoring/cascadedScore.test.ts:160"}, "properties": {"repobilityId": "7cdc540d9f513cee", "scanner": "scanner-primary", "fingerprint": "9cf3c6a2293ba6d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-622617a061d319c6", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/scripts/lib/scoring/embeddingStoreBinary.test.ts:3"}, "properties": {"repobilityId": "144d0ebe20b11e69", "scanner": "scanner-primary", "fingerprint": "622617a061d319c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66eec4ce9b11f7ef", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/scripts/lib/scoring/dedupTextSync.test.ts:3"}, "properties": {"repobilityId": "8bee5dc584e5ccba", "scanner": "scanner-primary", "fingerprint": "66eec4ce9b11f7ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0aed7adb9d162733", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/scripts/lib/discovery/domainAnchor.test.ts:3"}, "properties": {"repobilityId": "625f9ad19c9cca2c", "scanner": "scanner-primary", "fingerprint": "0aed7adb9d162733", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1074de7e2e85360", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/scripts/lib/scheduler/winnerEvaluator.test.ts:3"}, "properties": {"repobilityId": "be7d8917be93a496", "scanner": "scanner-primary", "fingerprint": "b1074de7e2e85360", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99496096326ec949", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/lib/trigger-self.test.ts:1"}, "properties": {"repobilityId": "73869545d1e42e15", "scanner": "scanner-primary", "fingerprint": "99496096326ec949", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae05a8824aea5de8", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/community/JobBoard.sticky-sidebar.test.tsx:50"}, "properties": {"repobilityId": "3c61dde08889c2da", "scanner": "scanner-primary", "fingerprint": "ae05a8824aea5de8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-953ca95e69f059a1", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/calculator/calculator-paywall.test.tsx:293"}, "properties": {"repobilityId": "213adfeade194080", "scanner": "scanner-primary", "fingerprint": "953ca95e69f059a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8119c102f7efd4bc", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/regression/recency-router-guards.test.ts:114"}, "properties": {"repobilityId": "5c1353a765fd1761", "scanner": "scanner-primary", "fingerprint": "8119c102f7efd4bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0474843a88d3467a", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/regression/seo-landing-pattern.test.ts:105"}, "properties": {"repobilityId": "79e3e943cb43144f", "scanner": "scanner-primary", "fingerprint": "0474843a88d3467a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6b44432ce635223", "level": "none", "message": {"text": "Commented-code block (11 lines) in tests/regression/meta-tag-refresh-on-nav.test.tsx:129"}, "properties": {"repobilityId": "8fdeb76387ddfea0", "scanner": "scanner-primary", "fingerprint": "f6b44432ce635223", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-880f04f1bef3a1bc", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/regression/seo-static-ad-slots.test.ts:49"}, "properties": {"repobilityId": "afea160485599b0e", "scanner": "scanner-primary", "fingerprint": "880f04f1bef3a1bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cdc81da7ca0b11c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/regression/spa-client-side-nav-recency.test.tsx:198"}, "properties": {"repobilityId": "49c1f9fb9bd4ce35", "scanner": "scanner-primary", "fingerprint": "cdc81da7ca0b11c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb8f2149bb326220", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/e2e/heading-utility-classes-live.spec.ts:52"}, "properties": {"repobilityId": "b292137f00bb12dd", "scanner": "scanner-primary", "fingerprint": "bb8f2149bb326220", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3bf9ce820545e8d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/e2e/hub-chrome-parity.spec.ts:59"}, "properties": {"repobilityId": "cb3ca5e947bf43a2", "scanner": "scanner-primary", "fingerprint": "3bf9ce820545e8d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5154a66717540b9", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/e2e/calculator-no-runtime-errors.test.ts:23"}, "properties": {"repobilityId": "70f11076a5fb141b", "scanner": "scanner-primary", "fingerprint": "c5154a66717540b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27b223312d4918bc", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/e2e/post-deploy-rendering-live.spec.ts:173"}, "properties": {"repobilityId": "9d476720575e629c", "scanner": "scanner-primary", "fingerprint": "27b223312d4918bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-310eb8844a84e574", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/e2e/seo-visual-regression.spec.ts:6"}, "properties": {"repobilityId": "cde1dd8590e9a079", "scanner": "scanner-primary", "fingerprint": "310eb8844a84e574", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a0b00c4281e9ec7", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/e2e/autologin-bridge-preserves-params.spec.ts:43"}, "properties": {"repobilityId": "bb966988bb8a8a39", "scanner": "scanner-primary", "fingerprint": "0a0b00c4281e9ec7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-acb0e4c7e9b7e753", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/e2e/sectors-landing-live.spec.ts:141"}, "properties": {"repobilityId": "bf61fece0fdf3696", "scanner": "scanner-primary", "fingerprint": "acb0e4c7e9b7e753", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e70fd62068c9eb79", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/e2e/spa-hydration-contract-live.spec.ts:3"}, "properties": {"repobilityId": "051c8e144dbc9196", "scanner": "scanner-primary", "fingerprint": "e70fd62068c9eb79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0bfafec4f9424bd8", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/seo/cathedral-job-detail-canton.test.ts:10"}, "properties": {"repobilityId": "c1e48e49bdccdf9f", "scanner": "scanner-primary", "fingerprint": "0bfafec4f9424bd8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc325140ed414a13", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/weekly-employers-bfs-reachable.test.ts:73"}, "properties": {"repobilityId": "b7a0622490cbf4ee", "scanner": "scanner-primary", "fingerprint": "bc325140ed414a13", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-145c38fe74f83f98", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-canton-landing-order.test.ts:58"}, "properties": {"repobilityId": "505393da75323c73", "scanner": "scanner-primary", "fingerprint": "145c38fe74f83f98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcd9c809088f73f1", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/audit-text-html-ratio-rate-gate.test.ts:126"}, "properties": {"repobilityId": "8e3947aa3df2df82", "scanner": "scanner-primary", "fingerprint": "dcd9c809088f73f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a22f2985540e7897", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/job-sector-page-weight.test.ts:70"}, "properties": {"repobilityId": "c7787192e0a21ecd", "scanner": "scanner-primary", "fingerprint": "a22f2985540e7897", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03c1d922e75d5ada", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/seo/cathedral-previous-slug-canton.test.ts:23"}, "properties": {"repobilityId": "7f3d77f4bb33e0a5", "scanner": "scanner-primary", "fingerprint": "03c1d922e75d5ada", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6170d95e4e1c8c4", "level": "none", "message": {"text": "Commented-code block (27 lines) in tests/seo/thin-shell-ejp-marker.test.ts:88"}, "properties": {"repobilityId": "318f86d757993e61", "scanner": "scanner-primary", "fingerprint": "a6170d95e4e1c8c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2f44532a997297b", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/seo/related-search-clusters-emitted.test.ts:483"}, "properties": {"repobilityId": "ac74b1a67edb9ad8", "scanner": "scanner-primary", "fingerprint": "a2f44532a997297b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73611640f10d7b23", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/audit-bfs-depth-rate-gate.test.ts:110"}, "properties": {"repobilityId": "fa64b5acccdd6f92", "scanner": "scanner-primary", "fingerprint": "73611640f10d7b23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-480cf1d39a8d09cc", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-no-ti-hardcodes.test.ts:12"}, "properties": {"repobilityId": "d56b3cd3baa941ec", "scanner": "scanner-primary", "fingerprint": "480cf1d39a8d09cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-041267855ed384d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/bridge-page-prose.test.ts:54"}, "properties": {"repobilityId": "4f714ea8dbd39c9e", "scanner": "scanner-primary", "fingerprint": "041267855ed384d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fef378d28e7797f5", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/seo/seo-static-css.test.ts:28"}, "properties": {"repobilityId": "1c0f2f07f500f2f2", "scanner": "scanner-primary", "fingerprint": "fef378d28e7797f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e629e5502d272538", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/seo/cathedral-hreflang-x-default.test.ts:11"}, "properties": {"repobilityId": "091021894b1c803c", "scanner": "scanner-primary", "fingerprint": "e629e5502d272538", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-455ee2f657c5ca60", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/seo/seo-hubs-pagination-bfs.test.ts:197"}, "properties": {"repobilityId": "c6595d8840b6b715", "scanner": "scanner-primary", "fingerprint": "455ee2f657c5ca60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cdd4a03c6ece89e", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/seo/inline-text-to-html-sanitize.test.ts:83"}, "properties": {"repobilityId": "f3c1c4d70d555ae4", "scanner": "scanner-primary", "fingerprint": "2cdd4a03c6ece89e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-651ef618f79bbc53", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/job-detail-html-snapshot.test.ts:29"}, "properties": {"repobilityId": "a5a4e7c6df90b2b6", "scanner": "scanner-primary", "fingerprint": "651ef618f79bbc53", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b63615f0442c5b4", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/seo/small-sitemaps-orphans-eliminated.test.ts:130"}, "properties": {"repobilityId": "ef33050f42889b9b", "scanner": "scanner-primary", "fingerprint": "9b63615f0442c5b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68720ecf8e18bb81", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/seo/dist-shrink.test.ts:39"}, "properties": {"repobilityId": "880b445ee99db012", "scanner": "scanner-primary", "fingerprint": "68720ecf8e18bb81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1b99df149bc240f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/expired-job-prose-marker.test.ts:52"}, "properties": {"repobilityId": "b1f158842f970486", "scanner": "scanner-primary", "fingerprint": "e1b99df149bc240f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbbfc664ab3ac4a3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/weekly-employers-text-ratio.test.ts:122"}, "properties": {"repobilityId": "5eda36e8420634d6", "scanner": "scanner-primary", "fingerprint": "fbbfc664ab3ac4a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21c1b698682f0d11", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/seo/breadcrumb-coverage.test.ts:52"}, "properties": {"repobilityId": "7ce2627e1ffc9601", "scanner": "scanner-primary", "fingerprint": "21c1b698682f0d11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb2416e789b9396b", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/no-inlanguage-on-forbidden-schemas.test.ts:27"}, "properties": {"repobilityId": "b1c2e92c1058b414", "scanner": "scanner-primary", "fingerprint": "cb2416e789b9396b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fda4e6c2b140c3d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-editorial-slug-tables.test.ts:21"}, "properties": {"repobilityId": "111ec49d5b0cd65e", "scanner": "scanner-primary", "fingerprint": "fda4e6c2b140c3d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d574f5c7203c9a3", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/seo/strip-literal-markdown.test.ts:4"}, "properties": {"repobilityId": "92a645cb39ae5d7c", "scanner": "scanner-primary", "fingerprint": "0d574f5c7203c9a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e69fe4a2f0a1e94", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-expired-tracking-canton.test.ts:3"}, "properties": {"repobilityId": "7c0922b27cf86417", "scanner": "scanner-primary", "fingerprint": "4e69fe4a2f0a1e94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9f304ea02055419", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/seo/cathedral-canton-hub-parity.test.ts:23"}, "properties": {"repobilityId": "f3f28a69e9f9e631", "scanner": "scanner-primary", "fingerprint": "f9f304ea02055419", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4cdf87e5e630e3d7", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/seo/static-job-page-body.test.ts:46"}, "properties": {"repobilityId": "a701c85f98c5e0f8", "scanner": "scanner-primary", "fingerprint": "4cdf87e5e630e3d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03bf67f48331e538", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-adsense-channels.mjs:52"}, "properties": {"repobilityId": "9cda67e9d47a6e27", "scanner": "scanner-primary", "fingerprint": "03bf67f48331e538", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-016ab446756f6e0a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/validate-webcam-urls.mjs:40"}, "properties": {"repobilityId": "a690e382c753f9a7", "scanner": "scanner-primary", "fingerprint": "016ab446756f6e0a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0f302a37710e44c8", "level": "none", "message": {"text": "Commented-code block (11 lines) in scripts/update-grace-jobs.mjs:86"}, "properties": {"repobilityId": "1988597839fd1518", "scanner": "scanner-primary", "fingerprint": "0f302a37710e44c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9799d16d039577e3", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/identify-top-marquee-by-gsc.mjs:443"}, "properties": {"repobilityId": "943b1be8a4681ef1", "scanner": "scanner-primary", "fingerprint": "9799d16d039577e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea66079ca8930b90", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/identify-top-marquee-by-gsc.mjs:151"}, "properties": {"repobilityId": "09d59ba568e49828", "scanner": "scanner-primary", "fingerprint": "ea66079ca8930b90", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9f74e438c27ead97", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/regen-parser-fix-slices.mjs:86"}, "properties": {"repobilityId": "5e121a7eb8bb4cc2", "scanner": "scanner-primary", "fingerprint": "9f74e438c27ead97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5f8d17657917662", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/reconcile-here-usage.mjs:74"}, "properties": {"repobilityId": "3f08eaeded4a1c2b", "scanner": "scanner-primary", "fingerprint": "b5f8d17657917662", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cbed577801b00cf", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/update-fnz-jobs.mjs:64"}, "properties": {"repobilityId": "db9920e4b97b3aa5", "scanner": "scanner-primary", "fingerprint": "2cbed577801b00cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-159f60b4b05ba34e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/sync-gsc-orphans.mjs:1125"}, "properties": {"repobilityId": "fa0201ceb3c863ab", "scanner": "scanner-primary", "fingerprint": "159f60b4b05ba34e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1d8d04ef3672c30", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/sync-gsc-orphans.mjs:158"}, "properties": {"repobilityId": "9c7692f3436420a6", "scanner": "scanner-primary", "fingerprint": "d1d8d04ef3672c30", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-514878c618286785", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/update-has-healthcare-jobs.mjs:167"}, "properties": {"repobilityId": "d8e5f99a2610daec", "scanner": "scanner-primary", "fingerprint": "514878c618286785", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd4e51c6cd256d0b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-goline-jobs.mjs:119"}, "properties": {"repobilityId": "2b7f0ef8bda83bc4", "scanner": "scanner-primary", "fingerprint": "cd4e51c6cd256d0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-221991ac98858bc9", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-confederazione-jobs.mjs:212"}, "properties": {"repobilityId": "f00a9db6c7a2e7b3", "scanner": "scanner-primary", "fingerprint": "221991ac98858bc9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c09c759885c362d", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audit-dist-multi.mjs:1863"}, "properties": {"repobilityId": "7522b5284ddbe385", "scanner": "scanner-primary", "fingerprint": "3c09c759885c362d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f470c0a61e17203", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/backfill-article-authors.mjs:45"}, "properties": {"repobilityId": "63e5f6c1d4f79e14", "scanner": "scanner-primary", "fingerprint": "6f470c0a61e17203", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46d2d45891d8ed98", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/build-article-embeddings.mjs:142"}, "properties": {"repobilityId": "ca1ccef61ab2633c", "scanner": "scanner-primary", "fingerprint": "46d2d45891d8ed98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93842967bc68ed25", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/validate-jobposting-schema.mjs:141"}, "properties": {"repobilityId": "74457769a6da1e96", "scanner": "scanner-primary", "fingerprint": "93842967bc68ed25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-550ce0eb6ac394b6", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/profile-cluster-emission.mjs:63"}, "properties": {"repobilityId": "44658358b7e802a7", "scanner": "scanner-primary", "fingerprint": "550ce0eb6ac394b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a4c3b70063db6225", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/post-to-facebook.mjs:137"}, "properties": {"repobilityId": "90ea8794f1f2a785", "scanner": "scanner-primary", "fingerprint": "a4c3b70063db6225", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ef7eacf2e8dd2be", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/post-to-facebook.mjs:94"}, "properties": {"repobilityId": "466e75cf81bc22b6", "scanner": "scanner-primary", "fingerprint": "6ef7eacf2e8dd2be", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7807c16593012df6", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-manor-jobs.mjs:312"}, "properties": {"repobilityId": "b803d329986ba3e5", "scanner": "scanner-primary", "fingerprint": "7807c16593012df6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cadabdca00c940aa", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/cleanup-jobs.mjs:363"}, "properties": {"repobilityId": "fe706aa36a987a19", "scanner": "scanner-primary", "fingerprint": "cadabdca00c940aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17f733d3bfe326b6", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-groupe-mutuel-jobs.mjs:329"}, "properties": {"repobilityId": "446416df24d054ce", "scanner": "scanner-primary", "fingerprint": "17f733d3bfe326b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06ff3bcb36a78d26", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/setup-google-oauth.mjs:71"}, "properties": {"repobilityId": "0aae0465402e06e3", "scanner": "scanner-primary", "fingerprint": "06ff3bcb36a78d26", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7c46af3b21a493b6", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/prune-merged-worktrees.mjs:4"}, "properties": {"repobilityId": "25ae330ce41f0c5e", "scanner": "scanner-primary", "fingerprint": "7c46af3b21a493b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f80627d9a964ba9", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-sbb-jobs.mjs:500"}, "properties": {"repobilityId": "3d43e1c7c76da8bd", "scanner": "scanner-primary", "fingerprint": "3f80627d9a964ba9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1a75824b719f1a6", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audit-cls-live.mjs:114"}, "properties": {"repobilityId": "14b083526288085e", "scanner": "scanner-primary", "fingerprint": "f1a75824b719f1a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b98201982077589d", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audit-spa-bundle-injection.mjs:103"}, "properties": {"repobilityId": "1378cfe5223157af", "scanner": "scanner-primary", "fingerprint": "b98201982077589d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eda169ead7345eb5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/diagnose-calc-funnel.mjs:13"}, "properties": {"repobilityId": "fdf1328ddbb27d7b", "scanner": "scanner-primary", "fingerprint": "eda169ead7345eb5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b1020c1449565fb4", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/smoke-test-ai-models.mjs:14"}, "properties": {"repobilityId": "1bac8b531a4a7f3a", "scanner": "scanner-primary", "fingerprint": "b1020c1449565fb4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3221398054c8cff4", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/submit-indexnow.js:186"}, "properties": {"repobilityId": "931ca9984d542dab", "scanner": "scanner-primary", "fingerprint": "3221398054c8cff4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6efc3112cfc2299b", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/discover-404s-via-cloudflare.mjs:53"}, "properties": {"repobilityId": "9ec567d6fb1ed3cb", "scanner": "scanner-primary", "fingerprint": "6efc3112cfc2299b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a668232262f1fb82", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/validate-jobs-quality.mjs:84"}, "properties": {"repobilityId": "afe73620a3b904e4", "scanner": "scanner-primary", "fingerprint": "a668232262f1fb82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-507731d41aebde09", "level": "none", "message": {"text": "Commented-code block (12 lines) in scripts/send-newsletter.mjs:69"}, "properties": {"repobilityId": "6807f1d501315094", "scanner": "scanner-primary", "fingerprint": "507731d41aebde09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c12f9c0c87ca244c", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/audit-bfs-depth.mjs:357"}, "properties": {"repobilityId": "abe585da3c48fd7a", "scanner": "scanner-primary", "fingerprint": "c12f9c0c87ca244c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a02d2fe2f12a1b2e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/backfill-dedup-lost-jobs.mjs:321"}, "properties": {"repobilityId": "e568db25213489ed", "scanner": "scanner-primary", "fingerprint": "a02d2fe2f12a1b2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c1f9f347de64270", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/update-pwc-jobs.mjs:183"}, "properties": {"repobilityId": "6458e0fc4eaa2756", "scanner": "scanner-primary", "fingerprint": "1c1f9f347de64270", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9176f7a2a972e7c4", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/analytics-report.mjs:1449"}, "properties": {"repobilityId": "961d522a2dcc1691", "scanner": "scanner-primary", "fingerprint": "9176f7a2a972e7c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e08b285ebf91515", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/analytics-report.mjs:360"}, "properties": {"repobilityId": "fb38829f4052db72", "scanner": "scanner-primary", "fingerprint": "8e08b285ebf91515", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3e32a2909ec9eda0", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/fetch-health-premiums.mjs:129"}, "properties": {"repobilityId": "2958f9c233c8fcdd", "scanner": "scanner-primary", "fingerprint": "3e32a2909ec9eda0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c15e4aecc0c5a4f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-lidl-jobs.mjs:613"}, "properties": {"repobilityId": "535a8366a582d3d3", "scanner": "scanner-primary", "fingerprint": "6c15e4aecc0c5a4f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1aa1fdd231636aab", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-lidl-jobs.mjs:63"}, "properties": {"repobilityId": "0e5c865e1b042035", "scanner": "scanner-primary", "fingerprint": "1aa1fdd231636aab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ff23bc70599899bb", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-sintetica-jobs.mjs:70"}, "properties": {"repobilityId": "78a3b71f8b8a8c67", "scanner": "scanner-primary", "fingerprint": "ff23bc70599899bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2908c4f6dc55dd58", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audit-sitemap-canonicals.mjs:164"}, "properties": {"repobilityId": "f2250c2fb120f671", "scanner": "scanner-primary", "fingerprint": "2908c4f6dc55dd58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9610f2c53599eb12", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-ksgr-jobs.mjs:92"}, "properties": {"repobilityId": "1d9d280cc8212d68", "scanner": "scanner-primary", "fingerprint": "9610f2c53599eb12", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d70589335acf4f3f", "level": "none", "message": {"text": "Commented-code block (14 lines) in scripts/wait-for-pages-propagation.mjs:35"}, "properties": {"repobilityId": "868addafb7f5ca36", "scanner": "scanner-primary", "fingerprint": "d70589335acf4f3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5a5b521b59e5cbf", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/update-axa-jobs.mjs:313"}, "properties": {"repobilityId": "f1dd866c5957c812", "scanner": "scanner-primary", "fingerprint": "d5a5b521b59e5cbf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2302ffb98b24470", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/snapshot-fuel-history.mjs:46"}, "properties": {"repobilityId": "3a7625f057f9bf32", "scanner": "scanner-primary", "fingerprint": "c2302ffb98b24470", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41a624336a6f2bfa", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-kronenhof-jobs.mjs:267"}, "properties": {"repobilityId": "73e24b15d0bffea2", "scanner": "scanner-primary", "fingerprint": "41a624336a6f2bfa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c376697ce1323e8f", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/fetch-article-performance.mjs:133"}, "properties": {"repobilityId": "66e649658e31a86d", "scanner": "scanner-primary", "fingerprint": "c376697ce1323e8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fbc905d35de8863", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/fetch-thin-page-promotions.mjs:4"}, "properties": {"repobilityId": "fe8a75d73fb6fa9a", "scanner": "scanner-primary", "fingerprint": "6fbc905d35de8863", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0f6274c00329025", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/post-to-linkedin.mjs:47"}, "properties": {"repobilityId": "f249dfebea4c742e", "scanner": "scanner-primary", "fingerprint": "b0f6274c00329025", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb7569c76f958d98", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-medacta-jobs.mjs:494"}, "properties": {"repobilityId": "754bfee92d4bf881", "scanner": "scanner-primary", "fingerprint": "eb7569c76f958d98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0bde8b20cec119cb", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/fetch-webcam-snapshots-for-og.mjs:42"}, "properties": {"repobilityId": "271ec2e7ebedeea5", "scanner": "scanner-primary", "fingerprint": "0bde8b20cec119cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f81f34d84c0d2ebd", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/validate-spa-render.mjs:197"}, "properties": {"repobilityId": "4b558f0873100994", "scanner": "scanner-primary", "fingerprint": "f81f34d84c0d2ebd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67ba5c700fa0deca", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/assemble-jobs-dataset.mjs:145"}, "properties": {"repobilityId": "6303cad79ce453fb", "scanner": "scanner-primary", "fingerprint": "67ba5c700fa0deca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b6d2592b4842046", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/create-article.mjs:124"}, "properties": {"repobilityId": "43a05211cc02353c", "scanner": "scanner-primary", "fingerprint": "9b6d2592b4842046", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b960a281427c1866", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/backfill-blog-webp.mjs:173"}, "properties": {"repobilityId": "274a11152283ffa4", "scanner": "scanner-primary", "fingerprint": "b960a281427c1866", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5489a53a58f8616", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/wait-for-live-article-meta.mjs:179"}, "properties": {"repobilityId": "2bb03e57aad9aed3", "scanner": "scanner-primary", "fingerprint": "e5489a53a58f8616", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d33db7d9666a1ba8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/wait-for-live-article-meta.mjs:22"}, "properties": {"repobilityId": "ac0c2fa1436b3a23", "scanner": "scanner-primary", "fingerprint": "d33db7d9666a1ba8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e0133816f8ad5996", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/seo-audit-employer-slugs.mjs:21"}, "properties": {"repobilityId": "ac7624f7c9816b53", "scanner": "scanner-primary", "fingerprint": "e0133816f8ad5996", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a413e1ecf436f0b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo-audit-employer-slugs.mjs:32"}, "properties": {"repobilityId": "6b3dac0bafc7bb5f", "scanner": "scanner-primary", "fingerprint": "3a413e1ecf436f0b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e671efeb87ed2c04", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find-orphan-indexed-jobs.mjs:32"}, "properties": {"repobilityId": "cbb10a887a59f82e", "scanner": "scanner-primary", "fingerprint": "e671efeb87ed2c04", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f0b93417a707d9d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-dxt-jobs.mjs:131"}, "properties": {"repobilityId": "71cde73f52e65321", "scanner": "scanner-primary", "fingerprint": "f0b93417a707d9d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17df37923ab8ffcd", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/backfill-ai-search-optimization.mjs:191"}, "properties": {"repobilityId": "7e3f43784d5c4f0a", "scanner": "scanner-primary", "fingerprint": "17df37923ab8ffcd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e1b9ae2d1a368cb", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/update-postch-jobs.mjs:261"}, "properties": {"repobilityId": "8fe38a128e2bbc65", "scanner": "scanner-primary", "fingerprint": "0e1b9ae2d1a368cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b48d567d8a9ca88f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/batch-add-faq-to-articles.mjs:417"}, "properties": {"repobilityId": "5588a23fd7ff095d", "scanner": "scanner-primary", "fingerprint": "b48d567d8a9ca88f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52f1b5222dcef7a2", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-centiel-jobs.mjs:245"}, "properties": {"repobilityId": "df90bf3060619b30", "scanner": "scanner-primary", "fingerprint": "52f1b5222dcef7a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3b46051c7023110", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/prune-404-compat-paths.ts:21"}, "properties": {"repobilityId": "ecba505f1c0b424b", "scanner": "scanner-primary", "fingerprint": "a3b46051c7023110", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef11e29861919e84", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/enrich-related-search-clusters.mjs:401"}, "properties": {"repobilityId": "471b754c2d6e2ce8", "scanner": "scanner-primary", "fingerprint": "ef11e29861919e84", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02e6776a7b4dc3ba", "level": "none", "message": {"text": "Commented-code block (11 lines) in scripts/cf-purge-cache.mjs:46"}, "properties": {"repobilityId": "d5fbeb725f9de683", "scanner": "scanner-primary", "fingerprint": "02e6776a7b4dc3ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ec7bdbdf185de40", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/validate-structured-data-completeness.mjs:776"}, "properties": {"repobilityId": "49eda761e8a41b62", "scanner": "scanner-primary", "fingerprint": "1ec7bdbdf185de40", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df931795af82aac0", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-vitrea-gesundheit-jobs.mjs:21"}, "properties": {"repobilityId": "a98545f400d7f7cc", "scanner": "scanner-primary", "fingerprint": "df931795af82aac0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd5450b1c08de41a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/validate-blog-meta-placeholders.mjs:132"}, "properties": {"repobilityId": "7d191ee0c54aa470", "scanner": "scanner-primary", "fingerprint": "dd5450b1c08de41a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8146193b66159b52", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/setup-facebook-token.mjs:53"}, "properties": {"repobilityId": "6d7adf883c60669a", "scanner": "scanner-primary", "fingerprint": "8146193b66159b52", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d5be40ae80d6041b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refresh-gsc-position-rolling.mjs:32"}, "properties": {"repobilityId": "4203137a5cb1134a", "scanner": "scanner-primary", "fingerprint": "d5be40ae80d6041b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2d5053a2c4b076cf", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/schedule-fb-jobs-daily.mjs:612"}, "properties": {"repobilityId": "c5a6ee5865867f1e", "scanner": "scanner-primary", "fingerprint": "2d5053a2c4b076cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d95d2db10a54db60", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/update-bracco-jobs.mjs:51"}, "properties": {"repobilityId": "d0e0d9a0944698d3", "scanner": "scanner-primary", "fingerprint": "d95d2db10a54db60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b06072efb6c98e3", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/audit-cls-stripping.mjs:102"}, "properties": {"repobilityId": "368d8a5304bee97d", "scanner": "scanner-primary", "fingerprint": "6b06072efb6c98e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd62c7219357cff7", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/backfill-slug-aliases.mjs:217"}, "properties": {"repobilityId": "f27a7a63c06a82cc", "scanner": "scanner-primary", "fingerprint": "cd62c7219357cff7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4e096b133fec89e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit-articles-factcheck.mjs:72"}, "properties": {"repobilityId": "0bfd7d1a809bfeb6", "scanner": "scanner-primary", "fingerprint": "c4e096b133fec89e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-441dce4d03a97808", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/import-handelszeitung-top500.mjs:2"}, "properties": {"repobilityId": "0d516925a048d00a", "scanner": "scanner-primary", "fingerprint": "441dce4d03a97808", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48f8ea55a0d24f9e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/setup-posthog-email-funnel.mjs:63"}, "properties": {"repobilityId": "d9c16b6e1ed6f49f", "scanner": "scanner-primary", "fingerprint": "48f8ea55a0d24f9e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1561b8b6b6215286", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/tune-discovery-quota.mjs:4"}, "properties": {"repobilityId": "6749a290a0238c6a", "scanner": "scanner-primary", "fingerprint": "1561b8b6b6215286", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86ac78d247ffe1a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/quality-alerts.mjs:4"}, "properties": {"repobilityId": "b536c05af8e0c9a6", "scanner": "scanner-primary", "fingerprint": "86ac78d247ffe1a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a8ba2c8091db18e", "level": "note", "message": {"text": "Legacy-named symbol `cleanupLegacy` in scripts/update-exchange-history.mjs:136"}, "properties": {"repobilityId": "f1019d8ad86ec78b", "scanner": "scanner-primary", "fingerprint": "3a8ba2c8091db18e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-849af3f623be6808", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/generate-image-thumbnails.mjs:16"}, "properties": {"repobilityId": "ca1ef95221513c44", "scanner": "scanner-primary", "fingerprint": "849af3f623be6808", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4ec69d99aa19dac", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/update-geberit-jobs.mjs:30"}, "properties": {"repobilityId": "ae60180ef4f8247d", "scanner": "scanner-primary", "fingerprint": "f4ec69d99aa19dac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dffaa1dd66aef85c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check-mailgun-events.mjs:48"}, "properties": {"repobilityId": "04d74fd795ca39b2", "scanner": "scanner-primary", "fingerprint": "dffaa1dd66aef85c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e4ad80cc4dba3c0b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-jobs.ts:82"}, "properties": {"repobilityId": "337d6915d43a7d74", "scanner": "scanner-primary", "fingerprint": "e4ad80cc4dba3c0b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8d6ccfec58421d48", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/migrate-previous-slug-winners-add-canton.mjs:8"}, "properties": {"repobilityId": "9e5f75d0100216c8", "scanner": "scanner-primary", "fingerprint": "8d6ccfec58421d48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69bad246430e1e70", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/local-mt-mopup.mjs:172"}, "properties": {"repobilityId": "b6ea5eaeb8f86a1e", "scanner": "scanner-primary", "fingerprint": "69bad246430e1e70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-352424065e849010", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-hilcona-jobs.mjs:65"}, "properties": {"repobilityId": "74a177c18af39d68", "scanner": "scanner-primary", "fingerprint": "352424065e849010", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d36f175dbc8b02c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/adsense-archive-orphans.mjs:55"}, "properties": {"repobilityId": "1ab8e6360e657c61", "scanner": "scanner-primary", "fingerprint": "4d36f175dbc8b02c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dce5e296dcd84850", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/mine-all-job-slugs.mjs:503"}, "properties": {"repobilityId": "c5889d6f5c367fc0", "scanner": "scanner-primary", "fingerprint": "dce5e296dcd84850", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4dac754ecec76c5e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/monitor-cls-posthog.mjs:59"}, "properties": {"repobilityId": "9d6b57611f23e544", "scanner": "scanner-primary", "fingerprint": "4dac754ecec76c5e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2e9b3d62e5e81e64", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/monitor-gsc-job-indexation.mjs:50"}, "properties": {"repobilityId": "aa169ffb6d9e6d6d", "scanner": "scanner-primary", "fingerprint": "2e9b3d62e5e81e64", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-513a4a47b1cf6d90", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/seo-audit-structural.mjs:23"}, "properties": {"repobilityId": "4cea957d7f4240f3", "scanner": "scanner-primary", "fingerprint": "513a4a47b1cf6d90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-287ab9c49176aecb", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/report-dist-bytes-by-plugin.mjs:8"}, "properties": {"repobilityId": "8af9c7ee08dca5b3", "scanner": "scanner-primary", "fingerprint": "287ab9c49176aecb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-198bb9fcf6573a74", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-allianz-jobs.mjs:210"}, "properties": {"repobilityId": "bcc439eeb881b846", "scanner": "scanner-primary", "fingerprint": "198bb9fcf6573a74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88799e0e4a178031", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-allianz-jobs.mjs:115"}, "properties": {"repobilityId": "b981f39c46b1373f", "scanner": "scanner-primary", "fingerprint": "88799e0e4a178031", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9fc658150ed84947", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/detect-ats.mjs:248"}, "properties": {"repobilityId": "2a5f77badbbeed57", "scanner": "scanner-primary", "fingerprint": "9fc658150ed84947", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d238de575132c79e", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/cf-locale-failover-setup.mjs:61"}, "properties": {"repobilityId": "2c72ccb93ac984a7", "scanner": "scanner-primary", "fingerprint": "d238de575132c79e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bda9450c5b991ec9", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/download-company-logos.mjs:369"}, "properties": {"repobilityId": "340503e2f634391f", "scanner": "scanner-primary", "fingerprint": "bda9450c5b991ec9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-110fcec1611f93da", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-ariston-jobs.mjs:117"}, "properties": {"repobilityId": "917da8502329afd7", "scanner": "scanner-primary", "fingerprint": "110fcec1611f93da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-938353eec6c9337c", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/audit-orphan-pages-in-sitemaps.mjs:179"}, "properties": {"repobilityId": "21bb3f6ca854e8de", "scanner": "scanner-primary", "fingerprint": "938353eec6c9337c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ed7aa24c6a83432", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/validate-canonical.mjs:102"}, "properties": {"repobilityId": "988a34100487f1ed", "scanner": "scanner-primary", "fingerprint": "6ed7aa24c6a83432", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ea30c3e9c40ec78", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/adsense-slot-audit.mjs:53"}, "properties": {"repobilityId": "3e076318ea4e64a7", "scanner": "scanner-primary", "fingerprint": "1ea30c3e9c40ec78", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-64f61a73a55da5e8", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/dist-shrink.mjs:91"}, "properties": {"repobilityId": "88649784c4a09b6d", "scanner": "scanner-primary", "fingerprint": "64f61a73a55da5e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56cda9258ae6e0b2", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-rapelli-jobs.mjs:110"}, "properties": {"repobilityId": "11f8efaa45528824", "scanner": "scanner-primary", "fingerprint": "56cda9258ae6e0b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-022f16e9dfb7844b", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/re-enrich-jobs.mjs:968"}, "properties": {"repobilityId": "50fe5d6b40690b5b", "scanner": "scanner-primary", "fingerprint": "022f16e9dfb7844b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9117bca12f38600", "level": "none", "message": {"text": "Commented-code block (12 lines) in scripts/offload-generated-images-cdn.mjs:4"}, "properties": {"repobilityId": "12ee548e16893d46", "scanner": "scanner-primary", "fingerprint": "b9117bca12f38600", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0c81153234acde5", "level": "note", "message": {"text": "Legacy-named symbol `stampOld` in scripts/recover-conflict-marker-slices.mjs:135"}, "properties": {"repobilityId": "428092687fec37ec", "scanner": "scanner-primary", "fingerprint": "f0c81153234acde5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8ea380caeef0a883", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/update-cambiavalute-jobs.mjs:185"}, "properties": {"repobilityId": "9e5d50fdba2be629", "scanner": "scanner-primary", "fingerprint": "8ea380caeef0a883", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f02a87b5d3c5a813", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/seed-url-first-seen-precise.mjs:12"}, "properties": {"repobilityId": "398345acb6306d1c", "scanner": "scanner-primary", "fingerprint": "f02a87b5d3c5a813", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f7ef5f02a18e5d5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-url-first-seen-precise.mjs:136"}, "properties": {"repobilityId": "9b1d219259402ec3", "scanner": "scanner-primary", "fingerprint": "9f7ef5f02a18e5d5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-23031576f69e5a5f", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/update-coop-jobs.mjs:518"}, "properties": {"repobilityId": "2fb54fa88387544f", "scanner": "scanner-primary", "fingerprint": "23031576f69e5a5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-608111a83f454dd4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-coop-jobs.mjs:529"}, "properties": {"repobilityId": "d2452b6c08b384d6", "scanner": "scanner-primary", "fingerprint": "608111a83f454dd4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8af184ffce452892", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/relocalize-pending-jobs.mjs:50"}, "properties": {"repobilityId": "e128ace6735697e9", "scanner": "scanner-primary", "fingerprint": "8af184ffce452892", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9274b7de4eeeb641", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/check-crawler-health.mjs:88"}, "properties": {"repobilityId": "1d61e0ba2b304c58", "scanner": "scanner-primary", "fingerprint": "9274b7de4eeeb641", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af6e6b75457071dc", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-supsi-jobs.mjs:378"}, "properties": {"repobilityId": "44dcf65aa86aa2ef", "scanner": "scanner-primary", "fingerprint": "af6e6b75457071dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf1f1bc1b41ad0b6", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/blast-publisher-ads.mjs:96"}, "properties": {"repobilityId": "4392fb4ac592e392", "scanner": "scanner-primary", "fingerprint": "bf1f1bc1b41ad0b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc8bb23ef01d3a46", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-tinext-jobs.mjs:237"}, "properties": {"repobilityId": "7ba43d9fd08fd1f0", "scanner": "scanner-primary", "fingerprint": "bc8bb23ef01d3a46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-390838e49cfe8fc3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-tinext-jobs.mjs:441"}, "properties": {"repobilityId": "cc373f2077231fad", "scanner": "scanner-primary", "fingerprint": "390838e49cfe8fc3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5f686cfe0f5ae800", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/scaffold-crawler.mjs:151"}, "properties": {"repobilityId": "91dbbf29cb1659a9", "scanner": "scanner-primary", "fingerprint": "5f686cfe0f5ae800", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b39f77c1e2330261", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/scaffold-crawler.mjs:541"}, "properties": {"repobilityId": "45d4e9e7c804f2da", "scanner": "scanner-primary", "fingerprint": "b39f77c1e2330261", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b3738ffca2cba177", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update-abb-jobs.mjs:247"}, "properties": {"repobilityId": "86a90bb31663b90f", "scanner": "scanner-primary", "fingerprint": "b3738ffca2cba177", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0958b8343f9f9249", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/send-job-alerts.mjs:416"}, "properties": {"repobilityId": "40544e7d185a7498", "scanner": "scanner-primary", "fingerprint": "0958b8343f9f9249", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05340be3962ad0b7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check-resend-domain.mjs:21"}, "properties": {"repobilityId": "09da84ad9a1ce791", "scanner": "scanner-primary", "fingerprint": "05340be3962ad0b7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-35401b4f7d03bc92", "level": "note", "message": {"text": "Legacy-named symbol `lis_salary_v2` in scripts/update-lis-jobs.mjs:49"}, "properties": {"repobilityId": "8dfcd7636d216861", "scanner": "scanner-primary", "fingerprint": "35401b4f7d03bc92", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-23e9a8b3f388d262", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-lis-jobs.mjs:302"}, "properties": {"repobilityId": "b50fcbb3107f106f", "scanner": "scanner-primary", "fingerprint": "23e9a8b3f388d262", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17f96294139cecb4", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-alten-jobs.mjs:204"}, "properties": {"repobilityId": "6ce7559dc04fa4e8", "scanner": "scanner-primary", "fingerprint": "17f96294139cecb4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2914ae59aa626e4e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-ist-jobs.mjs:77"}, "properties": {"repobilityId": "5b5663ce136e0351", "scanner": "scanner-primary", "fingerprint": "2914ae59aa626e4e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eccddb35e5355a37", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/audit-text-html-ratio.mjs:32"}, "properties": {"repobilityId": "2ef7c99e0d965918", "scanner": "scanner-primary", "fingerprint": "eccddb35e5355a37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-021c2033ef5a6b3b", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/generate-fuel-prices-dataset.mjs:252"}, "properties": {"repobilityId": "9d945242d3d43a12", "scanner": "scanner-primary", "fingerprint": "021c2033ef5a6b3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4932ab01c0980c93", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/discover-404s-via-inspection.mjs:315"}, "properties": {"repobilityId": "4875e7c5f2b50ec8", "scanner": "scanner-primary", "fingerprint": "4932ab01c0980c93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-903bc6e833699300", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/discover-404s-via-inspection.mjs:67"}, "properties": {"repobilityId": "379bb60fe09732f1", "scanner": "scanner-primary", "fingerprint": "903bc6e833699300", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d9a861b202c79b40", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/investigate-calc-funnel-drop.mjs:24"}, "properties": {"repobilityId": "821dfe65d622fb3d", "scanner": "scanner-primary", "fingerprint": "d9a861b202c79b40", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-52cc97b470db85ac", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/refresh-noslash-keep.mjs:291"}, "properties": {"repobilityId": "7919ea84d0dc2143", "scanner": "scanner-primary", "fingerprint": "52cc97b470db85ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a811a4d5c49dc76", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refresh-noslash-keep.mjs:103"}, "properties": {"repobilityId": "21966ab21e7e976e", "scanner": "scanner-primary", "fingerprint": "3a811a4d5c49dc76", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2efb7f97b344ca01", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/import-swiss-hospitals.mjs:2"}, "properties": {"repobilityId": "5bd2d9611a642a86", "scanner": "scanner-primary", "fingerprint": "2efb7f97b344ca01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b2361efed17757e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-swiss-hospitals.mjs:20"}, "properties": {"repobilityId": "400a40360b90d568", "scanner": "scanner-primary", "fingerprint": "1b2361efed17757e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c1439db6c89bacd4", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/audit-no-literal-markdown.mjs:44"}, "properties": {"repobilityId": "327cfa160ad88d65", "scanner": "scanner-primary", "fingerprint": "c1439db6c89bacd4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6022195c39e19a9", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ingest-gsc-coverage-404s.ts:75"}, "properties": {"repobilityId": "f860ee1ae1267b18", "scanner": "scanner-primary", "fingerprint": "b6022195c39e19a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c88c5fd718711ddf", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-spitex-zuerich-jobs.mjs:21"}, "properties": {"repobilityId": "b7372c2c3a6c181c", "scanner": "scanner-primary", "fingerprint": "c88c5fd718711ddf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34600389f457aeb9", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/validate-content-quality.mjs:60"}, "properties": {"repobilityId": "5b98b8343c58e970", "scanner": "scanner-primary", "fingerprint": "34600389f457aeb9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a16d8e17cf24928", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/revenue-monitor.mjs:98"}, "properties": {"repobilityId": "a4696f2e8db9e5a8", "scanner": "scanner-primary", "fingerprint": "9a16d8e17cf24928", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9414a1438f4ecea7", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/backtest-scoring.mjs:8"}, "properties": {"repobilityId": "bff21a35a64242dc", "scanner": "scanner-primary", "fingerprint": "9414a1438f4ecea7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4192f1290c4c28b5", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/refresh-bfs-stats.mjs:123"}, "properties": {"repobilityId": "a3be352ac1b1f367", "scanner": "scanner-primary", "fingerprint": "4192f1290c4c28b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47fd10550c6764c7", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/audit-title-uniqueness.mjs:176"}, "properties": {"repobilityId": "065d83e4b85f25e4", "scanner": "scanner-primary", "fingerprint": "47fd10550c6764c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ce7d51ee7fe8bc4", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/update-skyguide-jobs.mjs:257"}, "properties": {"repobilityId": "bbc80c36de0d511f", "scanner": "scanner-primary", "fingerprint": "5ce7d51ee7fe8bc4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6f88d90fcbf692f", "level": "note", "message": {"text": "Legacy-named symbol `reports_legacy` in scripts/verify-l3-report-equivalence.mjs:11"}, "properties": {"repobilityId": "2685947344b1a3ea", "scanner": "scanner-primary", "fingerprint": "f6f88d90fcbf692f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-333cc9f8d5a98552", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/cleanup-mailjet-contacts.mjs:71"}, "properties": {"repobilityId": "0966c4429c7f764a", "scanner": "scanner-primary", "fingerprint": "333cc9f8d5a98552", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6652c0ac7ef594b3", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/audit-parser-quality.mjs:176"}, "properties": {"repobilityId": "bee9eb2b8f470650", "scanner": "scanner-primary", "fingerprint": "6652c0ac7ef594b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e63a83cb6d1d000", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/refresh-url-first-seen.mjs:8"}, "properties": {"repobilityId": "16b68a63f716fbbd", "scanner": "scanner-primary", "fingerprint": "6e63a83cb6d1d000", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac6b7d0cd6c0a01c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-post-deploy-seo.mjs:42"}, "properties": {"repobilityId": "0ecfd23707ce79d2", "scanner": "scanner-primary", "fingerprint": "ac6b7d0cd6c0a01c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3b0480fb6eae026f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/query-authgate-experiment.mjs:46"}, "properties": {"repobilityId": "ec05192fa1e2c374", "scanner": "scanner-primary", "fingerprint": "3b0480fb6eae026f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-494af21f0ac18e02", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/validate-sitemap-pages.mjs:397"}, "properties": {"repobilityId": "133f6abb971ed2b7", "scanner": "scanner-primary", "fingerprint": "494af21f0ac18e02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d9604c302e6aaf8", "level": "none", "message": {"text": "Commented-code block (14 lines) in scripts/audit-404-risk.mjs:128"}, "properties": {"repobilityId": "acd57d285cd80d8b", "scanner": "scanner-primary", "fingerprint": "1d9604c302e6aaf8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ff1fdb42afa98af", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/triage-app-errors.mjs:20"}, "properties": {"repobilityId": "5d388ee807de6569", "scanner": "scanner-primary", "fingerprint": "0ff1fdb42afa98af", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-397f12304a9e5485", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/regenerate-slugs-by-locale.mjs:56"}, "properties": {"repobilityId": "b323d1123a086448", "scanner": "scanner-primary", "fingerprint": "397f12304a9e5485", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b927fa69a73ab0a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-hamilton-jobs.mjs:267"}, "properties": {"repobilityId": "1e49ef7397ca613b", "scanner": "scanner-primary", "fingerprint": "9b927fa69a73ab0a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99fe8a7ec3664861", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/rebaseline-truncated-st-locality.mjs:5"}, "properties": {"repobilityId": "cd019e25b434a877", "scanner": "scanner-primary", "fingerprint": "99fe8a7ec3664861", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2d758270cbe9f16", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/diagnose-app-errors.mjs:12"}, "properties": {"repobilityId": "62bc981b49b41486", "scanner": "scanner-primary", "fingerprint": "b2d758270cbe9f16", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3d095d153024c8d2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refine-url-first-seen-via-gsc.mjs:101"}, "properties": {"repobilityId": "0aea245114071721", "scanner": "scanner-primary", "fingerprint": "3d095d153024c8d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4b6a37371cc305e3", "level": "none", "message": {"text": "Commented-code block (11 lines) in scripts/reconcile-job-slugs.mjs:233"}, "properties": {"repobilityId": "5493341af1c4901b", "scanner": "scanner-primary", "fingerprint": "4b6a37371cc305e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35284fd0f5b91fa7", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/canary-article-content.mjs:58"}, "properties": {"repobilityId": "de1a6c3db4867942", "scanner": "scanner-primary", "fingerprint": "35284fd0f5b91fa7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ca226e1aec9c2ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-switzerland-unemployment-rate.mjs:105"}, "properties": {"repobilityId": "798e9df9b2b9d3e0", "scanner": "scanner-primary", "fingerprint": "2ca226e1aec9c2ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c8770b55beb49f9", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/migrate-all-known-job-slugs-canton-aware.mjs:6"}, "properties": {"repobilityId": "751cd8345de5ab4e", "scanner": "scanner-primary", "fingerprint": "3c8770b55beb49f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81f5fffd0764cd53", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-migros-jobs.mjs:144"}, "properties": {"repobilityId": "7721aafe67d9c55c", "scanner": "scanner-primary", "fingerprint": "81f5fffd0764cd53", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8e39929c50bb413", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/refresh-indexed-cluster-urls.mjs:67"}, "properties": {"repobilityId": "5aef5faa042ff09d", "scanner": "scanner-primary", "fingerprint": "b8e39929c50bb413", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ac6b9372181b71f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/refresh-indexed-cluster-urls.mjs:110"}, "properties": {"repobilityId": "7e23f4252fc42153", "scanner": "scanner-primary", "fingerprint": "6ac6b9372181b71f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-729bf582a5f91e9e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/canary-rpm.mjs:59"}, "properties": {"repobilityId": "0f5d3dc337618270", "scanner": "scanner-primary", "fingerprint": "729bf582a5f91e9e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3155d6d33390a5f9", "level": "none", "message": {"text": "Commented-code block (11 lines) in scripts/audit-related-search-candidates.mjs:295"}, "properties": {"repobilityId": "9ae3fb92bbf03f9b", "scanner": "scanner-primary", "fingerprint": "3155d6d33390a5f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-744be46ef81c79b9", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/audit-salary-landing-template.mjs:62"}, "properties": {"repobilityId": "b9eeb4cf4778101e", "scanner": "scanner-primary", "fingerprint": "744be46ef81c79b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ceefec8d79d3802", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/audit-page-weight.mjs:21"}, "properties": {"repobilityId": "e8ea66be253be784", "scanner": "scanner-primary", "fingerprint": "9ceefec8d79d3802", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-525873f8fe708a0f", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/mine-topic-candidates.mjs:341"}, "properties": {"repobilityId": "9c0b14ea234017ea", "scanner": "scanner-primary", "fingerprint": "525873f8fe708a0f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86fabf85f0491dce", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/build-evidence-index.mjs:7"}, "properties": {"repobilityId": "97b4c22a3fadc2cf", "scanner": "scanner-primary", "fingerprint": "86fabf85f0491dce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f794444ad945915e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update-corner-jobs.mjs:236"}, "properties": {"repobilityId": "841ecb7addb6892a", "scanner": "scanner-primary", "fingerprint": "f794444ad945915e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-882a775aeb541f18", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/crawler-location-config.mjs:12"}, "properties": {"repobilityId": "e21c78b54c7494d0", "scanner": "scanner-primary", "fingerprint": "882a775aeb541f18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f8a820ec075b93d", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/tertianum-job-parser.mjs:87"}, "properties": {"repobilityId": "187732fb41e5b54d", "scanner": "scanner-primary", "fingerprint": "6f8a820ec075b93d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e563d00e61bec23", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/demand-vocabulary.mjs:7"}, "properties": {"repobilityId": "cac08ce27e42b7d3", "scanner": "scanner-primary", "fingerprint": "4e563d00e61bec23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e40f16221002b0df", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/cluster-classifier-prompt.mjs:19"}, "properties": {"repobilityId": "8d12b0c09a832a35", "scanner": "scanner-primary", "fingerprint": "e40f16221002b0df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4d85f67d7bd1369", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/spital-zollikerberg-job-parser.mjs:150"}, "properties": {"repobilityId": "004f7adde0c4a2e0", "scanner": "scanner-primary", "fingerprint": "e4d85f67d7bd1369", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b49f6dd108c73ca5", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/hirslanden-job-parser.mjs:345"}, "properties": {"repobilityId": "9d17c90fda8c4f81", "scanner": "scanner-primary", "fingerprint": "b49f6dd108c73ca5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06a249de5adc3946", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/dedicated-crawler-common.mjs:194"}, "properties": {"repobilityId": "5260a8241381ef52", "scanner": "scanner-primary", "fingerprint": "06a249de5adc3946", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-01630c37be3b03a6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/eth-zurich-job-parser.mjs:16"}, "properties": {"repobilityId": "26ec2112f4675b5b", "scanner": "scanner-primary", "fingerprint": "01630c37be3b03a6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7eaedd765f7b72b", "level": "note", "message": {"text": "Legacy-named symbol `data_broker_total_published_job_list_v2` in scripts/lib/hopital-du-valais-job-parser.mjs:10"}, "properties": {"repobilityId": "42fba0301adfe2c8", "scanner": "scanner-primary", "fingerprint": "b7eaedd765f7b72b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5ac97a187c112931", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/jobup-ch-feed-common.mjs:44"}, "properties": {"repobilityId": "160704e5954e6463", "scanner": "scanner-primary", "fingerprint": "5ac97a187c112931", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a4919a906d6cf1d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/jobup-ch-feed-common.mjs:218"}, "properties": {"repobilityId": "7529eafc7b20bf43", "scanner": "scanner-primary", "fingerprint": "1a4919a906d6cf1d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-04ba00b2919e6085", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/geberit-job-parser.mjs:264"}, "properties": {"repobilityId": "ce46c2a030bb1954", "scanner": "scanner-primary", "fingerprint": "04ba00b2919e6085", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3cc55f073656f57", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/pastahr-widget-client.mjs:98"}, "properties": {"repobilityId": "f735d9aa1b153f76", "scanner": "scanner-primary", "fingerprint": "c3cc55f073656f57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65c1eb134aec8cdc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/pastahr-widget-client.mjs:40"}, "properties": {"repobilityId": "2118eac5c935aace", "scanner": "scanner-primary", "fingerprint": "65c1eb134aec8cdc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a745db146719a2e1", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/github-issue-creator.mjs:48"}, "properties": {"repobilityId": "45c33b72feecaec9", "scanner": "scanner-primary", "fingerprint": "a745db146719a2e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bdd72dced63beb74", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/vista-job-parser.mjs:253"}, "properties": {"repobilityId": "3dae0cf7afa608c3", "scanner": "scanner-primary", "fingerprint": "bdd72dced63beb74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-075c37f5346eb05c", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/otis-job-parser.mjs:288"}, "properties": {"repobilityId": "886e2dfbe3efd49e", "scanner": "scanner-primary", "fingerprint": "075c37f5346eb05c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c61fcdd55e457056", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/ikea-job-parser.mjs:24"}, "properties": {"repobilityId": "c1e8ac4b57402474", "scanner": "scanner-primary", "fingerprint": "c61fcdd55e457056", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f83c3a3a4433f55", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/dxt-job-parser.mjs:144"}, "properties": {"repobilityId": "d56c0c5b214271cc", "scanner": "scanner-primary", "fingerprint": "8f83c3a3a4433f55", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8b0bec979121f18", "level": "note", "message": {"text": "Legacy-named symbol `itLegacy` in scripts/lib/denner-job-parser.mjs:80"}, "properties": {"repobilityId": "54a525f7da9a3eeb", "scanner": "scanner-primary", "fingerprint": "a8b0bec979121f18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3af6774566663c9b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/see-spital-job-parser.mjs:352"}, "properties": {"repobilityId": "de9810e194b94256", "scanner": "scanner-primary", "fingerprint": "3af6774566663c9b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9bc62f8612c1f5be", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/heineken-ch-job-parser.mjs:589"}, "properties": {"repobilityId": "9c85ad69218a7090", "scanner": "scanner-primary", "fingerprint": "9bc62f8612c1f5be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e598a42fcbb9c4a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/csvm-mustair-job-parser.mjs:100"}, "properties": {"repobilityId": "a62c45314afb72d4", "scanner": "scanner-primary", "fingerprint": "0e598a42fcbb9c4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-207a9d892a5601b3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/epfl-job-parser.mjs:213"}, "properties": {"repobilityId": "7e188f9f3b6440ee", "scanner": "scanner-primary", "fingerprint": "207a9d892a5601b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-259dc544c329c446", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/liebherr-job-parser.mjs:317"}, "properties": {"repobilityId": "c60fb0e2cbb5602e", "scanner": "scanner-primary", "fingerprint": "259dc544c329c446", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e8444c45e9bf13f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/chuv-job-parser.mjs:211"}, "properties": {"repobilityId": "bdfb7a25eab5d6d8", "scanner": "scanner-primary", "fingerprint": "9e8444c45e9bf13f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8b5a64767ed1abef", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/rsbj-job-parser.mjs:225"}, "properties": {"repobilityId": "a6b571b3c2548872", "scanner": "scanner-primary", "fingerprint": "8b5a64767ed1abef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6ec6a2e71e4ec5b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/cereneo-job-parser.mjs:245"}, "properties": {"repobilityId": "b13f2ba8c1dfdbb8", "scanner": "scanner-primary", "fingerprint": "d6ec6a2e71e4ec5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f203e82942b5d5d8", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/spital-zofingen-job-parser.mjs:64"}, "properties": {"repobilityId": "b2b73ed2be823b84", "scanner": "scanner-primary", "fingerprint": "f203e82942b5d5d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1865c0404435c0fc", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-schuetzen-job-parser.mjs:137"}, "properties": {"repobilityId": "3e99403a6c5b1da4", "scanner": "scanner-primary", "fingerprint": "1865c0404435c0fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a8e94c04765482f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/vaudoise-job-parser.mjs:37"}, "properties": {"repobilityId": "75eae2c33e189b4d", "scanner": "scanner-primary", "fingerprint": "7a8e94c04765482f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04fa73cf0927bc62", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/spital-sts-job-parser.mjs:294"}, "properties": {"repobilityId": "6c12e60c2b760efb", "scanner": "scanner-primary", "fingerprint": "04fa73cf0927bc62", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6dcb32e2e745037e", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/resolve-404-compat-conflict.mjs:126"}, "properties": {"repobilityId": "d5895638700ad9ac", "scanner": "scanner-primary", "fingerprint": "6dcb32e2e745037e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e28d0610b94e985a", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/successfactors-shared-job-parser-common.mjs:192"}, "properties": {"repobilityId": "a45488cdc06950d4", "scanner": "scanner-primary", "fingerprint": "e28d0610b94e985a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b460c1f93068f141", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/spital-affoltern-job-parser.mjs:196"}, "properties": {"repobilityId": "03f62588469afdb0", "scanner": "scanner-primary", "fingerprint": "b460c1f93068f141", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-633400aadcab83ab", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/strip-contact-pii.mjs:32"}, "properties": {"repobilityId": "6142985c4424b24b", "scanner": "scanner-primary", "fingerprint": "633400aadcab83ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a28e327afab223a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/shared-jobs-crawler.mjs:210"}, "properties": {"repobilityId": "f7526e8a3fdcf8d5", "scanner": "scanner-primary", "fingerprint": "8a28e327afab223a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-899f2de302fce923", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/merian-iselin-job-parser.mjs:139"}, "properties": {"repobilityId": "7d756ac81d4e6d2e", "scanner": "scanner-primary", "fingerprint": "899f2de302fce923", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89fbabad713fb211", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/globus-job-parser.mjs:127"}, "properties": {"repobilityId": "da6aef276af2210c", "scanner": "scanner-primary", "fingerprint": "89fbabad713fb211", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f919a73614d76a6b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-susenberg-job-parser.mjs:193"}, "properties": {"repobilityId": "0f7ea89189cb21c2", "scanner": "scanner-primary", "fingerprint": "f919a73614d76a6b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e6e309e30b462d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/triaplus-job-parser.mjs:215"}, "properties": {"repobilityId": "6b24d7f737f3e75f", "scanner": "scanner-primary", "fingerprint": "9e6e309e30b462d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aaf189cb7cbbdc8d", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/fielmann-job-parser.mjs:314"}, "properties": {"repobilityId": "0ee1324f84322395", "scanner": "scanner-primary", "fingerprint": "aaf189cb7cbbdc8d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6447bb7099c7363a", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/email-cascade.mjs:145"}, "properties": {"repobilityId": "fd9b86be8a116e49", "scanner": "scanner-primary", "fingerprint": "6447bb7099c7363a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33710fa800cb2690", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/email-cascade.mjs:139"}, "properties": {"repobilityId": "df7dbc1533f3a029", "scanner": "scanner-primary", "fingerprint": "33710fa800cb2690", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c9c9ded4fc7d8037", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-barmelweid-job-parser.mjs:217"}, "properties": {"repobilityId": "fb3c262d4db61298", "scanner": "scanner-primary", "fingerprint": "c9c9ded4fc7d8037", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc0a888480061812", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-adelheid-job-parser.mjs:159"}, "properties": {"repobilityId": "44989c6fe7d03337", "scanner": "scanner-primary", "fingerprint": "dc0a888480061812", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5fe2e9bfbe735553", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/sintetica-job-parser.mjs:136"}, "properties": {"repobilityId": "d11b2a88ffd740c5", "scanner": "scanner-primary", "fingerprint": "5fe2e9bfbe735553", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae498833cf5312bb", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/jina-proxy.mjs:156"}, "properties": {"repobilityId": "9d867155540b6cac", "scanner": "scanner-primary", "fingerprint": "ae498833cf5312bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9746765a74b8d4dd", "level": "note", "message": {"text": "Legacy-named symbol `embed_v2` in scripts/lib/localsearch-job-parser.mjs:141"}, "properties": {"repobilityId": "fab2e103d7d1a98b", "scanner": "scanner-primary", "fingerprint": "9746765a74b8d4dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4f4da5cd9a138f25", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/lib/soh-solothurner-spitaeler-job-parser.mjs:91"}, "properties": {"repobilityId": "1dcdb8e10ad146b3", "scanner": "scanner-primary", "fingerprint": "4f4da5cd9a138f25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f05ae46f1ba1348e", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/kispi-sg-job-parser.mjs:156"}, "properties": {"repobilityId": "6738010291deba5f", "scanner": "scanner-primary", "fingerprint": "f05ae46f1ba1348e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-adb95987cf9e3c13", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/hospital-custom-html-helpers.mjs:85"}, "properties": {"repobilityId": "9831d84305e66ab0", "scanner": "scanner-primary", "fingerprint": "adb95987cf9e3c13", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bde6128017747a8f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/ksbl-job-parser.mjs:316"}, "properties": {"repobilityId": "43161b5fdbb0f2b1", "scanner": "scanner-primary", "fingerprint": "bde6128017747a8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9846634659a80d3d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/klinik-gut-job-parser.mjs:37"}, "properties": {"repobilityId": "d8e60263bbab9a55", "scanner": "scanner-primary", "fingerprint": "9846634659a80d3d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-158b1eab894fe7ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/decathlon-job-parser.mjs:229"}, "properties": {"repobilityId": "34a919b20a9cb81f", "scanner": "scanner-primary", "fingerprint": "158b1eab894fe7ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85c71a1d4e514cc3", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/vd-emploi-platform-common.mjs:237"}, "properties": {"repobilityId": "7fbb71da2b6d7e7a", "scanner": "scanner-primary", "fingerprint": "85c71a1d4e514cc3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5e67b67139b7732", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/umantis-listing-common.mjs:75"}, "properties": {"repobilityId": "96f008184c73f9b7", "scanner": "scanner-primary", "fingerprint": "d5e67b67139b7732", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d467610463a2e68", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/lib/auditReport.mjs:21"}, "properties": {"repobilityId": "f949c99ba284fd60", "scanner": "scanner-primary", "fingerprint": "6d467610463a2e68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cb457f32ca1c45b", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/schindler-job-parser.mjs:214"}, "properties": {"repobilityId": "fb5bc8414db0fa1e", "scanner": "scanner-primary", "fingerprint": "9cb457f32ca1c45b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2be71133a52f9bbb", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/article-sanitizers.mjs:31"}, "properties": {"repobilityId": "99b5124d496dcbb1", "scanner": "scanner-primary", "fingerprint": "2be71133a52f9bbb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9d089c41c77a09f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/mymemory-translate.mjs:52"}, "properties": {"repobilityId": "933c090fe1e9d126", "scanner": "scanner-primary", "fingerprint": "e9d089c41c77a09f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a54875bce85e430b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/mymemory-translate.mjs:80"}, "properties": {"repobilityId": "d26f4c92813312c7", "scanner": "scanner-primary", "fingerprint": "a54875bce85e430b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-785ce913ded9b2b5", "level": "none", "message": {"text": "Commented-code block (13 lines) in scripts/lib/job-board-stats.mjs:18"}, "properties": {"repobilityId": "babfb79f46581a90", "scanner": "scanner-primary", "fingerprint": "785ce913ded9b2b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30eec6ef6a1ec277", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/institution-lavigny-job-parser.mjs:207"}, "properties": {"repobilityId": "39043d891c29cc41", "scanner": "scanner-primary", "fingerprint": "30eec6ef6a1ec277", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7d27c54c845f94f", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/transient-fetch.mjs:201"}, "properties": {"repobilityId": "70800258fd9ca5bb", "scanner": "scanner-primary", "fingerprint": "f7d27c54c845f94f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7419679f4b621bf8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/transient-fetch.mjs:168"}, "properties": {"repobilityId": "a00d1e6ca6fca614", "scanner": "scanner-primary", "fingerprint": "7419679f4b621bf8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-92af6f76d04e4c72", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/alten-job-parser.mjs:44"}, "properties": {"repobilityId": "a89e177e68d63363", "scanner": "scanner-primary", "fingerprint": "92af6f76d04e4c72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82108ecf4441ffb8", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/postch-job-parser.mjs:170"}, "properties": {"repobilityId": "90bb08fc2628638e", "scanner": "scanner-primary", "fingerprint": "82108ecf4441ffb8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c2a40c5e58b578a", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/prospective-ch-job-parser-common.mjs:247"}, "properties": {"repobilityId": "93f5919030bf3c8d", "scanner": "scanner-primary", "fingerprint": "4c2a40c5e58b578a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5ffda6e040c7836", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/rehab-basel-job-parser.mjs:89"}, "properties": {"repobilityId": "a9ccc738b676abcd", "scanner": "scanner-primary", "fingerprint": "f5ffda6e040c7836", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bbf5f081f44aa304", "level": "none", "message": {"text": "Commented-code block (11 lines) in scripts/lib/bls-job-parser.mjs:147"}, "properties": {"repobilityId": "8706537fd7684b1b", "scanner": "scanner-primary", "fingerprint": "bbf5f081f44aa304", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-220bcd7158f7b9da", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/indexing-api.mjs:73"}, "properties": {"repobilityId": "35f08c9c8cc1ab43", "scanner": "scanner-primary", "fingerprint": "220bcd7158f7b9da", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a8073af833534581", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/agroscope-job-parser.mjs:115"}, "properties": {"repobilityId": "66cea3871bd4615c", "scanner": "scanner-primary", "fingerprint": "a8073af833534581", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06b5a46a161f4123", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/cds-savognin-job-parser.mjs:234"}, "properties": {"repobilityId": "b0decd138226ae8c", "scanner": "scanner-primary", "fingerprint": "06b5a46a161f4123", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-223448a75518360e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-arlesheim-job-parser.mjs:153"}, "properties": {"repobilityId": "2d500cc78343dead", "scanner": "scanner-primary", "fingerprint": "223448a75518360e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-721fd6ca476eacb5", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/engelvoelkers-job-parser.mjs:264"}, "properties": {"repobilityId": "17ad6c3f08d8fb08", "scanner": "scanner-primary", "fingerprint": "721fd6ca476eacb5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2ee4eff0c86575b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/target-swiss-locations.mjs:255"}, "properties": {"repobilityId": "bc506160b578c444", "scanner": "scanner-primary", "fingerprint": "a2ee4eff0c86575b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c0d9365357ec80f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/assert-json-list-shape.mjs:128"}, "properties": {"repobilityId": "a72bd8c70522b2e0", "scanner": "scanner-primary", "fingerprint": "6c0d9365357ec80f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89bff65dbab70445", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/related-search-serialize.mjs:6"}, "properties": {"repobilityId": "66a308423787f516", "scanner": "scanner-primary", "fingerprint": "89bff65dbab70445", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fdf362eade1b6ab0", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/gzo-wetzikon-job-parser.mjs:347"}, "properties": {"repobilityId": "e51b1a8e1e903223", "scanner": "scanner-primary", "fingerprint": "fdf362eade1b6ab0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08c837d361cb36d1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/canton-valais-job-parser.mjs:136"}, "properties": {"repobilityId": "a767faf9e9288082", "scanner": "scanner-primary", "fingerprint": "08c837d361cb36d1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-24bd9cc1f59bca9f", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/orphan-canton-paths.mjs:49"}, "properties": {"repobilityId": "c225dc1eefb33f7d", "scanner": "scanner-primary", "fingerprint": "24bd9cc1f59bca9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec609b9b7cb868bd", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/article-topic-selector.mjs:50"}, "properties": {"repobilityId": "b080986519f2546f", "scanner": "scanner-primary", "fingerprint": "ec609b9b7cb868bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa1ea7636800afea", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/riveneuve-job-parser.mjs:192"}, "properties": {"repobilityId": "02219266d768e6be", "scanner": "scanner-primary", "fingerprint": "aa1ea7636800afea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da1204b8a0b0da2e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/spital-maennedorf-job-parser.mjs:354"}, "properties": {"repobilityId": "c142302c98ec23aa", "scanner": "scanner-primary", "fingerprint": "da1204b8a0b0da2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-665f8d631c06dff8", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/lib/publisherJobProjection.mjs:94"}, "properties": {"repobilityId": "5e877a998017bbf5", "scanner": "scanner-primary", "fingerprint": "665f8d631c06dff8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65dd141cee8bb853", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/sulzer-job-parser.mjs:131"}, "properties": {"repobilityId": "01fafda64f759e03", "scanner": "scanner-primary", "fingerprint": "65dd141cee8bb853", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c798f61772c72f1", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/suedhang-job-parser.mjs:111"}, "properties": {"repobilityId": "13c3c07447f87d86", "scanner": "scanner-primary", "fingerprint": "2c798f61772c72f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d32ec938131968c", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/canton-ticino-osc-job-parser.mjs:142"}, "properties": {"repobilityId": "e3b372b79f2b26dc", "scanner": "scanner-primary", "fingerprint": "3d32ec938131968c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4eb301f5b52528ee", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/implenia-job-parser.mjs:368"}, "properties": {"repobilityId": "3ef2f7f0d3efa637", "scanner": "scanner-primary", "fingerprint": "4eb301f5b52528ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ee1b5e295ebc769", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/duferco-job-parser.mjs:200"}, "properties": {"repobilityId": "1d162a74da804212", "scanner": "scanner-primary", "fingerprint": "8ee1b5e295ebc769", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9eb46219f81290b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/cs-bregaglia-job-parser.mjs:98"}, "properties": {"repobilityId": "d4872f9e5293f3f3", "scanner": "scanner-primary", "fingerprint": "9eb46219f81290b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27f010fbda3404c5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/clienia-ag-job-parser.mjs:88"}, "properties": {"repobilityId": "0187f0aa1bd3f820", "scanner": "scanner-primary", "fingerprint": "27f010fbda3404c5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-55e5a6258380d8bd", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/ai-models.mjs:124"}, "properties": {"repobilityId": "ac1822dbfe570a47", "scanner": "scanner-primary", "fingerprint": "55e5a6258380d8bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d492467964f50e7b", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/pdf-job-content.mjs:180"}, "properties": {"repobilityId": "47e9d57439050fd2", "scanner": "scanner-primary", "fingerprint": "d492467964f50e7b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50f3f581805a4bc7", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/bcvs-job-parser.mjs:159"}, "properties": {"repobilityId": "0cbeefc1b066ce87", "scanner": "scanner-primary", "fingerprint": "50f3f581805a4bc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39148999204becde", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/forel-klinik-job-parser.mjs:190"}, "properties": {"repobilityId": "699e660c080e70b1", "scanner": "scanner-primary", "fingerprint": "39148999204becde", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-769f6ab1b3378a88", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/audit-runner.mjs:11"}, "properties": {"repobilityId": "67e3c0a75ce60f75", "scanner": "scanner-primary", "fingerprint": "769f6ab1b3378a88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2814ce625674d65c", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/crawler-template.mjs:285"}, "properties": {"repobilityId": "f0d6b405de0205b2", "scanner": "scanner-primary", "fingerprint": "2814ce625674d65c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c90149d9869cf7a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/job-identity.mjs:21"}, "properties": {"repobilityId": "9738b011538de84d", "scanner": "scanner-primary", "fingerprint": "4c90149d9869cf7a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53bf52f97dedb869", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/solothurner-spitaeler-job-parser.mjs:391"}, "properties": {"repobilityId": "9289e34dca525ba1", "scanner": "scanner-primary", "fingerprint": "53bf52f97dedb869", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2edaadd4d7e9ec5c", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/klinik-schloss-mammern-job-parser.mjs:186"}, "properties": {"repobilityId": "f7f26cbfa5181cdc", "scanner": "scanner-primary", "fingerprint": "2edaadd4d7e9ec5c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f856e21254fcb5c8", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/bfs-stats-parser.mjs:180"}, "properties": {"repobilityId": "2ed4289447a8731f", "scanner": "scanner-primary", "fingerprint": "f856e21254fcb5c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65cc680b15818e8e", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/allianz-job-parser.mjs:346"}, "properties": {"repobilityId": "7076d16b0f679624", "scanner": "scanner-primary", "fingerprint": "65cc680b15818e8e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4816405b9a8c4e5", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/spital-lachen-job-parser.mjs:179"}, "properties": {"repobilityId": "823dce15257d918e", "scanner": "scanner-primary", "fingerprint": "e4816405b9a8c4e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cda86cbd0d515a2", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/msc-cargo-job-parser.mjs:389"}, "properties": {"repobilityId": "af9b55a9c5f1cdec", "scanner": "scanner-primary", "fingerprint": "2cda86cbd0d515a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cdf8d9f6458f0cdd", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/lib/resolve-winners-conflict.mjs:31"}, "properties": {"repobilityId": "e6f367e57ebaa559", "scanner": "scanner-primary", "fingerprint": "cdf8d9f6458f0cdd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0ed3cf809737634", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/dup-stoplist.mjs:23"}, "properties": {"repobilityId": "ce3e33566a917e5b", "scanner": "scanner-primary", "fingerprint": "a0ed3cf809737634", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d0aa15a243c8ec8", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/swiss-life-job-parser.mjs:45"}, "properties": {"repobilityId": "8c1e4d23cc48c0be", "scanner": "scanner-primary", "fingerprint": "7d0aa15a243c8ec8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62a524459417672f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/job-url-key.mjs:46"}, "properties": {"repobilityId": "f2d216763c157f2a", "scanner": "scanner-primary", "fingerprint": "62a524459417672f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8466747b5120782e", "level": "none", "message": {"text": "Commented-code block (11 lines) in scripts/lib/solique-common.mjs:91"}, "properties": {"repobilityId": "a31151e0aabce752", "scanner": "scanner-primary", "fingerprint": "8466747b5120782e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb8847e4570c02b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/berner-klinik-montana-job-parser.mjs:139"}, "properties": {"repobilityId": "4e66c8ac89dcd98d", "scanner": "scanner-primary", "fingerprint": "cb8847e4570c02b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-273e3376e1861d32", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/leukerbad-clinic-job-parser.mjs:50"}, "properties": {"repobilityId": "53a0e2c1e1c30d01", "scanner": "scanner-primary", "fingerprint": "273e3376e1861d32", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-244fbc28355f6912", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/free-translate.mjs:106"}, "properties": {"repobilityId": "d6d9908e654b7386", "scanner": "scanner-primary", "fingerprint": "244fbc28355f6912", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c21e245696f31893", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/csvp-poschiavo-job-parser.mjs:86"}, "properties": {"repobilityId": "de076f19294d1609", "scanner": "scanner-primary", "fingerprint": "c21e245696f31893", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d27d0419f3aa70b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/kispi-job-parser.mjs:188"}, "properties": {"repobilityId": "bf6379363f074752", "scanner": "scanner-primary", "fingerprint": "4d27d0419f3aa70b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d58adbd1ca78aedc", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/swiss-locality-sentence-split.mjs:4"}, "properties": {"repobilityId": "d43a01650a568c2a", "scanner": "scanner-primary", "fingerprint": "d58adbd1ca78aedc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c87114b10ca527ab", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/lib/pbl-job-parser.mjs:93"}, "properties": {"repobilityId": "56a8c3429a4f950c", "scanner": "scanner-primary", "fingerprint": "c87114b10ca527ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6ed7faa973d6a7a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/uroviva-job-parser.mjs:209"}, "properties": {"repobilityId": "f5ed5a2cd543d266", "scanner": "scanner-primary", "fingerprint": "f6ed7faa973d6a7a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89ea784ffb193086", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/prosenectute-ti-job-parser.mjs:166"}, "properties": {"repobilityId": "9ff4477a218e1c25", "scanner": "scanner-primary", "fingerprint": "89ea784ffb193086", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6262d8e4d797b6de", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/topic-sources/reddit.mjs:156"}, "properties": {"repobilityId": "6af447663fd976db", "scanner": "scanner-primary", "fingerprint": "6262d8e4d797b6de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c0ade247cb53144", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/topic-sources/googleSuggest.mjs:14"}, "properties": {"repobilityId": "9368b0e1f4fe280a", "scanner": "scanner-primary", "fingerprint": "6c0ade247cb53144", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f12e8f9a6f44848", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/topic-sources/detectLocale.mjs:1"}, "properties": {"repobilityId": "ed31aa968963aabd", "scanner": "scanner-primary", "fingerprint": "4f12e8f9a6f44848", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a22470e0a5b1999f", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/topic-sources/facebookPages.mjs:3"}, "properties": {"repobilityId": "17841cb8977b8480", "scanner": "scanner-primary", "fingerprint": "a22470e0a5b1999f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb083861cc1d2638", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/topic-sources/googleTrends.mjs:3"}, "properties": {"repobilityId": "d9fe3a80df421c06", "scanner": "scanner-primary", "fingerprint": "fb083861cc1d2638", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d49a9a56072266cc", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/topic-sources/googleNewsRss.mjs:15"}, "properties": {"repobilityId": "76770b069f8e6293", "scanner": "scanner-primary", "fingerprint": "d49a9a56072266cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d871ed9c36aad5a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/topic-sources/gscOrphans.mjs:3"}, "properties": {"repobilityId": "272c5c15b8cbc92e", "scanner": "scanner-primary", "fingerprint": "6d871ed9c36aad5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1d03cc4a2887d0e", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/ats-clients/playwright-runtime.mjs:198"}, "properties": {"repobilityId": "565577071d06f1e3", "scanner": "scanner-primary", "fingerprint": "d1d03cc4a2887d0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bcf191fed20e3115", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/ats-clients/smartrecruiters-client.mjs:264"}, "properties": {"repobilityId": "43cedc5703f85086", "scanner": "scanner-primary", "fingerprint": "bcf191fed20e3115", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f62a9fdd01af1a4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/lib/ats-clients/smartrecruiters-client.mjs:13"}, "properties": {"repobilityId": "6903ba2ad5cfead9", "scanner": "scanner-primary", "fingerprint": "5f62a9fdd01af1a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d05bfb17c1d74ab6", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/ats-clients/workday-client.mjs:129"}, "properties": {"repobilityId": "23d6c08dfe9396e6", "scanner": "scanner-primary", "fingerprint": "d05bfb17c1d74ab6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c4726375c466a5d", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/ats-clients/successfactors-client.mjs:605"}, "properties": {"repobilityId": "bcfae634832e4e72", "scanner": "scanner-primary", "fingerprint": "9c4726375c466a5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25869cdefd98ac21", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/perf-sources/scoring.mjs:4"}, "properties": {"repobilityId": "02db27970cfbcb63", "scanner": "scanner-primary", "fingerprint": "25869cdefd98ac21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c9edf5bb6b68b42", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/perf-sources/domainTerms.mjs:8"}, "properties": {"repobilityId": "42d239f547f9ca81", "scanner": "scanner-primary", "fingerprint": "8c9edf5bb6b68b42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c5356301a18a1a5", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/perf-sources/articleDiscovery.mjs:170"}, "properties": {"repobilityId": "37efc7ad35b9de65", "scanner": "scanner-primary", "fingerprint": "4c5356301a18a1a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6542c0d82e8d0d71", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/perf-sources/posthog.mjs:34"}, "properties": {"repobilityId": "c42a0ebba052f255", "scanner": "scanner-primary", "fingerprint": "6542c0d82e8d0d71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5f972829ead65f4", "level": "none", "message": {"text": "Commented-code block (17 lines) in scripts/lib/perf-sources/adsense.mjs:3"}, "properties": {"repobilityId": "85a177e285d1879f", "scanner": "scanner-primary", "fingerprint": "b5f972829ead65f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-938196d58e83d476", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/alerts/snoozer.mjs:10"}, "properties": {"repobilityId": "5d228266fbbbf795", "scanner": "scanner-primary", "fingerprint": "938196d58e83d476", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e64aafee115dd66d", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lib/scoring/constants.mjs:16"}, "properties": {"repobilityId": "ca1b5c5b45f52e91", "scanner": "scanner-primary", "fingerprint": "e64aafee115dd66d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09c57d0f4b0bcb47", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/scoring/cascadedScore.mjs:190"}, "properties": {"repobilityId": "c3b3881a53b29741", "scanner": "scanner-primary", "fingerprint": "09c57d0f4b0bcb47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-74904d85a0985c43", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/scoring/semanticDedup.mjs:5"}, "properties": {"repobilityId": "a9abc6474cbb8c82", "scanner": "scanner-primary", "fingerprint": "74904d85a0985c43", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-178faa9c97009ce2", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/evidence/gscFetcher.mjs:1"}, "properties": {"repobilityId": "d74490a4e0dc8c34", "scanner": "scanner-primary", "fingerprint": "178faa9c97009ce2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7427496f4c22bde", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/evidence/embeddingClient.mjs:3"}, "properties": {"repobilityId": "401e2248d0e7bb3e", "scanner": "scanner-primary", "fingerprint": "b7427496f4c22bde", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa9f6d1f190febd2", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/evidence/posthogFetcher.mjs:3"}, "properties": {"repobilityId": "5ff4ab4d4d802c01", "scanner": "scanner-primary", "fingerprint": "aa9f6d1f190febd2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-532dc543dde5c186", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/lib/discovery/domainAnchor.mjs:8"}, "properties": {"repobilityId": "242d5db657b41ba7", "scanner": "scanner-primary", "fingerprint": "532dc543dde5c186", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-075317efff5fe693", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lib/discovery/discoveryScore.mjs:3"}, "properties": {"repobilityId": "82287dc017edc4a2", "scanner": "scanner-primary", "fingerprint": "075317efff5fe693", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e57653325cfea5c", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/discovery/discoveryPool.mjs:7"}, "properties": {"repobilityId": "10af6d92337de8d2", "scanner": "scanner-primary", "fingerprint": "8e57653325cfea5c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42722dd65946f981", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/scheduler/slugSimilarity.mjs:7"}, "properties": {"repobilityId": "6aca9867e8fcbe05", "scanner": "scanner-primary", "fingerprint": "42722dd65946f981", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab559ddd047a2d1a", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lib/scheduler/winnerEvaluator.mjs:3"}, "properties": {"repobilityId": "94945a161191b3bc", "scanner": "scanner-primary", "fingerprint": "ab559ddd047a2d1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d1f5757bc5c53e5", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/ci/pr-autorebase.mjs:50"}, "properties": {"repobilityId": "22601fbc0c49269e", "scanner": "scanner-primary", "fingerprint": "1d1f5757bc5c53e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28cd0422b93004ea", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/ci/check-cls-ad-slots.mjs:62"}, "properties": {"repobilityId": "5d971f1e582f94cf", "scanner": "scanner-primary", "fingerprint": "28cd0422b93004ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-952b2e4823eb376c", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ci/auto-merge-eval.mjs:53"}, "properties": {"repobilityId": "fd95d6a72ece0c77", "scanner": "scanner-primary", "fingerprint": "952b2e4823eb376c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21a62544d0a00e62", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/ci/followup-drainer.mjs:36"}, "properties": {"repobilityId": "92149741c7de9908", "scanner": "scanner-primary", "fingerprint": "21a62544d0a00e62", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b47416f9f166ef86", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/ci/check-issue-already-resolved.mjs:189"}, "properties": {"repobilityId": "1b2060a79a3455c8", "scanner": "scanner-primary", "fingerprint": "b47416f9f166ef86", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d60cbd0375e5f7c", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/ci/claude-usage-summary.mjs:2"}, "properties": {"repobilityId": "b9b478640ede9ce7", "scanner": "scanner-primary", "fingerprint": "1d60cbd0375e5f7c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a52c99209325008", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/ci/harvest-agent-lessons.mjs:4"}, "properties": {"repobilityId": "7e3e671c8d987b5d", "scanner": "scanner-primary", "fingerprint": "1a52c99209325008", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1015710c53761ede", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/ci/check-client-lookbehind.mjs:82"}, "properties": {"repobilityId": "6730617adc7d9f16", "scanner": "scanner-primary", "fingerprint": "1015710c53761ede", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a32d92ef042b596c", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/ci/prune-cdn-assets.mjs:66"}, "properties": {"repobilityId": "279726b4ef8a660a", "scanner": "scanner-primary", "fingerprint": "a32d92ef042b596c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29ff08e272d8e40e", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/ci/followup-resolution-match.mjs:47"}, "properties": {"repobilityId": "fa97370579b7654b", "scanner": "scanner-primary", "fingerprint": "29ff08e272d8e40e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-60e6939079d3fabc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo/semrush-snapshot.mjs:96"}, "properties": {"repobilityId": "0c56635942c08765", "scanner": "scanner-primary", "fingerprint": "60e6939079d3fabc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a32525989660ad05", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo/semrush-site-audit.mjs:159"}, "properties": {"repobilityId": "e42f2b88568932f2", "scanner": "scanner-primary", "fingerprint": "a32525989660ad05", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-06364cc4de16c07d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seo/detect-cannibalization.mjs:99"}, "properties": {"repobilityId": "95dfff3e36bee4b2", "scanner": "scanner-primary", "fingerprint": "06364cc4de16c07d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4f6ab4315c71235b", "level": "note", "message": {"text": "Legacy-named symbol `dialect_user_phrases_v1` in components/vita/TicineseDialect.tsx:42"}, "properties": {"repobilityId": "61ef40377da20bc2", "scanner": "scanner-primary", "fingerprint": "4f6ab4315c71235b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cbc93ad80801583e", "level": "note", "message": {"text": "Legacy-named symbol `ft_tax_checklist_done_v1` in components/fisco/TaxCalendar.tsx:324"}, "properties": {"repobilityId": "a79a76ad8af6211d", "scanner": "scanner-primary", "fingerprint": "cbc93ad80801583e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-14aeaf25cdffd00c", "level": "note", "message": {"text": "Legacy-named symbol `newAgrOld` in components/fisco/SwissTaxReturn.tsx:253"}, "properties": {"repobilityId": "2f8d2a1476655bcb", "scanner": "scanner-primary", "fingerprint": "14aeaf25cdffd00c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1cc94009b07a9ec0", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/shared/ErrorBoundary.tsx:16"}, "properties": {"repobilityId": "9320d78741334ade", "scanner": "scanner-primary", "fingerprint": "1cc94009b07a9ec0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b361e041667f05fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/shared/NotFoundSuggestions.tsx:149"}, "properties": {"repobilityId": "023a95a30dd78e9d", "scanner": "scanner-primary", "fingerprint": "b361e041667f05fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f142e15e57f8e511", "level": "none", "message": {"text": "Commented-code block (7 lines) in components/shared/ProviderLogo.tsx:20"}, "properties": {"repobilityId": "98813d65d440f783", "scanner": "scanner-primary", "fingerprint": "f142e15e57f8e511", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1bee488b36698c88", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/shared/AiChatbot.tsx:121"}, "properties": {"repobilityId": "830ae7794df97e7a", "scanner": "scanner-primary", "fingerprint": "1bee488b36698c88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65c249275056c4be", "level": "none", "message": {"text": "Commented-code block (9 lines) in components/shared/AdSenseBanner.tsx:225"}, "properties": {"repobilityId": "f118694fd76f060b", "scanner": "scanner-primary", "fingerprint": "65c249275056c4be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5ed20dbf3d55fb0", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/community/JobBoard.tsx:176"}, "properties": {"repobilityId": "ec612c743657599c", "scanner": "scanner-primary", "fingerprint": "e5ed20dbf3d55fb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55706a90963ca7c5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/community/JobBoard.tsx:1823"}, "properties": {"repobilityId": "f28d614499e29cad", "scanner": "scanner-primary", "fingerprint": "55706a90963ca7c5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-08dcd4f65918b754", "level": "none", "message": {"text": "Commented-code block (11 lines) in components/community/JobExpiredView.tsx:279"}, "properties": {"repobilityId": "1dbaaaca938c3e6b", "scanner": "scanner-primary", "fingerprint": "08dcd4f65918b754", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63aa0c081c7763c8", "level": "none", "message": {"text": "Commented-code block (11 lines) in components/community/JobOrphanView.tsx:264"}, "properties": {"repobilityId": "2d9d24ed4ec6cd0d", "scanner": "scanner-primary", "fingerprint": "63aa0c081c7763c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b23a07d7f8289544", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/community/PublisherApplyForm.tsx:51"}, "properties": {"repobilityId": "339e365b6c61429b", "scanner": "scanner-primary", "fingerprint": "b23a07d7f8289544", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b537b06a8f0980a9", "level": "none", "message": {"text": "Commented-code block (11 lines) in components/community/JobBridgeView.tsx:223"}, "properties": {"repobilityId": "6dfd638cdc88e8a3", "scanner": "scanner-primary", "fingerprint": "b537b06a8f0980a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b6eb38c8d6044b8", "level": "none", "message": {"text": "Commented-code block (7 lines) in components/community/BlogArticles.tsx:88"}, "properties": {"repobilityId": "2161fb37eb2cb2d1", "scanner": "scanner-primary", "fingerprint": "1b6eb38c8d6044b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2203e00c82d0c7fd", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/community/JobAlertForm.tsx:63"}, "properties": {"repobilityId": "2d88016fc62ce237", "scanner": "scanner-primary", "fingerprint": "2203e00c82d0c7fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-315dd15776bead54", "level": "none", "message": {"text": "Commented-code block (7 lines) in components/pages/PublisherPublishPage.tsx:262"}, "properties": {"repobilityId": "c4b1d1102215480f", "scanner": "scanner-primary", "fingerprint": "315dd15776bead54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25be400909d7c6f8", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/pages/PublisherDashboardPage.tsx:469"}, "properties": {"repobilityId": "f807541306dcbfeb", "scanner": "scanner-primary", "fingerprint": "25be400909d7c6f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a30c28feed8b1d08", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/pages/AdminPanel.tsx:2095"}, "properties": {"repobilityId": "2162b63f106bd2e8", "scanner": "scanner-primary", "fingerprint": "a30c28feed8b1d08", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-523bf72d7e80c79f", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/pages/FuelPriceStats.tsx:418"}, "properties": {"repobilityId": "37ba037d6f67007f", "scanner": "scanner-primary", "fingerprint": "523bf72d7e80c79f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-609b9a46febb5831", "level": "note", "message": {"text": "Legacy-named symbol `easterEggOld` in components/calculator/InputCard.tsx:244"}, "properties": {"repobilityId": "1dd1105ca1d145f8", "scanner": "scanner-primary", "fingerprint": "609b9a46febb5831", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3085a70c6d777d66", "level": "note", "message": {"text": "Legacy-named symbol `frontierOld` in components/calculator/WhatIfSimulator.tsx:81"}, "properties": {"repobilityId": "4547e0fae820471c", "scanner": "scanner-primary", "fingerprint": "3085a70c6d777d66", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fad1c69f3aaaf8d8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/calculator/CalculatorPaywall.tsx:106"}, "properties": {"repobilityId": "500f619d5aa605b5", "scanner": "scanner-primary", "fingerprint": "fad1c69f3aaaf8d8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bc1d65128d8dbd4d", "level": "note", "message": {"text": "Legacy-named symbol `simOld` in components/calculator/ComparisonChart.tsx:168"}, "properties": {"repobilityId": "a25e1f9564cb2843", "scanner": "scanner-primary", "fingerprint": "bc1d65128d8dbd4d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bb645486a84a1679", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/comparators/CurrencyExchange.tsx:370"}, "properties": {"repobilityId": "01f189ae911ec048", "scanner": "scanner-primary", "fingerprint": "bb645486a84a1679", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44da68835d6bd58d", "level": "note", "message": {"text": "Legacy-named symbol `ft_exchange_weekly_alert_v1` in components/comparators/CurrencyExchangeStats.tsx:734"}, "properties": {"repobilityId": "97fe98b87c9f6a72", "scanner": "scanner-primary", "fingerprint": "44da68835d6bd58d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d227624ad532becf", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/guide/ContractsGuide.tsx:9"}, "properties": {"repobilityId": "cbdb69c680a870be", "scanner": "scanner-primary", "fingerprint": "d227624ad532becf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc511b2e7d0c968a", "level": "note", "message": {"text": "Legacy-named symbol `easterEggOld` in components/guide/PermitCompare.tsx:292"}, "properties": {"repobilityId": "6c7cef7d8ba6a666", "scanner": "scanner-primary", "fingerprint": "fc511b2e7d0c968a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a53a8d1328a0e85e", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/guide/FrontierGuide.tsx:75"}, "properties": {"repobilityId": "c61110f441b33187", "scanner": "scanner-primary", "fingerprint": "a53a8d1328a0e85e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10e14988f3f5bfa4", "level": "none", "message": {"text": "Commented-code block (10 lines) in components/guide/BorderMunicipalitiesMap.tsx:37"}, "properties": {"repobilityId": "0b03c28def3f4763", "scanner": "scanner-primary", "fingerprint": "10e14988f3f5bfa4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0705b7d87ea0164d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/useExpiredJob.ts:130"}, "properties": {"repobilityId": "3300a43b09540e84", "scanner": "scanner-primary", "fingerprint": "0705b7d87ea0164d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5d66dd2453cd99bb", "level": "none", "message": {"text": "Commented-code block (6 lines) in hooks/useNavigationState.ts:112"}, "properties": {"repobilityId": "985d5cfd25d139db", "scanner": "scanner-primary", "fingerprint": "5d66dd2453cd99bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e992db3885ee1df0", "level": "none", "message": {"text": "Commented-code block (5 lines) in hooks/useSimulationState.ts:68"}, "properties": {"repobilityId": "68faf605130ab622", "scanner": "scanner-primary", "fingerprint": "e992db3885ee1df0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59199895251de48e", "level": "none", "message": {"text": "Commented-code block (6 lines) in hooks/useUIState.ts:99"}, "properties": {"repobilityId": "9b254ea9e6227d3a", "scanner": "scanner-primary", "fingerprint": "59199895251de48e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2344ff2ac68100ac", "level": "note", "message": {"text": "Legacy-named symbol `ft_social_proof_counted_v1` in services/firestoreService.ts:25"}, "properties": {"repobilityId": "356f348500fe4e6b", "scanner": "scanner-primary", "fingerprint": "2344ff2ac68100ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1dea41a2f313db74", "level": "none", "message": {"text": "Commented-code block (6 lines) in services/textUtils.ts:10"}, "properties": {"repobilityId": "cc1c50ac6fb06d3f", "scanner": "scanner-primary", "fingerprint": "1dea41a2f313db74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82439e45038ef380", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/jobDataNormalization.ts:13"}, "properties": {"repobilityId": "dfbcc006e90ec75f", "scanner": "scanner-primary", "fingerprint": "82439e45038ef380", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a703ade339895818", "level": "note", "message": {"text": "Legacy-named symbol `bfs_stats_cache_v2` in services/statsService.ts:12"}, "properties": {"repobilityId": "e064511409602b04", "scanner": "scanner-primary", "fingerprint": "a703ade339895818", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0cd8e8c1d106dfa2", "level": "none", "message": {"text": "Commented-code block (6 lines) in services/newsletterAutologinSignal.ts:63"}, "properties": {"repobilityId": "62953f88a970b13f", "scanner": "scanner-primary", "fingerprint": "0cd8e8c1d106dfa2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-673fad872d2bdae0", "level": "note", "message": {"text": "Legacy-named symbol `ft_attribution_v1` in services/analytics.ts:293"}, "properties": {"repobilityId": "44c0aef08c8ef7ee", "scanner": "scanner-primary", "fingerprint": "673fad872d2bdae0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4ab41b2f536fc3d9", "level": "none", "message": {"text": "Commented-code block (8 lines) in services/analytics.ts:423"}, "properties": {"repobilityId": "802ba8ba7f9d7d6b", "scanner": "scanner-primary", "fingerprint": "4ab41b2f536fc3d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98c06183241163a9", "level": "none", "message": {"text": "Commented-code block (6 lines) in services/firebase.ts:66"}, "properties": {"repobilityId": "383e8cfcfc0ec873", "scanner": "scanner-primary", "fingerprint": "98c06183241163a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7693bc2c5949308", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/employerBrands.ts:309"}, "properties": {"repobilityId": "8c3d0990980fe2a1", "scanner": "scanner-primary", "fingerprint": "a7693bc2c5949308", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af5bf7068eaabfea", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/cdnImageBase.ts:3"}, "properties": {"repobilityId": "9f8d5c29136f7c54", "scanner": "scanner-primary", "fingerprint": "af5bf7068eaabfea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4321cb9e433e522d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/jobsService.ts:177"}, "properties": {"repobilityId": "f9ed26483be64ece", "scanner": "scanner-primary", "fingerprint": "4321cb9e433e522d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6c17c42db2dd1dfd", "level": "none", "message": {"text": "Commented-code block (6 lines) in services/analytics-seo.ts:218"}, "properties": {"repobilityId": "36661a139f92bd8d", "scanner": "scanner-primary", "fingerprint": "6c17c42db2dd1dfd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27bf808f2b5eb1ee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/fuelPricesService.ts:175"}, "properties": {"repobilityId": "a038c95521447e53", "scanner": "scanner-primary", "fingerprint": "27bf808f2b5eb1ee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bc1b8768da4a0c02", "level": "none", "message": {"text": "Commented-code block (7 lines) in services/newsletter-content.mjs:31"}, "properties": {"repobilityId": "d5908011cc6ddcf5", "scanner": "scanner-primary", "fingerprint": "bc1b8768da4a0c02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1ed896b0d31e59c", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/relatedSearchClusters.ts:23"}, "properties": {"repobilityId": "c4cf0188fe737e39", "scanner": "scanner-primary", "fingerprint": "d1ed896b0d31e59c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c44e474e0364823", "level": "none", "message": {"text": "Commented-code block (10 lines) in services/jobAlertService.ts:141"}, "properties": {"repobilityId": "04b789eb6dca8199", "scanner": "scanner-primary", "fingerprint": "9c44e474e0364823", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd3bcda3d68b0f95", "level": "note", "message": {"text": "Legacy-named symbol `seo_serp_experiment_state_v1` in services/seoService.ts:129"}, "properties": {"repobilityId": "b144cae89db24963", "scanner": "scanner-primary", "fingerprint": "dd3bcda3d68b0f95", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c1ac3459638d9cb3", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/seoService.ts:272"}, "properties": {"repobilityId": "0295cad4a34d0b02", "scanner": "scanner-primary", "fingerprint": "c1ac3459638d9cb3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c04da8dd28ba9a07", "level": "none", "message": {"text": "Commented-code block (6 lines) in services/authService.ts:17"}, "properties": {"repobilityId": "1282513e34e7eefc", "scanner": "scanner-primary", "fingerprint": "c04da8dd28ba9a07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99712c4bba53d486", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/newsletterPreview.ts:187"}, "properties": {"repobilityId": "1d3e000948c0168a", "scanner": "scanner-primary", "fingerprint": "99712c4bba53d486", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1107da278e5fc42e", "level": "none", "message": {"text": "Commented-code block (8 lines) in services/posthog-error-filter.ts:26"}, "properties": {"repobilityId": "9a16a5525c8e88ce", "scanner": "scanner-primary", "fingerprint": "1107da278e5fc42e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fca84fd1e2a728d0", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/errorReporter.ts:84"}, "properties": {"repobilityId": "b949ba465175638e", "scanner": "scanner-primary", "fingerprint": "fca84fd1e2a728d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-333d5d968aa76ab0", "level": "none", "message": {"text": "Commented-code block (6 lines) in services/posthog.ts:24"}, "properties": {"repobilityId": "905c397f7b9a531a", "scanner": "scanner-primary", "fingerprint": "333d5d968aa76ab0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-570a7617a1fa8c05", "level": "none", "message": {"text": "Commented-code block (7 lines) in services/router.ts:77"}, "properties": {"repobilityId": "b3b5a24552c21763", "scanner": "scanner-primary", "fingerprint": "570a7617a1fa8c05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0d5ec49f18f6bbb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/router.ts:1666"}, "properties": {"repobilityId": "a0f233b332d6dc89", "scanner": "scanner-primary", "fingerprint": "e0d5ec49f18f6bbb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-23c2acde375c4cb7", "level": "none", "message": {"text": "Commented-code block (7 lines) in services/newsletter-subject-variants.mjs:24"}, "properties": {"repobilityId": "bc13379be6b0afaf", "scanner": "scanner-primary", "fingerprint": "23c2acde375c4cb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7ab9056cbccd9b3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/jobBoardStatsService.ts:74"}, "properties": {"repobilityId": "55a63a9cde871018", "scanner": "scanner-primary", "fingerprint": "e7ab9056cbccd9b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dd00bf51e27fd32b", "level": "note", "message": {"text": "Legacy-named symbol `newsletter_geo_snapshot_v1` in services/newsletterSubscribers.ts:16"}, "properties": {"repobilityId": "ea3d51ee4673ccd2", "scanner": "scanner-primary", "fingerprint": "dd00bf51e27fd32b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-46b7a37f7734b718", "level": "none", "message": {"text": "Commented-code block (8 lines) in services/newsletterSubscribers.ts:263"}, "properties": {"repobilityId": "7d25aac99a66a13e", "scanner": "scanner-primary", "fingerprint": "46b7a37f7734b718", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8b923453378fa78", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 services/newsletterSubscribers.ts:782"}, "properties": {"repobilityId": "0110b62f59b8f6b1", "scanner": "scanner-primary", "fingerprint": "a8b923453378fa78", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e1034ba08216078e", "level": "note", "message": {"text": "Legacy-named symbol `filterOld` in services/locales/en-fisco.ts:177"}, "properties": {"repobilityId": "49ac658e81e908b6", "scanner": "scanner-primary", "fingerprint": "e1034ba08216078e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9998167f7e48f684", "level": "note", "message": {"text": "Legacy-named symbol `workerTypeOld` in services/locales/de-calculator.ts:6"}, "properties": {"repobilityId": "5a7a2a6be08c7411", "scanner": "scanner-primary", "fingerprint": "9998167f7e48f684", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-db3406d09f2d511f", "level": "note", "message": {"text": "Legacy-named symbol `frontierOld` in services/locales/en-vita.ts:58"}, "properties": {"repobilityId": "8eb6c484fb5b939a", "scanner": "scanner-primary", "fingerprint": "db3406d09f2d511f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-482f4feee58921ef", "level": "note", "message": {"text": "Legacy-named symbol `frontierOld` in services/locales/it-vita.ts:59"}, "properties": {"repobilityId": "01f5752c81232a3a", "scanner": "scanner-primary", "fingerprint": "482f4feee58921ef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4eeb9c3d423f18b8", "level": "note", "message": {"text": "Legacy-named symbol `gTypeOld` in services/locales/en-core.ts:189"}, "properties": {"repobilityId": "70a3bbd077df0023", "scanner": "scanner-primary", "fingerprint": "4eeb9c3d423f18b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7930d9bac9551063", "level": "note", "message": {"text": "Legacy-named symbol `filterOld` in services/locales/de-fisco.ts:177"}, "properties": {"repobilityId": "021129ea90510d61", "scanner": "scanner-primary", "fingerprint": "7930d9bac9551063", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6002b7afffd71bb3", "level": "note", "message": {"text": "Legacy-named symbol `gTypeOld` in services/locales/it-core.ts:206"}, "properties": {"repobilityId": "0b70eca13b108b6a", "scanner": "scanner-primary", "fingerprint": "6002b7afffd71bb3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f5e52a593340fc90", "level": "note", "message": {"text": "Legacy-named symbol `frontierOld` in services/locales/de-vita.ts:58"}, "properties": {"repobilityId": "75f6aaac01851345", "scanner": "scanner-primary", "fingerprint": "f5e52a593340fc90", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7b77dc1ccb739897", "level": "note", "message": {"text": "Legacy-named symbol `filterOld` in services/locales/it-fisco.ts:190"}, "properties": {"repobilityId": "79837fee1f28aa37", "scanner": "scanner-primary", "fingerprint": "7b77dc1ccb739897", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a40d17850477ca7c", "level": "none", "message": {"text": "Commented-code block (6 lines) in services/locales/it-critical.ts:5"}, "properties": {"repobilityId": "bf552f121e020976", "scanner": "scanner-primary", "fingerprint": "a40d17850477ca7c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a7e5acdf2e5de1d", "level": "note", "message": {"text": "Legacy-named symbol `gTypeOld` in services/locales/fr-core.ts:192"}, "properties": {"repobilityId": "39b7369184f6bfef", "scanner": "scanner-primary", "fingerprint": "7a7e5acdf2e5de1d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d19cee2ce584bd10", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/locales/it-border-wait.ts:1"}, "properties": {"repobilityId": "7c92f93f6a60a12c", "scanner": "scanner-primary", "fingerprint": "d19cee2ce584bd10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28f27fa5b89dc2f6", "level": "note", "message": {"text": "Legacy-named symbol `frontierOld` in services/locales/fr-vita.ts:58"}, "properties": {"repobilityId": "c5ed4c3a8d056ce9", "scanner": "scanner-primary", "fingerprint": "28f27fa5b89dc2f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b7219d83132d0055", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/locales/it-health-premiums.ts:1"}, "properties": {"repobilityId": "d48a5544e04d58ef", "scanner": "scanner-primary", "fingerprint": "b7219d83132d0055", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50843625ea3bc305", "level": "none", "message": {"text": "Commented-code block (7 lines) in services/locales/it-seo-links.ts:1"}, "properties": {"repobilityId": "66a89e244e8e84ec", "scanner": "scanner-primary", "fingerprint": "50843625ea3bc305", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7f2c63d6ca4a19d", "level": "note", "message": {"text": "Legacy-named symbol `workerTypeOld` in services/locales/fr-calculator.ts:6"}, "properties": {"repobilityId": "bcc6968ca806cf97", "scanner": "scanner-primary", "fingerprint": "f7f2c63d6ca4a19d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2c4b2adaf8536e52", "level": "note", "message": {"text": "Legacy-named symbol `workerTypeOld` in services/locales/it-calculator.ts:7"}, "properties": {"repobilityId": "deffc806e4422f64", "scanner": "scanner-primary", "fingerprint": "2c4b2adaf8536e52", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e03b983790c8198e", "level": "note", "message": {"text": "Legacy-named symbol `filterOld` in services/locales/fr-fisco.ts:177"}, "properties": {"repobilityId": "8be3a71eb122cd43", "scanner": "scanner-primary", "fingerprint": "e03b983790c8198e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-96d93c0265ad6982", "level": "note", "message": {"text": "Legacy-named symbol `workerTypeOld` in services/locales/en-calculator.ts:6"}, "properties": {"repobilityId": "1cdda33db4478f6b", "scanner": "scanner-primary", "fingerprint": "96d93c0265ad6982", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e05b34bb6512f20f", "level": "note", "message": {"text": "Legacy-named symbol `gTypeOld` in services/locales/de-core.ts:192"}, "properties": {"repobilityId": "41811280920528be", "scanner": "scanner-primary", "fingerprint": "e05b34bb6512f20f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-649f4f0c23210e86", "level": "note", "message": {"text": "Legacy-named symbol `nOld` in services/locales/blog-body/en/social-media-frontalieri-ticino.ts:2"}, "properties": {"repobilityId": "9b70c6ce10a49f7e", "scanner": "scanner-primary", "fingerprint": "649f4f0c23210e86", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dd918fd77b3e729b", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/jobs/canonicalFallback.ts:1"}, "properties": {"repobilityId": "45b4d0362fa07ce9", "scanner": "scanner-primary", "fingerprint": "dd918fd77b3e729b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dadfc6fda95002b9", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/seo/seo-authors.ts:61"}, "properties": {"repobilityId": "2dba432ac4ae74fe", "scanner": "scanner-primary", "fingerprint": "dadfc6fda95002b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d03f4531e705116", "level": "none", "message": {"text": "Commented-code block (10 lines) in services/seo/claim-review.ts:11"}, "properties": {"repobilityId": "d2521a136eb3c9d1", "scanner": "scanner-primary", "fingerprint": "9d03f4531e705116", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5314d8f188aacbfa", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/seo/entity-translations.ts:10"}, "properties": {"repobilityId": "0b77ff0193297f68", "scanner": "scanner-primary", "fingerprint": "5314d8f188aacbfa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9c919300ae14f18", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/seo/job-board-titles.ts:425"}, "properties": {"repobilityId": "8c1ec4d6be4d083f", "scanner": "scanner-primary", "fingerprint": "c9c919300ae14f18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-771eda1807991e6a", "level": "none", "message": {"text": "Commented-code block (6 lines) in services/seo/faq-translations.ts:4485"}, "properties": {"repobilityId": "a9c22c28092e81a1", "scanner": "scanner-primary", "fingerprint": "771eda1807991e6a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39634c984eb71511", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/seo/schema-translators.ts:5"}, "properties": {"repobilityId": "b78e558b3a21905c", "scanner": "scanner-primary", "fingerprint": "39634c984eb71511", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b3e1bad2cb156cf", "level": "none", "message": {"text": "Commented-code block (6 lines) in services/seo/blogImageCdn.ts:3"}, "properties": {"repobilityId": "06c62661d5caba9f", "scanner": "scanner-primary", "fingerprint": "4b3e1bad2cb156cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b980504c1f114235", "level": "none", "message": {"text": "Commented-code block (7 lines) in services/seo/article-translations.ts:6"}, "properties": {"repobilityId": "6864afcce5899a77", "scanner": "scanner-primary", "fingerprint": "b980504c1f114235", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc651ddc94e57e83", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/seo/seo-blog-ch.ts:1"}, "properties": {"repobilityId": "d1fb3668bc2499d7", "scanner": "scanner-primary", "fingerprint": "cc651ddc94e57e83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8b7649491a82601", "level": "none", "message": {"text": "Commented-code block (5 lines) in services/seo/schema-normalizers.ts:61"}, "properties": {"repobilityId": "cffb7fb379e2fc4a", "scanner": "scanner-primary", "fingerprint": "e8b7649491a82601", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a42254ed014a0b00", "level": "none", "message": {"text": "Commented-code block (6 lines) in infra/cloudflare-worker/locale-router.js:74"}, "properties": {"repobilityId": "dd4c2d9c8ca6b41f", "scanner": "scanner-primary", "fingerprint": "a42254ed014a0b00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2cb79733d8991cb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 infra/cloudflare-worker/locale-router.js:191"}, "properties": {"repobilityId": "476b0f8d31adba5e", "scanner": "scanner-primary", "fingerprint": "a2cb79733d8991cb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a8c1678b482ec827", "level": "note", "message": {"text": "436 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "c0f1f92a2650c40b", "scanner": "scanner-primary", "fingerprint": "a8c1678b482ec827", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-a3143cbd7a742d31", "level": "error", "message": {"text": "Dangling fetch: GET https://api.linkedin.com/v2/me?projection=(id,localizedHeadline,vanityName) (functions/src/linkedinAuthCallback.js:30)"}, "properties": {"repobilityId": "b9f6e85cc223be7d", "scanner": "scanner-primary", "fingerprint": "a3143cbd7a742d31", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-453608bd4f333bb0", "level": "error", "message": {"text": "Dangling fetch: POST https://www.linkedin.com/oauth/v2/accessToken (functions/src/linkedinAuthCallback.js:95)"}, "properties": {"repobilityId": "29bf100495227ca9", "scanner": "scanner-primary", "fingerprint": "453608bd4f333bb0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4e6e16d8a5a8038e", "level": "error", "message": {"text": "Dangling fetch: GET https://api.linkedin.com/v2/userinfo (functions/src/linkedinAuthCallback.js:115)"}, "properties": {"repobilityId": "71e48dbccfffec77", "scanner": "scanner-primary", "fingerprint": "4e6e16d8a5a8038e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1874e25346ec92ed", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/audit-adsense-channels.mjs:52)"}, "properties": {"repobilityId": "7fd0b7521703f4e7", "scanner": "scanner-primary", "fingerprint": "1874e25346ec92ed", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e853ca36828df1ca", "level": "error", "message": {"text": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/localize-vf-existing-jobs.mjs:111)"}, "properties": {"repobilityId": "6938d0555c0bf7d6", "scanner": "scanner-primary", "fingerprint": "e853ca36828df1ca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-295fe6621e065391", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/identify-top-marquee-by-gsc.mjs:119)"}, "properties": {"repobilityId": "1fc940f6c071c753", "scanner": "scanner-primary", "fingerprint": "295fe6621e065391", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7a3bbedd98b503e7", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/sync-gsc-orphans.mjs:158)"}, "properties": {"repobilityId": "319d17266be89e09", "scanner": "scanner-primary", "fingerprint": "7a3bbedd98b503e7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a7469d435af8a18e", "level": "error", "message": {"text": "Dangling fetch: GET https://www.googleapis.com/webmasters/v3/sites (scripts/sync-gsc-orphans.mjs:176)"}, "properties": {"repobilityId": "2e2bceb66d6ea7ab", "scanner": "scanner-primary", "fingerprint": "a7469d435af8a18e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b9cf4f46cb2417b3", "level": "error", "message": {"text": "Dangling fetch: POST https://www.googleapis.com/webmasters/v3/sites/${encodeURIComponent(resolvedSiteUrl)}/searchAnalytics/query (scripts/sync-gsc-orphans.mjs:242)"}, "properties": {"repobilityId": "9a6788b7bf3ede1f", "scanner": "scanner-primary", "fingerprint": "b9cf4f46cb2417b3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d2476a8cc7bcc0c", "level": "error", "message": {"text": "Dangling fetch: POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect (scripts/sync-gsc-orphans.mjs:775)"}, "properties": {"repobilityId": "e51234402021c2ff", "scanner": "scanner-primary", "fingerprint": "6d2476a8cc7bcc0c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-73df312201597b03", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/check-gsc-frontaliere-baseline.mjs:156)"}, "properties": {"repobilityId": "12fa4a3ff3629b91", "scanner": "scanner-primary", "fingerprint": "73df312201597b03", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0523e405ae441f9b", "level": "error", "message": {"text": "Dangling fetch: GET https://graph.facebook.com/v21.0/me?access_token=${FB_PAGE_ACCESS_TOKEN} (scripts/post-to-facebook.mjs:86)"}, "properties": {"repobilityId": "c79f6292601db82b", "scanner": "scanner-primary", "fingerprint": "0523e405ae441f9b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cfd0456a1460a56a", "level": "error", "message": {"text": "Dangling fetch: GET https://graph.facebook.com/v21.0/me/accounts?access_token=${FB_PAGE_ACCESS_TOKEN} (scripts/post-to-facebook.mjs:94)"}, "properties": {"repobilityId": "8858fb78ceff8a69", "scanner": "scanner-primary", "fingerprint": "cfd0456a1460a56a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fa91f26bc4014635", "level": "error", "message": {"text": "Dangling fetch: POST https://graph.facebook.com/v21.0/?id=${encodeURIComponent(articleUrl)}&scrape=true&access_token=${FB_PAGE_ACCESS_TOKEN} (scripts/post-to-facebook.mjs:113)"}, "properties": {"repobilityId": "628440873ff60bcb", "scanner": "scanner-primary", "fingerprint": "fa91f26bc4014635", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a0ca294ba7f0002b", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/setup-google-oauth.mjs:71)"}, "properties": {"repobilityId": "c0dea392397cffae", "scanner": "scanner-primary", "fingerprint": "a0ca294ba7f0002b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-593d8cf56b375796", "level": "error", "message": {"text": "Dangling fetch: POST https://eu.posthog.com/api/projects/${PROJECT_ID}/query/ (scripts/diagnose-calc-funnel.mjs:13)"}, "properties": {"repobilityId": "df8c93e03f67f448", "scanner": "scanner-primary", "fingerprint": "593d8cf56b375796", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a93a46d38b24eff2", "level": "error", "message": {"text": "Dangling fetch: GET https://${HOST}/${file} (scripts/submit-indexnow.js:212)"}, "properties": {"repobilityId": "c90123cf4a33046f", "scanner": "scanner-primary", "fingerprint": "a93a46d38b24eff2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fdbc968acf8efb5c", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/analytics-report.mjs:360)"}, "properties": {"repobilityId": "6c5458a7a8216a5e", "scanner": "scanner-primary", "fingerprint": "fdbc968acf8efb5c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f7a80b9349345c0f", "level": "error", "message": {"text": "Dangling fetch: POST https://api.together.xyz/v1/images/generations (scripts/backfill-small-images.mjs:365)"}, "properties": {"repobilityId": "d9c3a8adbf6b37aa", "scanner": "scanner-primary", "fingerprint": "f7a80b9349345c0f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9a69efc8ea8abd7c", "level": "error", "message": {"text": "Dangling fetch: POST https://fal.run/fal-ai/flux/schnell (scripts/backfill-small-images.mjs:391)"}, "properties": {"repobilityId": "7af53ce54f0e710e", "scanner": "scanner-primary", "fingerprint": "9a69efc8ea8abd7c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d75ce329d46a16e7", "level": "error", "message": {"text": "Dangling fetch: POST https://router.huggingface.co/hf-inference/v2/models/${hfModel} (scripts/backfill-small-images.mjs:418)"}, "properties": {"repobilityId": "c1939b9fe11a0e18", "scanner": "scanner-primary", "fingerprint": "d75ce329d46a16e7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-97c258603807e4a4", "level": "error", "message": {"text": "Dangling fetch: GET https://pixabay.com/api/?key=${pixabayKey}&q=${encodeURIComponent(pxQuery)}${pxCatParam}&image_type=photo&orientation=horizontal&per_page=20&min_width=1280&safesearch=true (scripts/backfill-small-images.mjs:494)"}, "properties": {"repobilityId": "9f9d71f22a2ce4f5", "scanner": "scanner-primary", "fingerprint": "97c258603807e4a4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c76475a20283662f", "level": "error", "message": {"text": "Dangling fetch: GET https://api.pexels.com/v1/search?query=${encodeURIComponent(pxQuery)}&orientation=landscape&size=large&per_page=20 (scripts/backfill-small-images.mjs:528)"}, "properties": {"repobilityId": "7807ebbc8f4148ca", "scanner": "scanner-primary", "fingerprint": "c76475a20283662f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6f79b93ff2334e2d", "level": "error", "message": {"text": "Dangling fetch: GET https://picsum.photos/seed/${absSeed}/1280/720 (scripts/backfill-small-images.mjs:558)"}, "properties": {"repobilityId": "6742e6af95960b9a", "scanner": "scanner-primary", "fingerprint": "6f79b93ff2334e2d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e9f5b965ff81e0a1", "level": "error", "message": {"text": "Dangling fetch: POST https://www.linkedin.com/oauth/v2/accessToken (scripts/post-to-linkedin.mjs:47)"}, "properties": {"repobilityId": "4c85b09904756b34", "scanner": "scanner-primary", "fingerprint": "e9f5b965ff81e0a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-417ff0311cd35af3", "level": "error", "message": {"text": "Dangling fetch: POST https://api.linkedin.com/rest/posts (scripts/post-to-linkedin.mjs:156)"}, "properties": {"repobilityId": "8750f351242a436d", "scanner": "scanner-primary", "fingerprint": "417ff0311cd35af3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eec64f0a0afa68af", "level": "error", "message": {"text": "Dangling fetch: POST https://api.together.xyz/v1/images/generations (scripts/create-article.mjs:5895)"}, "properties": {"repobilityId": "a74a5122192f1b67", "scanner": "scanner-primary", "fingerprint": "eec64f0a0afa68af", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bcb48cb11a8cb1a1", "level": "error", "message": {"text": "Dangling fetch: POST https://fal.run/fal-ai/flux/schnell (scripts/create-article.mjs:5933)"}, "properties": {"repobilityId": "43d5cfa277097a76", "scanner": "scanner-primary", "fingerprint": "bcb48cb11a8cb1a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b4a2be7230f6f5f2", "level": "error", "message": {"text": "Dangling fetch: POST https://router.huggingface.co/hf-inference/v2/models/${hfModel} (scripts/create-article.mjs:5979)"}, "properties": {"repobilityId": "4d189fba4f03115a", "scanner": "scanner-primary", "fingerprint": "b4a2be7230f6f5f2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e8f8b23123909814", "level": "error", "message": {"text": "Dangling fetch: GET https://pixabay.com/api/?key=${pixabayKey}&q=${q}${categoryParam}&image_type=photo&orientation=horizontal&per_page=20&min_width=1280&safesearch=true (scripts/create-article.mjs:6095)"}, "properties": {"repobilityId": "e8dc8f318b923348", "scanner": "scanner-primary", "fingerprint": "e8f8b23123909814", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-62411b7cb527ea69", "level": "error", "message": {"text": "Dangling fetch: GET https://api.pexels.com/v1/search?query=${q}&orientation=landscape&size=large&per_page=20 (scripts/create-article.mjs:6140)"}, "properties": {"repobilityId": "edbb2f7938a2ba67", "scanner": "scanner-primary", "fingerprint": "62411b7cb527ea69", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b9bb5c777662e8c2", "level": "error", "message": {"text": "Dangling fetch: GET https://picsum.photos/seed/${absSeed}/1280/720 (scripts/create-article.mjs:6185)"}, "properties": {"repobilityId": "c0bbdf1585cb0ee4", "scanner": "scanner-primary", "fingerprint": "b9bb5c777662e8c2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e6a07615ff5a12df", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/find-orphan-indexed-jobs.mjs:32)"}, "properties": {"repobilityId": "a5c1a27928b9d89c", "scanner": "scanner-primary", "fingerprint": "e6a07615ff5a12df", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-acb44abe97d3c056", "level": "error", "message": {"text": "Dangling fetch: POST https://www.googleapis.com/webmasters/v3/sites/${encodeURIComponent(SITE_URL)}/searchAnalytics/query (scripts/find-orphan-indexed-jobs.mjs:112)"}, "properties": {"repobilityId": "2bea8005b763c40a", "scanner": "scanner-primary", "fingerprint": "acb44abe97d3c056", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d8940c775bc8e25", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/refresh-gsc-position-rolling.mjs:32)"}, "properties": {"repobilityId": "1c8d74e40c482282", "scanner": "scanner-primary", "fingerprint": "6d8940c775bc8e25", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fe3faab2d5c7d0a9", "level": "error", "message": {"text": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/re-localize-jobs.mjs:90)"}, "properties": {"repobilityId": "a7c4df751bd98dab", "scanner": "scanner-primary", "fingerprint": "fe3faab2d5c7d0a9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d9fd894f5bcb31d5", "level": "error", "message": {"text": "Dangling fetch: GET https://adsense.googleapis.com/v2${pathFrag} (scripts/adsense-archive-orphans.mjs:104)"}, "properties": {"repobilityId": "ec4321b1c3e0de73", "scanner": "scanner-primary", "fingerprint": "d9fd894f5bcb31d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ecc0f66ebece93b7", "level": "error", "message": {"text": "Dangling fetch: GET https://adsense.googleapis.com/v2${pathFrag} (scripts/adsense-slot-audit.mjs:126)"}, "properties": {"repobilityId": "b0422fee7b69ea64", "scanner": "scanner-primary", "fingerprint": "ecc0f66ebece93b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3cbdc609c37122a2", "level": "error", "message": {"text": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/update-supsi-jobs.mjs:784)"}, "properties": {"repobilityId": "59c9df67d20f2e39", "scanner": "scanner-primary", "fingerprint": "3cbdc609c37122a2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3169d2cf0f46ca59", "level": "error", "message": {"text": "Dangling fetch: POST https://api.perplexity.ai/chat/completions (scripts/check-ai-visibility.mjs:96)"}, "properties": {"repobilityId": "ca1c9704e4e65228", "scanner": "scanner-primary", "fingerprint": "3169d2cf0f46ca59", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f2347b197132c582", "level": "error", "message": {"text": "Dangling fetch: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=${key} (scripts/check-ai-visibility.mjs:141)"}, "properties": {"repobilityId": "661ab7203a84b8d0", "scanner": "scanner-primary", "fingerprint": "f2347b197132c582", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b5924448e9c653eb", "level": "error", "message": {"text": "Dangling fetch: POST https://models.inference.ai.azure.com/chat/completions (scripts/check-ai-visibility.mjs:180)"}, "properties": {"repobilityId": "c15776495dbf1642", "scanner": "scanner-primary", "fingerprint": "b5924448e9c653eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0108a3c303bf9849", "level": "error", "message": {"text": "Dangling fetch: GET https://api.resend.com/domains (scripts/check-resend-domain.mjs:21)"}, "properties": {"repobilityId": "6019de5dc1463071", "scanner": "scanner-primary", "fingerprint": "0108a3c303bf9849", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-47101074f5af8aec", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/discover-404s-via-inspection.mjs:67)"}, "properties": {"repobilityId": "2c292f1e1711dd53", "scanner": "scanner-primary", "fingerprint": "47101074f5af8aec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-84ec673eeef79c76", "level": "error", "message": {"text": "Dangling fetch: GET https://www.googleapis.com/webmasters/v3/sites (scripts/discover-404s-via-inspection.mjs:85)"}, "properties": {"repobilityId": "e6450cb0238ce57e", "scanner": "scanner-primary", "fingerprint": "84ec673eeef79c76", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a06a7b87c0c3e4a4", "level": "error", "message": {"text": "Dangling fetch: POST https://searchconsole.googleapis.com/v1/urlInspection/index:inspect (scripts/discover-404s-via-inspection.mjs:228)"}, "properties": {"repobilityId": "7872ad367cab9478", "scanner": "scanner-primary", "fingerprint": "a06a7b87c0c3e4a4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0a9a417dd0c30c30", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/refresh-noslash-keep.mjs:103)"}, "properties": {"repobilityId": "98e9ed233edb7189", "scanner": "scanner-primary", "fingerprint": "0a9a417dd0c30c30", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8b7b965cce9d5ef5", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/revenue-monitor.mjs:98)"}, "properties": {"repobilityId": "9417dd5c7e7f7386", "scanner": "scanner-primary", "fingerprint": "8b7b965cce9d5ef5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0255aa150f23749a", "level": "error", "message": {"text": "Dangling fetch: GET https://adsense.googleapis.com/v2/accounts (scripts/revenue-monitor.mjs:144)"}, "properties": {"repobilityId": "94889ca44467c193", "scanner": "scanner-primary", "fingerprint": "0255aa150f23749a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3d7b5d593e444c74", "level": "error", "message": {"text": "Dangling fetch: POST https://eu.posthog.com/api/projects/${PROJECT_ID}/query/ (scripts/diagnose-app-errors.mjs:12)"}, "properties": {"repobilityId": "75b3bc6c4583aaec", "scanner": "scanner-primary", "fingerprint": "3d7b5d593e444c74", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c68c1a289d6ffab3", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/refresh-indexed-cluster-urls.mjs:110)"}, "properties": {"repobilityId": "a208485fab08a2a4", "scanner": "scanner-primary", "fingerprint": "c68c1a289d6ffab3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-054fca4d0f218744", "level": "error", "message": {"text": "Dangling fetch: GET https://dns.google/resolve?name=${encodeURIComponent(host)}&type=A (scripts/update-delvitech-jobs.mjs:158)"}, "properties": {"repobilityId": "866a85fb897aa8d2", "scanner": "scanner-primary", "fingerprint": "054fca4d0f218744", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e50b7420dc1ee788", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/canary-rpm.mjs:59)"}, "properties": {"repobilityId": "3fc5526e06f395da", "scanner": "scanner-primary", "fingerprint": "e50b7420dc1ee788", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fef4c20520d423a8", "level": "error", "message": {"text": "Dangling fetch: GET https://adsense.googleapis.com/v2/accounts (scripts/canary-rpm.mjs:85)"}, "properties": {"repobilityId": "83d76e491d25a1da", "scanner": "scanner-primary", "fingerprint": "fef4c20520d423a8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e57738caa2313bb2", "level": "error", "message": {"text": "Dangling fetch: GET https://api.eu.mailgun.net/v3/${domain}/stats/total?event=accepted&duration=1d (scripts/lib/email-cascade.mjs:79)"}, "properties": {"repobilityId": "7b9478d7e27fd958", "scanner": "scanner-primary", "fingerprint": "e57738caa2313bb2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-72cba9350f1e5ab7", "level": "error", "message": {"text": "Dangling fetch: GET https://api.mailjet.com/v3/REST/statcounters?CounterSource=APIKey&CounterTiming=Message&CounterResolution=Day&FromTS=${today}T00:00:00Z&ToTS=${today}T23:59:59Z (scripts/lib/email-cascade.mjs:96)"}, "properties": {"repobilityId": "936738abc7e1ca5a", "scanner": "scanner-primary", "fingerprint": "72cba9350f1e5ab7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-34eaf9c478fec034", "level": "error", "message": {"text": "Dangling fetch: GET https://api.unosend.co/v1/emails?limit=100 (scripts/lib/email-cascade.mjs:115)"}, "properties": {"repobilityId": "2305efa3e3dbb9ab", "scanner": "scanner-primary", "fingerprint": "34eaf9c478fec034", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8af02a2c942b91a0", "level": "error", "message": {"text": "Dangling fetch: GET https://mailtrap.io/api/accounts (scripts/lib/email-cascade.mjs:129)"}, "properties": {"repobilityId": "41b8ec21898377ee", "scanner": "scanner-primary", "fingerprint": "8af02a2c942b91a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c17871d2b5b49320", "level": "error", "message": {"text": "Dangling fetch: GET https://mailtrap.io/api/accounts/${accountId}/stats?start_date=${today}&end_date=${today} (scripts/lib/email-cascade.mjs:139)"}, "properties": {"repobilityId": "692120693aba1ed1", "scanner": "scanner-primary", "fingerprint": "c17871d2b5b49320", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cd195a1f64f7b9af", "level": "error", "message": {"text": "Dangling fetch: POST https://api.mailjet.com/v3.1/send (scripts/lib/email-cascade.mjs:233)"}, "properties": {"repobilityId": "2c04783b5ab56147", "scanner": "scanner-primary", "fingerprint": "cd195a1f64f7b9af", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6bee2d9bcbdb1c1d", "level": "error", "message": {"text": "Dangling fetch: POST https://api.eu.mailgun.net/v3/${domain}/messages (scripts/lib/email-cascade.mjs:296)"}, "properties": {"repobilityId": "827fcb0c11e1d077", "scanner": "scanner-primary", "fingerprint": "6bee2d9bcbdb1c1d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-46bc566573e483d7", "level": "error", "message": {"text": "Dangling fetch: POST https://api.unosend.co/v1/emails (scripts/lib/email-cascade.mjs:328)"}, "properties": {"repobilityId": "72e813a39f8c435c", "scanner": "scanner-primary", "fingerprint": "46bc566573e483d7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d01b37ff68ef9ea5", "level": "error", "message": {"text": "Dangling fetch: POST https://send.api.mailtrap.io/api/send (scripts/lib/email-cascade.mjs:363)"}, "properties": {"repobilityId": "9a4169198a26477e", "scanner": "scanner-primary", "fingerprint": "d01b37ff68ef9ea5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7627cb68ff347983", "level": "error", "message": {"text": "Dangling fetch: POST https://smtp.maileroo.com/api/v2/emails (scripts/lib/email-cascade.mjs:408)"}, "properties": {"repobilityId": "b4bade6b8d8fa1e6", "scanner": "scanner-primary", "fingerprint": "7627cb68ff347983", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e74ee07d5e7e2fdb", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (scripts/lib/email-cascade.mjs:434)"}, "properties": {"repobilityId": "69d8556333fb3745", "scanner": "scanner-primary", "fingerprint": "e74ee07d5e7e2fdb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-90f0b1d705743696", "level": "error", "message": {"text": "Dangling fetch: POST https://api-free.deepl.com/v2/translate (scripts/lib/free-translate.mjs:340)"}, "properties": {"repobilityId": "ded7fcf5d77f6f85", "scanner": "scanner-primary", "fingerprint": "90f0b1d705743696", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fbc56fecd06bde52", "level": "error", "message": {"text": "Dangling fetch: POST https://oauth2.googleapis.com/token (scripts/lib/free-translate.mjs:749)"}, "properties": {"repobilityId": "d95d57f4e627fbeb", "scanner": "scanner-primary", "fingerprint": "fbc56fecd06bde52", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-06689d8501871336", "level": "error", "message": {"text": "Dangling fetch: POST https://translation.googleapis.com/language/translate/v2 (scripts/lib/free-translate.mjs:777)"}, "properties": {"repobilityId": "0784352248a8433c", "scanner": "scanner-primary", "fingerprint": "06689d8501871336", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c5f0d5b7fc6c575e", "level": "error", "message": {"text": "Dangling fetch: POST https://router.huggingface.co/hf-inference/models/${model} (scripts/lib/free-translate.mjs:815)"}, "properties": {"repobilityId": "ed849ccf61c93543", "scanner": "scanner-primary", "fingerprint": "c5f0d5b7fc6c575e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fc9fb08169956abf", "level": "error", "message": {"text": "Dangling fetch: GET /commit-hash.txt (App.tsx:222)"}, "properties": {"repobilityId": "a2d84417d106c263", "scanner": "scanner-primary", "fingerprint": "fc9fb08169956abf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-71de76ea7bf83a1b", "level": "error", "message": {"text": "Dangling fetch: GET /data/weather-snapshot.json (build-plugins/weatherCityPagesPlugin.ts:657)"}, "properties": {"repobilityId": "fc3db4cc2cee9223", "scanner": "scanner-primary", "fingerprint": "71de76ea7bf83a1b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-12fac05b69979800", "level": "error", "message": {"text": "Dangling fetch: GET /data/weather-snapshot.json (build-plugins/weatherAlertPagesPlugin.ts:497)"}, "properties": {"repobilityId": "9b2ab2705719c09d", "scanner": "scanner-primary", "fingerprint": "12fac05b69979800", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-93bdbc746baf9738", "level": "error", "message": {"text": "Dangling fetch: GET https://dns.google/resolve?name=${encodeURIComponent(domain)}&type=MX (components/shared/EmailInput.tsx:162)"}, "properties": {"repobilityId": "46aec89ace907953", "scanner": "scanner-primary", "fingerprint": "93bdbc746baf9738", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-409e52673bb2e6bc", "level": "error", "message": {"text": "Dangling fetch: GET https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues?state=all&per_page=10 (components/community/FeedbackSection.tsx:48)"}, "properties": {"repobilityId": "ff5db7100d0df345", "scanner": "scanner-primary", "fingerprint": "409e52673bb2e6bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e8b571581dfecd1a", "level": "error", "message": {"text": "Dangling fetch: POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/geminiGenerate (components/community/FeedbackSection.tsx:86)"}, "properties": {"repobilityId": "b055e8a805c4a64e", "scanner": "scanner-primary", "fingerprint": "e8b571581dfecd1a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-067c4e119024b3ce", "level": "error", "message": {"text": "Dangling fetch: GET /${f} (components/pages/AdminPanel.tsx:1209)"}, "properties": {"repobilityId": "4f1c355978295895", "scanner": "scanner-primary", "fingerprint": "067c4e119024b3ce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-12220959129dc5cd", "level": "error", "message": {"text": "Dangling fetch: POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/getAdminGithubToken (components/pages/AdminPanel.tsx:2071)"}, "properties": {"repobilityId": "e80f6f74494754a0", "scanner": "scanner-primary", "fingerprint": "12220959129dc5cd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d017b858bb280f6e", "level": "error", "message": {"text": "Dangling fetch: GET https://api.github.com/repos/${connection.owner}/${connection.repo}${endpoint} (components/pages/AdminPanel.tsx:2095)"}, "properties": {"repobilityId": "c3b5854a3f1e2dac", "scanner": "scanner-primary", "fingerprint": "d017b858bb280f6e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8b798ff06fc11ab9", "level": "error", "message": {"text": "Dangling fetch: GET https://api.github.com/repos/${connection.owner}/${connection.repo}/actions/jobs/${failedJobId}/logs (components/pages/AdminPanel.tsx:2194)"}, "properties": {"repobilityId": "82990ef44075163b", "scanner": "scanner-primary", "fingerprint": "8b798ff06fc11ab9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-975a99d894428742", "level": "error", "message": {"text": "Dangling fetch: GET https://data-api.ecb.europa.eu/service/data/EXR/D.CHF.EUR.SP00.A?startPeriod=${startStr}&endPeriod=${endStr}&format=csvdata (services/exchangeRateService.ts:367)"}, "properties": {"repobilityId": "886b66313bcfe3c5", "scanner": "scanner-primary", "fingerprint": "975a99d894428742", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-384af1a602dc6a2b", "level": "error", "message": {"text": "Dangling fetch: POST https://europe-west6-frontaliere-ticino.cloudfunctions.net/geminiGenerate (services/newsletterPreview.ts:96)"}, "properties": {"repobilityId": "2a9ececca0689361", "scanner": "scanner-primary", "fingerprint": "384af1a602dc6a2b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-70c1494b2f988834", "level": "note", "message": {"text": "Unused endpoint: POST /api/protected-endpoint"}, "properties": {"repobilityId": "5c5fa418a546c515", "scanner": "scanner-primary", "fingerprint": "70c1494b2f988834", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6fa51c47c731ac4b", "level": "note", "message": {"text": "Unused endpoint: POST /api/traffic-data"}, "properties": {"repobilityId": "17cec1e99db7b572", "scanner": "scanner-primary", "fingerprint": "6fa51c47c731ac4b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8eef9255ce375627", "level": "note", "message": {"text": "Unused endpoint: POST /api/feedback"}, "properties": {"repobilityId": "b51346772b138e9f", "scanner": "scanner-primary", "fingerprint": "8eef9255ce375627", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a00c8f48dbf87933", "level": "note", "message": {"text": "Unused endpoint: USE /data/jobs-crawler-workflows.json"}, "properties": {"repobilityId": "0737daa0f1cc21c5", "scanner": "scanner-primary", "fingerprint": "a00c8f48dbf87933", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}