{"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-4ccf43d3a54a3f77", "name": "Possibly dead Python function: record_training", "shortDescription": {"text": "Possibly dead Python function: record_training"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b64e53006922f7f6", "name": "Possibly dead Python function: step_health_check", "shortDescription": {"text": "Possibly dead Python function: step_health_check"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d72ca93b60fb2fcd", "name": "Possibly dead Python function: step_github_sync", "shortDescription": {"text": "Possibly dead Python function: step_github_sync"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-afcdaf18e16bfde4", "name": "Possibly dead Python function: step_briefing_generation", "shortDescription": {"text": "Possibly dead Python function: step_briefing_generation"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1abc629763b0d31", "name": "Possibly dead Python function: step_vault_commit", "shortDescription": {"text": "Possibly dead Python function: step_vault_commit"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2adae9b3a25b674f", "name": "Possibly dead Python function: step_discord_report", "shortDescription": {"text": "Possibly dead Python function: step_discord_report"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-525c79bf1b95e0e5", "name": "Possibly dead Python function: upload_design_file", "shortDescription": {"text": "Possibly dead Python function: upload_design_file"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8f4ff208deba1d1", "name": "Possibly dead Python function: parse_bandit", "shortDescription": {"text": "Possibly dead Python function: parse_bandit"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee141d7d902da98c", "name": "Possibly dead Python function: parse_semgrep", "shortDescription": {"text": "Possibly dead Python function: parse_semgrep"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0fafe91af0d2afbc", "name": "Possibly dead Python function: parse_gitleaks", "shortDescription": {"text": "Possibly dead Python function: parse_gitleaks"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3915703354fdf118", "name": "Possibly dead Python function: parse_pip_audit", "shortDescription": {"text": "Possibly dead Python function: parse_pip_audit"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-87be4a2296a82e2d", "name": "Possibly dead Python function: parse_npm_audit", "shortDescription": {"text": "Possibly dead Python function: parse_npm_audit"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f97a83cdc2608e90", "name": "Possibly dead Python function: parse_trivy", "shortDescription": {"text": "Possibly dead Python function: parse_trivy"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27d461ef3cff85be", "name": "Possibly dead Python function: parse_licenses", "shortDescription": {"text": "Possibly dead Python function: parse_licenses"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-184fc73fccec3976", "name": "Possibly dead Python function: parse_coverage", "shortDescription": {"text": "Possibly dead Python function: parse_coverage"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df861c3b1218b63d", "name": "Possibly dead Python function: template_agent_registry_story", "shortDescription": {"text": "Possibly dead Python function: template_agent_registry_story"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd10b7e6262d56ab", "name": "Possibly dead Python function: template_event_bus_task", "shortDescription": {"text": "Possibly dead Python function: template_event_bus_task"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b91a30cdeb10954", "name": "Possibly dead Python function: template_architect_epic", "shortDescription": {"text": "Possibly dead Python function: template_architect_epic"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8cf628c1fd513264", "name": "Possibly dead Python function: template_bug_example", "shortDescription": {"text": "Possibly dead Python function: template_bug_example"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4d926f76c5419f3", "name": "Possibly dead Python function: start_mape_k", "shortDescription": {"text": "Possibly dead Python function: start_mape_k"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1114b261cbec8a17", "name": "Possibly dead Python function: add_intelligence_endpoints", "shortDescription": {"text": "Possibly dead Python function: add_intelligence_endpoints"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d2082524e5c0cf2b", "name": "Possibly dead Python function: heal_task", "shortDescription": {"text": "Possibly dead Python function: heal_task"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76ca4c3e5b564b7e", "name": "Possibly dead Python function: load_all", "shortDescription": {"text": "Possibly dead Python function: load_all"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6a8f56389b879c0", "name": "Possibly dead Python function: update_tech_stack", "shortDescription": {"text": "Possibly dead Python function: update_tech_stack"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6278b30834bc9302", "name": "Possibly dead Python function: record_decision", "shortDescription": {"text": "Possibly dead Python function: record_decision"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c1e6c45fa64cd3e", "name": "Possibly dead Python function: setup_mcp_routes", "shortDescription": {"text": "Possibly dead Python function: setup_mcp_routes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ac7d3b6136a0527", "name": "Stray `console.log` in TS/JS \u2014 hyper-mission-system/server/server.js:447", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hyper-mission-system/server/server.js:447"}, "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-d149bf60e10964e7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 archive/ide-dashboard-0.1/src/app/components/CodeEditor.tsx:75", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 archive/ide-dashboard-0.1/src/app/components/CodeEditor.tsx:75"}, "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-2504c7afa000e5a1", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 archive/ide-dashboard-0.1/src/app/components/ui/chart.tsx:83", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 archive/ide-dashboard-0.1/src/app/components/ui/chart.tsx:83"}, "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-ffbf0e9bfdef7a01", "name": "Stray `console.log` in TS/JS \u2014 archive/legacy/agents-dashboard-legacy/components/approval_widget.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 archive/legacy/agents-dashboard-legacy/components/approval_widget.js:19"}, "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-2b646a2c3224a659", "name": "Stray `console.log` in TS/JS \u2014 tests/e2e/accessibility.spec.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e/accessibility.spec.ts: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-8ba1556d6cd138c9", "name": "Stray `console.log` in TS/JS \u2014 dashboard/tests/e2e/dashboard.spec.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 dashboard/tests/e2e/dashboard.spec.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-be0b421c620c7322", "name": "Stray `console.log` in TS/JS \u2014 cli/index.js:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 cli/index.js:81"}, "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-9d25992be8813dd3", "name": "Stray `console.log` in TS/JS \u2014 agents/architect/src/main.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/architect/src/main.ts:8"}, "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-b47519374fc00674", "name": "Stray `console.log` in TS/JS \u2014 agents/dashboard/components/ApprovalModal.tsx:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/dashboard/components/ApprovalModal.tsx: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-37ee4945d98caeaf", "name": "Stray `console.log` in TS/JS \u2014 agents/dashboard/components/CognitiveUplink.tsx:138", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/dashboard/components/CognitiveUplink.tsx:138"}, "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-30b90010a57209f0", "name": "`truncate` class without `title=` for hover reveal \u2014 agents/dashboard/components/panels/ActiveAgentsPanel.tsx:69", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 agents/dashboard/components/panels/ActiveAgentsPanel.tsx:69"}, "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-3918d0ff1e70140c", "name": "`truncate` class without `title=` for hover reveal \u2014 agents/dashboard/components/panels/AgentLibrary.tsx:85", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 agents/dashboard/components/panels/AgentLibrary.tsx:85"}, "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-2b0018a2f7dd0533", "name": "`truncate` class without `title=` for hover reveal \u2014 agents/dashboard/components/panels/HealerMissionLog.tsx:121", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 agents/dashboard/components/panels/HealerMissionLog.tsx:121"}, "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-eef5744fa0a1c919", "name": "React Flow <Controls> without dark theming \u2014 agents/dashboard/components/canvas/HyperCanvas.tsx:96", "shortDescription": {"text": "React Flow <Controls> without dark theming \u2014 agents/dashboard/components/canvas/HyperCanvas.tsx:96"}, "fullDescription": {"text": "`<Controls>` ships with white buttons. Override `.react-flow__controls` and `.react-flow__controls-button` in your stylesheet or pass a styled wrapper.\n\nWhy: P1 in CHECKLIST.md \u2014 vendor defaults bleed light through.\nRule id: fq.controls.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-267f8121a2ea3a2f", "name": "Custom React Flow node registered without explicit width/height \u2014 agents/dashboard/components/canvas/HyperCanvas.tsx:54", "shortDescription": {"text": "Custom React Flow node registered without explicit width/height \u2014 agents/dashboard/components/canvas/HyperCanvas.tsx:54"}, "fullDescription": {"text": "When you register a custom node type via `nodeTypes`, the RFNode object you build must include `width` and `height` props. Without them, MiniMap renders ZERO mini-nodes for that type and `fitView` underestimates the bounds (cuts off lane labels, etc.). Add `width: \u2026, height: \u2026` to the node object. See P-I.\n\nWhy: P-I in CHECKLIST.md \u2014 RF MiniMap + fitView need explicit dims on custom nodes.\nRule id: fq.rfnode.no-dims"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0813a5a1e10f39e1", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/provision-access/index.ts:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/provision-access/index.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-65eb99b5aa57815b", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/sync-tokens-to-v24/index.ts:119", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/sync-tokens-to-v24/index.ts:119"}, "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-300078f1aa5d8251", "name": "Stray `console.log` in TS/JS \u2014 reports/e2e-html/trace/sw.bundle.js:1", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/e2e-html/trace/sw.bundle.js:1"}, "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-509bfaae78dc37e3", "name": "Stray `console.log` in TS/JS \u2014 reports/e2e-html/trace/uiMode.CQJ9SCIQ.js:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/e2e-html/trace/uiMode.CQJ9SCIQ.js:4"}, "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-a1e9d0729eb565a1", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:50", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js: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-76423d167130d9b0", "name": "Stray `console.log` in TS/JS \u2014 memstream/src/memstream.ts:193", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 memstream/src/memstream.ts:193"}, "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-9440a10687e8a44e", "name": "Stray `console.log` in TS/JS \u2014 memstream/src/logger.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 memstream/src/logger.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-29587e613255c4a2", "name": "Stray `console.log` in TS/JS \u2014 hyperfocus-Zone-Support-Hub-main/hyperfocuszone.com-Support-Hub--main/sw.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hyperfocus-Zone-Support-Hub-main/hyperfocuszone.com-Support-Hub--main/sw.js:19"}, "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-0261fae5771a19fe", "name": "Stray `console.log` in TS/JS \u2014 hyperfocus-Zone-Support-Hub-main/hyperfocuszone.com-Support-Hub--main/js/main.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hyperfocus-Zone-Support-Hub-main/hyperfocuszone.com-Support-Hub--main/js/main.js:16"}, "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-97b4bf3474f1e000", "name": "`truncate` class without `title=` for hover reveal \u2014 dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:111", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:111"}, "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-8f27738facf0d757", "name": "Stray `console.log` in TS/JS \u2014 quantum-compiler/server.js:187", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 quantum-compiler/server.js:187"}, "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-6b4fd9d6132c4b94", "name": "Privileged port 12 in use", "shortDescription": {"text": "Privileged port 12 in use"}, "fullDescription": {"text": "Port 12 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-4f133620a7de3322", "name": "Privileged port 6 in use", "shortDescription": {"text": "Privileged port 6 in use"}, "fullDescription": {"text": "Port 6 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-971e81a22f9bfc6f", "name": "Privileged port 2 in use", "shortDescription": {"text": "Privileged port 2 in use"}, "fullDescription": {"text": "Port 2 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-f9b77d6246514ff6", "name": "Privileged port 3 in use", "shortDescription": {"text": "Privileged port 3 in use"}, "fullDescription": {"text": "Port 3 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-b4da3b5104c348e8", "name": "Dockerfile runs as root: hyper-mission-system/client/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: hyper-mission-system/client/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c6de82030fa4d09a", "name": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e668cecc9390eb3", "name": "Docker base image is tag-pinned but not digest-pinned: nginx:1.27-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: nginx:1.27-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5797e46ea48f72c7", "name": "Dockerfile runs as root: hyper-mission-system/server/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: hyper-mission-system/server/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7fbd88439052e2ca", "name": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-635788a0f548fa81", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fa3ef42e1ffc4185", "name": "Dockerfile runs as root: docs/notes/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: docs/notes/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5ad49b1e5ab3b281", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8477bbb060c343c4", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d928a0e70c6d7e2b", "name": "Dockerfile runs as root: templates/mcp-plugin-python/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: templates/mcp-plugin-python/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-194a79ec63fe9e7c", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.13-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.13-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbb45fca4b7c1578", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11.8-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11.8-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c43688f82d0de90c", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c092d684d144415a", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b5d30187a92154d2", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e263dc8b551072e7", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-900209b04fbfc087", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b322011379b26d2", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c2817080a07587e1", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2fd9702c432eb696", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1041549877939a6", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4a9489bfa15dba6", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8bbc8570e945388", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26570667979f9d15", "name": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0f94ae7780411a53", "name": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a437b71b0f255e38", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6fe8c98437dd673", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-036c67193082f620", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30c750ce85dafbe7", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be593abfd542876d", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c2e1aef1f8811555", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01790fafef67b811", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02fe841ed6145e37", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2160b18499796efc", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6147e00951f16d78", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2dd5c9f17badd39b", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bcace2f7aa48dea0", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01d2ce03e0653eb0", "name": "Docker base image uses a mutable or implicit tag: agent-base:latest", "shortDescription": {"text": "Docker base image uses a mutable or implicit tag: agent-base:latest"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8199c7460f583018", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef40f9b6d5b2d4df", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed78cb83228504f6", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eeeacf017e7e92e4", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-75e7103c51770ad1", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fcfe2fa93ea1b111", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6c20467840060bb", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f7fba42df1356ff", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8933f9b9ecdbbf0c", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3dd5b96d004da45e", "name": "Dockerfile runs as root: services/agent-spawner/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: services/agent-spawner/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7076920e81c62230", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9898d910d73fdf4c", "name": "Dockerfile runs as root: services/model-gateway/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: services/model-gateway/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e47a7c407fc8608e", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-bullseye", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-bullseye"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-44b39f5d73089b3d", "name": "Dockerfile runs as root: services/hyperhealth/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: services/hyperhealth/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0b52e15f69aacb5f", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9b9f793537d0c7d8", "name": "Dockerfile runs as root: services/hypercode-mcp-server/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: services/hypercode-mcp-server/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-df10733d01be5381", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1de3efae27643c6", "name": "Dockerfile runs as root: services/mcp-rest-adapter/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: services/mcp-rest-adapter/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bc01a6f510dd003a", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a153050a4c6832a8", "name": "Dockerfile runs as root: hyperstudio-platform/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: hyperstudio-platform/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ad231564304c8958", "name": "Docker base image is tag-pinned but not digest-pinned: nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0501406517f18d3", "name": "Dockerfile runs as root: tools/roundtrip-worker/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: tools/roundtrip-worker/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5e3d9f45f9190828", "name": "Docker base image is tag-pinned but not digest-pinned: golang:1.21-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.21-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-549e57974cbbe039", "name": "Docker base image is tag-pinned but not digest-pinned: alpine:3.19", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: alpine:3.19"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-714c31ca9f474ae6", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c2940084a75f25e3", "name": "Docker base image is tag-pinned but not digest-pinned: node:20.20.2-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20.20.2-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-512adba7ef010949", "name": "Dockerfile runs as root: discord-bot/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: discord-bot/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fbfa39a6cdff624c", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9159cfd0bdaf5bd2", "name": "Dockerfile runs as root: quantum-compiler/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: quantum-compiler/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1385f23fd5f871c5", "name": "Docker base image is tag-pinned but not digest-pinned: golang:1.22-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.22-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8b02d768da6993a0", "name": "Docker base image is tag-pinned but not digest-pinned: alpine:3.20", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: alpine:3.20"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcd895ea3688e80a", "name": "Insecure pattern 'direct_innerhtml_assignment' in broski-command-centre.html:1035", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in broski-command-centre.html:1035"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a3fb538273c6604d", "name": "Insecure pattern 'cors_wildcard' in hyper-mission-system/server/server.js:88", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in hyper-mission-system/server/server.js:88"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cdd53463a5a4f072", "name": "Insecure pattern 'dangerous_innerhtml' in archive/ide-dashboard-0.1/src/app/components/CodeEditor.tsx:75", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in archive/ide-dashboard-0.1/src/app/components/CodeEditor.tsx:75"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0c7576e0bbc94d8b", "name": "Insecure pattern 'dangerous_innerhtml' in archive/ide-dashboard-0.1/src/app/components/ui/chart.tsx:83", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in archive/ide-dashboard-0.1/src/app/components/ui/chart.tsx:83"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6320638c7bac4eb6", "name": "Insecure pattern 'direct_innerhtml_assignment' in archive/legacy/agents-dashboard-legacy/index.html:299", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in archive/legacy/agents-dashboard-legacy/index.html:299"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25a31e5663e2fa8c", "name": "Insecure pattern 'direct_innerhtml_assignment' in archive/legacy/agents-dashboard-legacy/components/approval_widget.js:8", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in archive/legacy/agents-dashboard-legacy/components/approval_widget.js:86"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fb2247ba8ea3c6f2", "name": "Insecure pattern 'direct_innerhtml_assignment' in broski-business-agents/BROski Business Agents.html:872", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in broski-business-agents/BROski Business Agents.html:872"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a3c29264d496c3b4", "name": "Insecure pattern 'subprocess_shell_true' in scripts/comprehensive_health_check.py:8", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/comprehensive_health_check.py:8"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ffb85459828db027", "name": "Possible secret in scripts/link_discord_user.py", "shortDescription": {"text": "Possible secret in scripts/link_discord_user.py"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-9b5d32d733c2b5ce", "name": "Insecure pattern 'subprocess_shell_true' in scripts/health_check_controller.py:19", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/health_check_controller.py:19"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3d420b8cea977961", "name": "Insecure pattern 'tls_verify_false' in scripts/smoke_test.py:13", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in scripts/smoke_test.py:13"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9957177f81a8db41", "name": "Insecure pattern 'tls_verify_false' in scripts/smoke_test_internal.py:12", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in scripts/smoke_test_internal.py:12"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a6209c2413b0a9d3", "name": "Insecure pattern 'node_child_process' in scripts/e2e/start-dashboard.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/e2e/start-dashboard.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-33514ace1522cf86", "name": "Insecure pattern 'subprocess_shell_true' in k8s/patch_deployments.py:6", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in k8s/patch_deployments.py:6"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-afb843f55b541f65", "name": "Possible secret in k8s/README.md", "shortDescription": {"text": "Possible secret in k8s/README.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-cbe3c384ea1f42bd", "name": "Insecure pattern 'local_storage_auth_token' in agents/dashboard/__tests__/api.broski.test.ts:11", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in agents/dashboard/__tests__/api.broski.test.ts:11"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f267e710b23c0642", "name": "Insecure pattern 'node_child_process' in agents/dashboard/scripts/start-standalone.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in agents/dashboard/scripts/start-standalone.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ddecabe11f554f71", "name": "Insecure pattern 'node_child_process' in agents/dashboard/scripts/verify-standalone.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in agents/dashboard/scripts/verify-standalone.mjs:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bb38452628851610", "name": "Possible secret in reports/security/bandit-report-fixed.json", "shortDescription": {"text": "Possible secret in reports/security/bandit-report-fixed.json"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-dd1b81fb2c33b6e6", "name": "Possible secret in reports/security/bandit-report.json", "shortDescription": {"text": "Possible secret in reports/security/bandit-report.json"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-d8f052079188f45f", "name": "Insecure pattern 'tls_verify_false' in reports/security/bandit-report.json:6506", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in reports/security/bandit-report.json:6506"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b243d063aa940544", "name": "Insecure pattern 'weak_hash' in reports/security/bandit-report.json:6158", "shortDescription": {"text": "Insecure pattern 'weak_hash' in reports/security/bandit-report.json:6158"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c73b1676dd1bc783", "name": "Insecure pattern 'weak_hash' in reports/security/trivy-super-hyper-broski-agent.json:7306", "shortDescription": {"text": "Insecure pattern 'weak_hash' in reports/security/trivy-super-hyper-broski-agent.json:7306"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c858a25c8a0dd49f", "name": "Insecure pattern 'dangerous_innerhtml' in reports/e2e-html/index.html:58", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in reports/e2e-html/index.html:58"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0947a1acbf7e474b", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/index.html:57", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/index.html:57"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1be3c166b4dc0231", "name": "Insecure pattern 'cors_wildcard' in reports/e2e-html/trace/sw.bundle.js:1", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in reports/e2e-html/trace/sw.bundle.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b65fef85f5c1d278", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/trace/index.html:35", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/trace/index.html:35"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af1d9acd8ab57ba8", "name": "Insecure pattern 'dangerous_innerhtml' in reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:50", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:50"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-290797fb911c4e16", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:49", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:49"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b5c5ce7b8f3a5fa", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/trace/assets/codeMirrorModule-a5XoALAZ.js:31", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/trace/assets/codeMirrorModule-a5XoALAZ.js:31"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1093d56791f586b7", "name": "Insecure pattern 'direct_innerhtml_assignment' in quantum-compiler/index.html:296", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in quantum-compiler/index.html:296"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a591af0209a61812", "name": "Insecure pattern 'cors_wildcard' in quantum-compiler/main.go:113", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in quantum-compiler/main.go:113"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-df00aca489fa601d", "name": "Insecure pattern 'cors_wildcard' in quantum-compiler/server.js:91", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in quantum-compiler/server.js:91"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c0c3cc63a7d08280", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "trufflesecurity/trufflehog@main can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-557266578676ee0a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9b912c6e92598a0", "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-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4aaaf3f04630c901", "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@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4f17d1c9d085b626", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "docker/setup-buildx-action@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c34edde99fd9ad83", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f2ece2e3fb3fc198", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f1f478936b05273", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7f0f9976570faa6d", "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-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-68a2b8f5c8cd6b53", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3a6c9105dd0748ca", "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-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-773bd5a3fa312847", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "trufflesecurity/trufflehog@main can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-20cd4e802fb21a80", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "hadolint/hadolint-action@v3.1.0 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-67e1f1d8d4f3e02f", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "aquasecurity/trivy-action@master can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bc13c10193e6d5ef", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27924aa79fa4a517", "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-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7f1e4527e6fecffa", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "aquasecurity/trivy-action@master can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-66789fc55edd5e7f", "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@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6670f32b5bd9075", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "docker/setup-buildx-action@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a359886445c3fc98", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "aquasecurity/trivy-action@master can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b4d529e231ecec0c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-801bdb8a16783d1b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a50467f36b413ec", "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-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-786abbb879227cc2", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "aquasecurity/trivy-action@master can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73682b6f436b8f4b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9358bd79a437ed53", "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-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ed01c261475a2f1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-208e65d717920521", "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-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27931ee31963d9f0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f54d0d3a389cb4de", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "docker/setup-buildx-action@v3 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f1fa3dd79d3d1ade", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "aquasecurity/trivy-action@master can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4724e05098b6722d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8335d1a2dca0ac2a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "github/codeql-action/upload-sarif@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9c9dfc64b6d2cf50", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "aquasecurity/trivy-action@master can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b432349b1c657b4e", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "aquasecurity/trivy-action@master can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ef3eac7c3e862153", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "github/codeql-action/upload-sarif@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-934839dd013e8a7b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/github-script@v8 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19f2f3e81ff6660c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9ef10b0cf1db97c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4110092f99f6a14d", "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-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11fbdcd3bc006367", "name": "Very large file: tests/integration/test_planning_e2e.py (1094 lines)", "shortDescription": {"text": "Very large file: tests/integration/test_planning_e2e.py (1094 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-992cbb1eedeba9f0", "name": "Very large file: backend/app/api/v1/endpoints/discord_actions.py (2067 lines)", "shortDescription": {"text": "Very large file: backend/app/api/v1/endpoints/discord_actions.py (2067 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-1792a5397216e65d", "name": "Node manifest has dependencies but no lockfile: dashboard-source/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: dashboard-source/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "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 787 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 80 placeholder/mock markers across 43 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 lockfile. 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-2fb87cd121af8e2c", "name": "Agent authority lacks a verifier contract: mcp-server/mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: mcp-server/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-a871b934252b79dd", "name": "Agent instruction contains unpinned remote install: .claude/skills/railway-master/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: .claude/skills/railway-master/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-12ed810976e9e90b", "name": "Agent instruction contains unpinned remote install: .claude/skills/railway-master/references/patterns.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: .claude/skills/railway-master/references/patterns.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b0c92f266535f93f", "name": "Agent authority lacks a verifier contract: .claude/skills/railway-master/references/cli-cheatsheet.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/railway-master/references/cli-cheatsheet.md"}, "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-8d09353f6b3870c4", "name": "Agent authority lacks a verifier contract: .claude/skills/otlp-tempo-tracing/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/otlp-tempo-tracing/SKILL.md"}, "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-456000f98d8e9371", "name": "Agent authority lacks a verifier contract: .claude/skills/hypercode-mcp-gateway/TOOLS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-mcp-gateway/TOOLS.md"}, "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-1855e97cfb4ba05c", "name": "Agent instruction/config may expose a secret: .claude/skills/hypercode-mcp-gateway/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/skills/hypercode-mcp-gateway/SKILL.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-da6c6f4e2bb8bbdf", "name": "Agent authority lacks a verifier contract: .claude/skills/hypercode-agent-spawner/AGENT_TEAMS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-agent-spawner/AGENT_TEAMS.md"}, "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-292f3b9af112bafb", "name": "Agent instruction/config may expose a secret: .claude/skills/hypercode-hyperfocus-builder/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/skills/hypercode-hyperfocus-builder/SKILL.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-cc64b5c7132c896d", "name": "Agent authority lacks a verifier contract: .claude/skills/hypercode-redis-pubsub/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-redis-pubsub/SKILL.md"}, "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-cee0d972e4dba2e4", "name": "Agent instruction/config may expose a secret: .claude/skills/hypercode-supabase/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/skills/hypercode-supabase/SKILL.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-cb0e92d23a2a843d", "name": "Agent authority lacks a verifier contract: .claude/skills/hypercode-self-improver/EVAL_EXAMPLES.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-self-improver/EVAL_EXAMPLES.md"}, "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-a2ee5b815ae333fc", "name": "Agent authority lacks a verifier contract: .claude/skills/hypercode-hypersync/EVALS.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-hypersync/EVALS.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-b186bac2c1d00aec", "name": "Agent authority lacks a verifier contract: .claude/skills/taste-skill/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/taste-skill/SKILL.md"}, "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-901f5b4ad96ed2f9", "name": "Agent authority lacks a verifier contract: .claude/skills/hypercode-docker-ops/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-docker-ops/SKILL.md"}, "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-5036df86a32050cf", "name": "Agent authority lacks a verifier contract: .claude/skills/hypercode-frontend/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-frontend/SKILL.md"}, "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-4a8dafa40f253a51", "name": "Agent authority lacks a verifier contract: .claude/skills/phase-10-tracker/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/phase-10-tracker/SKILL.md"}, "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-f1b4eaed6d61996a", "name": "Agent authority lacks a verifier contract: .claude/skills/hyper-context-restore/evals/evals.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hyper-context-restore/evals/evals.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-55c058c3f3acd390", "name": "Agent authority lacks a verifier contract: .claude/skills/technical-skills-audit/observability-guide.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/technical-skills-audit/observability-guide.md"}, "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-29177daba9e10cad", "name": "Agent instruction/config may expose a secret: .claude/skills/technical-skills-audit/security-guide.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/skills/technical-skills-audit/security-guide.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-bb03b1d112fa66d0", "name": "Agent authority lacks a verifier contract: .claude/skills/technical-skills-audit/data-architecture.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/technical-skills-audit/data-architecture.md"}, "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-c6ee122a2e5acc02", "name": "Network/subprocess call without timeout or try/except \u2014 hyperlaunch.py:583", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hyperlaunch.py:583"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f9323f7172eb9e90", "name": "Blocking `urllib.request.urlopen(...)` inside `async def check_http_health` \u2014 hyperlaunch.py:328", "shortDescription": {"text": "Blocking `urllib.request.urlopen(...)` inside `async def check_http_health` \u2014 hyperlaunch.py:328"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `urllib.request.urlopen(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-52649af1ba80bd8a", "name": "Blocking `urllib.request.urlopen(...)` inside `async def trigger_agent_x_pipeline_scan` \u2014 hyperlaunch.py:480", "shortDescription": {"text": "Blocking `urllib.request.urlopen(...)` inside `async def trigger_agent_x_pipeline_scan` \u2014 hyperlaunch.py:480"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `urllib.request.urlopen(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af653ca6cf4347b3", "name": "Blocking `urllib.request.urlopen(...)` inside `async def trigger_crew_registration_check` \u2014 hyperlaunch.py:491", "shortDescription": {"text": "Blocking `urllib.request.urlopen(...)` inside `async def trigger_crew_registration_check` \u2014 hyperlaunch.py:491"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `urllib.request.urlopen(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c0743157d571d387", "name": "`fetch()` without try/.catch or AbortSignal \u2014 hyper-mission-system/client/src/main.jsx:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hyper-mission-system/client/src/main.jsx:29"}, "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-1f412fdb4b224aa8", "name": "Commented-code block (5 lines) in tests/test_swarm_load.py:2", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_swarm_load.py: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-70f2f0fd3caa5ff2", "name": "Commented-code block (5 lines) in tests/functional/test_coder_capabilities.py:6", "shortDescription": {"text": "Commented-code block (5 lines) in tests/functional/test_coder_capabilities.py: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-4cb8fa3ccbeca516", "name": "Commented-code block (15 lines) in verification/test_coder_agent_protocol.py:55", "shortDescription": {"text": "Commented-code block (15 lines) in verification/test_coder_agent_protocol.py:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-94e823122654ad5a", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/link_discord_user.py:57", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/link_discord_user.py:57"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-659bfb74956d8b84", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_test.py:23", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_test.py:23"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-df05c4e8ab8b2d31", "name": "Network/subprocess call without timeout or try/except \u2014 cli/main.py:62", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 cli/main.py:62"}, "fullDescription": {"text": "`requests.post(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1aca4fe970ac1663", "name": "Network/subprocess call without timeout or try/except \u2014 k8s/patch_deployments.py:55", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 k8s/patch_deployments.py:55"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c7b553e4ddec8f9c", "name": "Legacy-named symbol `test_chart_api_version_is_v2` in k8s/tests/test_helm_chart.py:73", "shortDescription": {"text": "Legacy-named symbol `test_chart_api_version_is_v2` in k8s/tests/test_helm_chart.py:73"}, "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-9a18e73495605568", "name": "Legacy-named symbol `test_apiVersion_is_v2` in k8s/helm/tests/test_helm_chart.py:119", "shortDescription": {"text": "Legacy-named symbol `test_apiVersion_is_v2` in k8s/helm/tests/test_helm_chart.py:119"}, "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-ee714fc0fdeb1d5d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 agents/01-frontend-specialist/components/UserProfile.tsx:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/01-frontend-specialist/components/UserProfile.tsx: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-92193d32be536216", "name": "Blocking `httpx.get(...)` inside `async def poll_memstream_and_throttle` \u2014 agents/throttle-agent/main.py:381", "shortDescription": {"text": "Blocking `httpx.get(...)` inside `async def poll_memstream_and_throttle` \u2014 agents/throttle-agent/main.py:381"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `httpx.get(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7872d6da54c2b1c4", "name": "Blocking `httpx.post(...)` inside `async def poll_memstream_and_throttle` \u2014 agents/throttle-agent/main.py:394", "shortDescription": {"text": "Blocking `httpx.post(...)` inside `async def poll_memstream_and_throttle` \u2014 agents/throttle-agent/main.py:394"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `httpx.post(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aa02017f249e3f2b", "name": "Network/subprocess call without timeout or try/except \u2014 agents/shared/tools/deployer.py:60", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 agents/shared/tools/deployer.py:60"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-29486251baaf226e", "name": "Commented-code block (6 lines) in agents/dashboard/__tests__/Clock.test.tsx:31", "shortDescription": {"text": "Commented-code block (6 lines) in agents/dashboard/__tests__/Clock.test.tsx: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-2429d20cf4f586db", "name": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/scripts/verify-standalone.mjs:64", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/scripts/verify-standalone.mjs:64"}, "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-c316e9c09c5fba25", "name": "Commented-code block (6 lines) in agents/dashboard/components/panels/AgentDetailPopout.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in agents/dashboard/components/panels/AgentDetailPopout.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-4e1e058fefbabb8b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/components/views/TasksView.tsx:215", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/components/views/TasksView.tsx:215"}, "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-922a6511ff79dbcd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/lib/api.ts:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/lib/api.ts: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-ea57056d4d0bc1da", "name": "Commented-code block (7 lines) in agents/dashboard/hooks/useAgentStatus.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in agents/dashboard/hooks/useAgentStatus.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-084e67610c25b4ce", "name": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/hooks/useHealerTelemetry.ts:48", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/hooks/useHealerTelemetry.ts: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-2798ea8476ee9781", "name": "Stub function `new_feature` (body is just `pass`/`return`) \u2014 agents/crew-orchestrator/langgraph_state_management.py:228", "shortDescription": {"text": "Stub function `new_feature` (body is just `pass`/`return`) \u2014 agents/crew-orchestrator/langgraph_state_management.py:228"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18cd4a268ce9dd61", "name": "Commented-code block (6 lines) in agents/crew-orchestrator/tests/test_orchestrator.py:17", "shortDescription": {"text": "Commented-code block (6 lines) in agents/crew-orchestrator/tests/test_orchestrator.py: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-66888275cf67aff4", "name": "Stub function `setup_logging` (body is just `pass`/`return`) \u2014 agents/base-agent/agent.py:28", "shortDescription": {"text": "Stub function `setup_logging` (body is just `pass`/`return`) \u2014 agents/base-agent/agent.py:28"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fa6cefadc0a8fa7b", "name": "Blocking `time.sleep(...)` inside `async def cached_endpoint` \u2014 agents/test-agent/main.py:193", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def cached_endpoint` \u2014 agents/test-agent/main.py:193"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-61299e4cd496bd1c", "name": "Commented-code block (8 lines) in agents/broski-bot/tests/test_enterprise.py:143", "shortDescription": {"text": "Commented-code block (8 lines) in agents/broski-bot/tests/test_enterprise.py:143"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1edb69f5e2f17f81", "name": "Network/subprocess call without timeout or try/except \u2014 agents/broski-bot/_archive/Python files/broski_main.py:123", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 agents/broski-bot/_archive/Python files/broski_main.py:123"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-539e1bcbfb050929", "name": "Commented-code block (6 lines) in agents/broski-bot/alembic/env.py:95", "shortDescription": {"text": "Commented-code block (6 lines) in agents/broski-bot/alembic/env.py: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-1b51d67cd3cb7bb6", "name": "Network/subprocess call without timeout or try/except \u2014 agents/broski-bot/src/main.py:126", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 agents/broski-bot/src/main.py:126"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a77128ddae2788de", "name": "Commented-code block (8 lines) in agents/broski-bot/src/services/quest.py:113", "shortDescription": {"text": "Commented-code block (8 lines) in agents/broski-bot/src/services/quest.py: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-e5fbdaec115af930", "name": "Commented-code block (5 lines) in agents/broski-bot/src/cogs/quest_system.py:105", "shortDescription": {"text": "Commented-code block (5 lines) in agents/broski-bot/src/cogs/quest_system.py: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-518f88e6a232fece", "name": "Network/subprocess call without timeout or try/except \u2014 agents/session-snapshot/snapshot_writer.py:12", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 agents/session-snapshot/snapshot_writer.py:12"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e1e7638762109d4", "name": "Stub function `setup_logging` (body is just `pass`/`return`) \u2014 agents/business/project-strategist/src/base_agent.py:77", "shortDescription": {"text": "Stub function `setup_logging` (body is just `pass`/`return`) \u2014 agents/business/project-strategist/src/base_agent.py:77"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-08a500afcc7dd17a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/graduate-student/index.ts:38", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/graduate-student/index.ts:38"}, "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-695b2fc3236c2852", "name": "Commented-code block (8 lines) in hyperstudio-platform/api-main.py:525", "shortDescription": {"text": "Commented-code block (8 lines) in hyperstudio-platform/api-main.py:525"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c295805911ec493", "name": "Network/subprocess call without timeout or try/except \u2014 hyperstudio-platform/core-video-generator.py:286", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hyperstudio-platform/core-video-generator.py:286"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-07c205bc945f45ad", "name": "Network/subprocess call without timeout or try/except \u2014 tools/precommit_duplicate_check.py:11", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/precommit_duplicate_check.py:11"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-28418d05cf2a249e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/index.BDwrLSGN.js:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/index.BDwrLSGN.js:1"}, "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-91e408d3b2787ffd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/sw.bundle.js:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/sw.bundle.js:3"}, "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-2e8b4b8946f1117d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/uiMode.CQJ9SCIQ.js:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/uiMode.CQJ9SCIQ.js:3"}, "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-1001ed673af3ba33", "name": "Legacy-named symbol `unstable_legacy` in reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:49", "shortDescription": {"text": "Legacy-named symbol `unstable_legacy` in reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js: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-1afee659e4fd2dde", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:2", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:2"}, "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-49f04bdba1e60279", "name": "Legacy-named symbol `list_objects_v2` in backend/verify_minio.py:31", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in backend/verify_minio.py:31"}, "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-4a1769c35427f635", "name": "Commented-code block (5 lines) in backend/spawner.py:82", "shortDescription": {"text": "Commented-code block (5 lines) in backend/spawner.py: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-0e0d5aa136a95944", "name": "Commented-code block (5 lines) in backend/app/worker.py:242", "shortDescription": {"text": "Commented-code block (5 lines) in backend/app/worker.py:242"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d1135b9d464b00c", "name": "Commented-code block (5 lines) in backend/app/spawner.py:82", "shortDescription": {"text": "Commented-code block (5 lines) in backend/app/spawner.py: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-5d56051258844154", "name": "Commented-code block (5 lines) in backend/app/main.py:496", "shortDescription": {"text": "Commented-code block (5 lines) in backend/app/main.py:496"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-303fc0b9f51cc0b8", "name": "Commented-code block (5 lines) in backend/app/middleware/metrics.py:37", "shortDescription": {"text": "Commented-code block (5 lines) in backend/app/middleware/metrics.py: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-7bde5d73bfef99dc", "name": "Blocking `requests.get(...)` inside `async def process` \u2014 backend/app/agents/pulse.py:20", "shortDescription": {"text": "Blocking `requests.get(...)` inside `async def process` \u2014 backend/app/agents/pulse.py:20"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `requests.get(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-adadc201a882494e", "name": "Legacy-named symbol `list_objects_v2` in backend/app/core/storage.py:102", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in backend/app/core/storage.py:102"}, "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-e9a51d7622a121ad", "name": "Network/subprocess call without timeout or try/except \u2014 backend/app/core/agent_spawner.py:61", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/app/core/agent_spawner.py:61"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9598b70e937cc5e4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 hyperfocus-Zone-Support-Hub-main/hyperfocuszone.com-Support-Hub--main/sw.j", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hyperfocus-Zone-Support-Hub-main/hyperfocuszone.com-Support-Hub--main/sw.js:68"}, "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-c7e3166b8d08b8b3", "name": "Network/subprocess call without timeout or try/except \u2014 .github/scripts/prom-regression.py:9", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .github/scripts/prom-regression.py:9"}, "fullDescription": {"text": "`urllib.request.urlopen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ebf957cb97ed7e1c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 dashboard-rebuild/app/lib/api-client.ts:9", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 dashboard-rebuild/app/lib/api-client.ts:9"}, "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-5e725228e1bc8da4", "name": "236 env vars used in code but missing from .env.example", "shortDescription": {"text": "236 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `AGENTS_COMPOSE`, `AGENT_API_KEY`, `AGENT_API_KEY_FILE`, `AGENT_DESCRIPTION`, `AGENT_HEALTH_THRESHOLD`, `AGENT_MAX_ITER`, `AGENT_MODEL`, `AGENT_NAME` + 228 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-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nhypercode.py:get_token, backend/hypercode.py:get_token\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-380b7cb95b387b9c", "name": "Near-duplicate function bodies in 11 places", "shortDescription": {"text": "Near-duplicate function bodies in 11 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nagents/01-frontend-specialist/base_agent.py:create, agents/09-tips-tricks-writer/base_agent.py:create, agents/03-database-architect/base_agent.py:create, agents/base-agent/agent.py:create\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76a2f6818267a9a8", "name": "Near-duplicate function bodies in 8 places", "shortDescription": {"text": "Near-duplicate function bodies in 8 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nagents/01-frontend-specialist/base_agent.py:info, agents/09-tips-tricks-writer/base_agent.py:info, agents/03-database-architect/base_agent.py:info, agents/06-security-engineer/base_agent.py:info\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-442f14a7f51db72a", "name": "FastAPI POST `alerts` without auth dependency \u2014 monitoring/alert-webhook/app.py:19", "shortDescription": {"text": "FastAPI POST `alerts` without auth dependency \u2014 monitoring/alert-webhook/app.py:19"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-17a344a81c5036a7", "name": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py:", "shortDescription": {"text": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py:349"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e2f96f980ee37dfd", "name": "FastAPI POST `trigger_heal` without auth dependency \u2014 archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py:357", "shortDescription": {"text": "FastAPI POST `trigger_heal` without auth dependency \u2014 archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py:357"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5ee1ebfd7e16318c", "name": "FastAPI POST `diagnose_service` without auth dependency \u2014 agents/healer/intelligence_endpoints.py:47", "shortDescription": {"text": "FastAPI POST `diagnose_service` without auth dependency \u2014 agents/healer/intelligence_endpoints.py:47"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b66f1603f43db269", "name": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 agents/healer/main.py:701", "shortDescription": {"text": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 agents/healer/main.py:701"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9fca0cb9402175ad", "name": "FastAPI POST `trigger_heal` without auth dependency \u2014 agents/healer/main.py:710", "shortDescription": {"text": "FastAPI POST `trigger_heal` without auth dependency \u2014 agents/healer/main.py:710"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-426cdd2b03f50dfe", "name": "FastAPI POST `alert_webhook` without auth dependency \u2014 agents/healer/main.py:716", "shortDescription": {"text": "FastAPI POST `alert_webhook` without auth dependency \u2014 agents/healer/main.py:716"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-636d7d846967fac8", "name": "FastAPI POST `throttle_state_post` without auth dependency \u2014 agents/healer/main.py:737", "shortDescription": {"text": "FastAPI POST `throttle_state_post` without auth dependency \u2014 agents/healer/main.py:737"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4baa2f94a2e68fbb", "name": "FastAPI POST `route_task` without auth dependency \u2014 agents/hyper-auto-assistant/main.py:121", "shortDescription": {"text": "FastAPI POST `route_task` without auth dependency \u2014 agents/hyper-auto-assistant/main.py:121"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-62650231623400fe", "name": "FastAPI POST `scan` without auth dependency \u2014 agents/nemoclaw-agent/main.py:115", "shortDescription": {"text": "FastAPI POST `scan` without auth dependency \u2014 agents/nemoclaw-agent/main.py:115"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-427f585ded44e334", "name": "FastAPI POST `throttle_tier` without auth dependency \u2014 agents/throttle-agent/main.py:967", "shortDescription": {"text": "FastAPI POST `throttle_tier` without auth dependency \u2014 agents/throttle-agent/main.py:967"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-222807f8aa52e6e1", "name": "FastAPI POST `execute` without auth dependency \u2014 agents/hyper-agents/architect/main.py:86", "shortDescription": {"text": "FastAPI POST `execute` without auth dependency \u2014 agents/hyper-agents/architect/main.py:86"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-043c28e9ec0a2c36", "name": "FastAPI POST `create_goal` without auth dependency \u2014 agents/hyper-agents/architect/main.py:92", "shortDescription": {"text": "FastAPI POST `create_goal` without auth dependency \u2014 agents/hyper-agents/architect/main.py:92"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cc35a5dff745e7d0", "name": "FastAPI POST `add_step` without auth dependency \u2014 agents/hyper-agents/architect/main.py:123", "shortDescription": {"text": "FastAPI POST `add_step` without auth dependency \u2014 agents/hyper-agents/architect/main.py:123"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7031f4a27ddf7ea", "name": "FastAPI POST `complete_step` without auth dependency \u2014 agents/hyper-agents/architect/main.py:150", "shortDescription": {"text": "FastAPI POST `complete_step` without auth dependency \u2014 agents/hyper-agents/architect/main.py:150"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8f608eeca8d69ec5", "name": "FastAPI POST `fail_step` without auth dependency \u2014 agents/hyper-agents/architect/main.py:157", "shortDescription": {"text": "FastAPI POST `fail_step` without auth dependency \u2014 agents/hyper-agents/architect/main.py:157"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fd63c8e1ce2d3838", "name": "FastAPI POST `execute` without auth dependency \u2014 agents/hyper-agents/worker/main.py:146", "shortDescription": {"text": "FastAPI POST `execute` without auth dependency \u2014 agents/hyper-agents/worker/main.py:146"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d9aab0261fef598b", "name": "FastAPI POST `run_task` without auth dependency \u2014 agents/hyper-agents/worker/main.py:152", "shortDescription": {"text": "FastAPI POST `run_task` without auth dependency \u2014 agents/hyper-agents/worker/main.py:152"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8de193009c5b3c22", "name": "FastAPI POST `enqueue_task` without auth dependency \u2014 agents/hyper-agents/worker/main.py:189", "shortDescription": {"text": "FastAPI POST `enqueue_task` without auth dependency \u2014 agents/hyper-agents/worker/main.py:189"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94610113ef2011de", "name": "FastAPI POST `drain_queue` without auth dependency \u2014 agents/hyper-agents/worker/main.py:217", "shortDescription": {"text": "FastAPI POST `drain_queue` without auth dependency \u2014 agents/hyper-agents/worker/main.py:217"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-67f05c28c56977b3", "name": "FastAPI POST `execute` without auth dependency \u2014 agents/hyper-agents/observer/main.py:229", "shortDescription": {"text": "FastAPI POST `execute` without auth dependency \u2014 agents/hyper-agents/observer/main.py:229"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-65cc5ab245c054bd", "name": "FastAPI POST `record_metric` without auth dependency \u2014 agents/hyper-agents/observer/main.py:235", "shortDescription": {"text": "FastAPI POST `record_metric` without auth dependency \u2014 agents/hyper-agents/observer/main.py:235"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6067382372612dad", "name": "FastAPI POST `record_metrics_batch` without auth dependency \u2014 agents/hyper-agents/observer/main.py:249", "shortDescription": {"text": "FastAPI POST `record_metrics_batch` without auth dependency \u2014 agents/hyper-agents/observer/main.py:249"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-150028028be02a31", "name": "FastAPI POST `add_alert_rule` without auth dependency \u2014 agents/hyper-agents/observer/main.py:276", "shortDescription": {"text": "FastAPI POST `add_alert_rule` without auth dependency \u2014 agents/hyper-agents/observer/main.py:276"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-035b929b54304a88", "name": "FastAPI POST `log_event` without auth dependency \u2014 agents/hyper-agents/observer/main.py:322", "shortDescription": {"text": "FastAPI POST `log_event` without auth dependency \u2014 agents/hyper-agents/observer/main.py:322"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-64a95951190a7a65", "name": "FastAPI POST `receive_coderabbit_webhook` without auth dependency \u2014 agents/coderabbit-webhook/main.py:83", "shortDescription": {"text": "FastAPI POST `receive_coderabbit_webhook` without auth dependency \u2014 agents/coderabbit-webhook/main.py:83"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ba1c49c0d157c258", "name": "FastAPI POST `receive_github_webhook` without auth dependency \u2014 agents/coderabbit-webhook/main.py:164", "shortDescription": {"text": "FastAPI POST `receive_github_webhook` without auth dependency \u2014 agents/coderabbit-webhook/main.py:164"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5208317dd2c22d28", "name": "FastAPI POST `execute_fix` without auth dependency \u2014 agents/coderabbit-webhook/main.py:196", "shortDescription": {"text": "FastAPI POST `execute_fix` without auth dependency \u2014 agents/coderabbit-webhook/main.py:196"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1dbc6457977c7c3f", "name": "FastAPI POST `execute` without auth dependency \u2014 agents/agent-x/main.py:185", "shortDescription": {"text": "FastAPI POST `execute` without auth dependency \u2014 agents/agent-x/main.py:185"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b998037b9f7d501b", "name": "FastAPI POST `spawn_agent` without auth dependency \u2014 agents/agent-x/main.py:314", "shortDescription": {"text": "FastAPI POST `spawn_agent` without auth dependency \u2014 agents/agent-x/main.py:314"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-186f1013c089d772", "name": "FastAPI POST `evolve_agent` without auth dependency \u2014 agents/agent-x/main.py:368", "shortDescription": {"text": "FastAPI POST `evolve_agent` without auth dependency \u2014 agents/agent-x/main.py:368"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-411b56fd7ab40af3", "name": "FastAPI POST `rebuild_agent` without auth dependency \u2014 agents/agent-x/main.py:435", "shortDescription": {"text": "FastAPI POST `rebuild_agent` without auth dependency \u2014 agents/agent-x/main.py:435"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-25ae403f0697d2b7", "name": "FastAPI POST `run_pipeline` without auth dependency \u2014 agents/agent-x/main.py:457", "shortDescription": {"text": "FastAPI POST `run_pipeline` without auth dependency \u2014 agents/agent-x/main.py:457"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-53b85bf459b2b8f7", "name": "FastAPI POST `scan_agents` without auth dependency \u2014 agents/agent-x/main.py:484", "shortDescription": {"text": "FastAPI POST `scan_agents` without auth dependency \u2014 agents/agent-x/main.py:484"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-574bbbbfaae4f52f", "name": "FastAPI POST `design_spec` without auth dependency \u2014 agents/agent-x/main.py:506", "shortDescription": {"text": "FastAPI POST `design_spec` without auth dependency \u2014 agents/agent-x/main.py:506"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94f9403746a83273", "name": "FastAPI POST `design_code` without auth dependency \u2014 agents/agent-x/main.py:522", "shortDescription": {"text": "FastAPI POST `design_code` without auth dependency \u2014 agents/agent-x/main.py:522"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e1c25a68eb106050", "name": "FastAPI POST `execute_smoke` without auth dependency \u2014 agents/crew-orchestrator/main.py:885", "shortDescription": {"text": "FastAPI POST `execute_smoke` without auth dependency \u2014 agents/crew-orchestrator/main.py:885"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6b1533e933d0ed8c", "name": "FastAPI POST `energy_boost` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:422", "shortDescription": {"text": "FastAPI POST `energy_boost` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:422"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-df49da0c1f694fdc", "name": "FastAPI POST `toggle_party_mode` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:444", "shortDescription": {"text": "FastAPI POST `toggle_party_mode` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:444"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f6821195b41f651d", "name": "FastAPI POST `broski_actions` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:468", "shortDescription": {"text": "FastAPI POST `broski_actions` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:468"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2132f6a6bc66ad8b", "name": "FastAPI POST `ultra_mode` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:562", "shortDescription": {"text": "FastAPI POST `ultra_mode` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:562"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1e55338850b8c0a3", "name": "FastAPI POST `spawn_agent` without auth dependency \u2014 agents/agent-factory/main.py:156", "shortDescription": {"text": "FastAPI POST `spawn_agent` without auth dependency \u2014 agents/agent-factory/main.py:156"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae4a8c350d77821d", "name": "FastAPI POST `stop_agent` without auth dependency \u2014 agents/agent-factory/main.py:242", "shortDescription": {"text": "FastAPI POST `stop_agent` without auth dependency \u2014 agents/agent-factory/main.py:242"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72e4580b5cc269f6", "name": "Flask mutation route `api_conversion_estimate` without `@login_required` \u2014 agents/broski-bot/_archive/Python files/mintm", "shortDescription": {"text": "Flask mutation route `api_conversion_estimate` without `@login_required` \u2014 agents/broski-bot/_archive/Python files/mintme_integration_dashboard.py:344"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34b1522510eeee1f", "name": "Flask mutation route `api_conversion_estimate` without `@login_required` \u2014 agents/broski-bot/src/integrations/mintme.py:", "shortDescription": {"text": "Flask mutation route `api_conversion_estimate` without `@login_required` \u2014 agents/broski-bot/src/integrations/mintme.py:344"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-335443532081c55b", "name": "FastAPI POST `redeem_reward` without auth dependency \u2014 agents/broski-bot/src/api/routes/economy.py:39", "shortDescription": {"text": "FastAPI POST `redeem_reward` without auth dependency \u2014 agents/broski-bot/src/api/routes/economy.py:39"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-70036a039c70481f", "name": "FastAPI POST `transfer_tokens` without auth dependency \u2014 agents/broski-bot/src/api/routes/economy.py:67", "shortDescription": {"text": "FastAPI POST `transfer_tokens` without auth dependency \u2014 agents/broski-bot/src/api/routes/economy.py:67"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a25b83727df70e95", "name": "FastAPI POST `provision` without auth dependency \u2014 agents/broski-pets-bridge/main.py:516", "shortDescription": {"text": "FastAPI POST `provision` without auth dependency \u2014 agents/broski-pets-bridge/main.py:516"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-53d87a76182f280c", "name": "FastAPI POST `award_xp` without auth dependency \u2014 agents/broski-pets-bridge/main.py:557", "shortDescription": {"text": "FastAPI POST `award_xp` without auth dependency \u2014 agents/broski-pets-bridge/main.py:557"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-58bc72305f12c313", "name": "FastAPI POST `bind_token` without auth dependency \u2014 agents/broski-pets-bridge/main.py:566", "shortDescription": {"text": "FastAPI POST `bind_token` without auth dependency \u2014 agents/broski-pets-bridge/main.py:566"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f47d2e0675e6c862", "name": "FastAPI POST `streak_commit` without auth dependency \u2014 agents/broski-pets-bridge/main.py:600", "shortDescription": {"text": "FastAPI POST `streak_commit` without auth dependency \u2014 agents/broski-pets-bridge/main.py:600"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-11f182875d3871e1", "name": "FastAPI POST `pet_chat` without auth dependency \u2014 agents/broski-pets-bridge/main.py:744", "shortDescription": {"text": "FastAPI POST `pet_chat` without auth dependency \u2014 agents/broski-pets-bridge/main.py:744"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0bcb7da053e1ed34", "name": "FastAPI POST `pet_feed` without auth dependency \u2014 agents/broski-pets-bridge/main.py:864", "shortDescription": {"text": "FastAPI POST `pet_feed` without auth dependency \u2014 agents/broski-pets-bridge/main.py:864"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7647c893f19953f", "name": "FastAPI POST `pet_brain_feed` without auth dependency \u2014 agents/broski-pets-bridge/main.py:944", "shortDescription": {"text": "FastAPI POST `pet_brain_feed` without auth dependency \u2014 agents/broski-pets-bridge/main.py:944"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0b12e4859e085cb2", "name": "FastAPI POST `snapshot` without auth dependency \u2014 agents/session-snapshot/main.py:63", "shortDescription": {"text": "FastAPI POST `snapshot` without auth dependency \u2014 agents/session-snapshot/main.py:63"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f2cb1167bc9f375", "name": "FastAPI POST `split_task` without auth dependency \u2014 agents/hyper-split-agent/main.py:79", "shortDescription": {"text": "FastAPI POST `split_task` without auth dependency \u2014 agents/hyper-split-agent/main.py:79"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5ef19a66cbe4d92e", "name": "FastAPI POST `agent_ping` without auth dependency \u2014 agents/agent-registry/agent_registry.py:471", "shortDescription": {"text": "FastAPI POST `agent_ping` without auth dependency \u2014 agents/agent-registry/agent_registry.py:471"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9399c7e91997e4f3", "name": "FastAPI POST `manual_restart` without auth dependency \u2014 agents/agent-registry/agent_registry.py:481", "shortDescription": {"text": "FastAPI POST `manual_restart` without auth dependency \u2014 agents/agent-registry/agent_registry.py:481"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d80962b075efffc7", "name": "FastAPI POST `reset_agent` without auth dependency \u2014 agents/agent-registry/agent_registry.py:495", "shortDescription": {"text": "FastAPI POST `reset_agent` without auth dependency \u2014 agents/agent-registry/agent_registry.py:495"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c416a36b743f32b5", "name": "FastAPI POST `chat_with_agent` without auth dependency \u2014 services/agent-training/main.py:159", "shortDescription": {"text": "FastAPI POST `chat_with_agent` without auth dependency \u2014 services/agent-training/main.py:159"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f261b6b05e1b8510", "name": "FastAPI POST `train_agent` without auth dependency \u2014 services/agent-training/main.py:182", "shortDescription": {"text": "FastAPI POST `train_agent` without auth dependency \u2014 services/agent-training/main.py:182"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-697642002a9b2256", "name": "FastAPI POST `multi_agent_request` without auth dependency \u2014 services/agent-training/main.py:278", "shortDescription": {"text": "FastAPI POST `multi_agent_request` without auth dependency \u2014 services/agent-training/main.py:278"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5de9623d41f1bacb", "name": "FastAPI POST `create_check` without auth dependency \u2014 services/hyperhealth/main.py:154", "shortDescription": {"text": "FastAPI POST `create_check` without auth dependency \u2014 services/hyperhealth/main.py:154"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ee1b7d2c1936387", "name": "FastAPI DELETE `delete_check` without auth dependency \u2014 services/hyperhealth/main.py:178", "shortDescription": {"text": "FastAPI DELETE `delete_check` without auth dependency \u2014 services/hyperhealth/main.py:178"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cee47038981796e8", "name": "FastAPI POST `resolve_incident` without auth dependency \u2014 services/hyperhealth/main.py:299", "shortDescription": {"text": "FastAPI POST `resolve_incident` without auth dependency \u2014 services/hyperhealth/main.py:299"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d3a4714b4e3c942d", "name": "FastAPI POST `create_check` without auth dependency \u2014 services/hyperhealth/app/main.py:40", "shortDescription": {"text": "FastAPI POST `create_check` without auth dependency \u2014 services/hyperhealth/app/main.py:40"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-432b473c15d2d3c0", "name": "FastAPI POST `tools_call` without auth dependency \u2014 services/mcp-rest-adapter/app.py:361", "shortDescription": {"text": "FastAPI POST `tools_call` without auth dependency \u2014 services/mcp-rest-adapter/app.py:361"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c01b3f3ef84eb8db", "name": "FastAPI POST `generate_video` without auth dependency \u2014 hyperstudio-platform/api-main.py:240", "shortDescription": {"text": "FastAPI POST `generate_video` without auth dependency \u2014 hyperstudio-platform/api-main.py:240"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d752bed2b136ff77", "name": "FastAPI DELETE `delete_video` without auth dependency \u2014 hyperstudio-platform/api-main.py:434", "shortDescription": {"text": "FastAPI DELETE `delete_video` without auth dependency \u2014 hyperstudio-platform/api-main.py:434"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4bdb6724c0797f96", "name": "FastAPI POST `spawn_agent` without auth dependency \u2014 backend/app/main.py:392", "shortDescription": {"text": "FastAPI POST `spawn_agent` without auth dependency \u2014 backend/app/main.py:392"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fa5aee2c474a6084", "name": "FastAPI POST `keep_alive_agent` without auth dependency \u2014 backend/app/main.py:428", "shortDescription": {"text": "FastAPI POST `keep_alive_agent` without auth dependency \u2014 backend/app/main.py:428"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b81fe6ed45ed2bd7", "name": "FastAPI POST `shutdown_agent` without auth dependency \u2014 backend/app/main.py:451", "shortDescription": {"text": "FastAPI POST `shutdown_agent` without auth dependency \u2014 backend/app/main.py:451"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b0be01d793acc4d", "name": "FastAPI POST `generate_plan` without auth dependency \u2014 backend/app/api/v1/endpoints/planning.py:33", "shortDescription": {"text": "FastAPI POST `generate_plan` without auth dependency \u2014 backend/app/api/v1/endpoints/planning.py:33"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-27e282640e9ef31a", "name": "FastAPI POST `trigger_graduation` without auth dependency \u2014 backend/app/api/v1/endpoints/graduate.py:71", "shortDescription": {"text": "FastAPI POST `trigger_graduation` without auth dependency \u2014 backend/app/api/v1/endpoints/graduate.py:71"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0a83f8f97ed446a0", "name": "FastAPI POST `checkout` without auth dependency \u2014 backend/app/routes/stripe.py:40", "shortDescription": {"text": "FastAPI POST `checkout` without auth dependency \u2014 backend/app/routes/stripe.py:40"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5d1284e8c56142b4", "name": "FastAPI POST `stripe_webhook` without auth dependency \u2014 backend/app/routes/stripe.py:99", "shortDescription": {"text": "FastAPI POST `stripe_webhook` without auth dependency \u2014 backend/app/routes/stripe.py:99"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2d50f45626a4c7fc", "name": "FastAPI POST `create_task` without auth dependency \u2014 backend/app/routes/tasks.py:133", "shortDescription": {"text": "FastAPI POST `create_task` without auth dependency \u2014 backend/app/routes/tasks.py:133"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-76a022e35c523422", "name": "FastAPI PUT `update_task` without auth dependency \u2014 backend/app/routes/tasks.py:163", "shortDescription": {"text": "FastAPI PUT `update_task` without auth dependency \u2014 backend/app/routes/tasks.py:163"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f2144ac9819efdf", "name": "FastAPI DELETE `cancel_task` without auth dependency \u2014 backend/app/routes/tasks.py:193", "shortDescription": {"text": "FastAPI DELETE `cancel_task` without auth dependency \u2014 backend/app/routes/tasks.py:193"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-445988626c6b007c", "name": "FastAPI POST `check_and_create_error_task` without auth dependency \u2014 backend/app/routes/tasks.py:214", "shortDescription": {"text": "FastAPI POST `check_and_create_error_task` without auth dependency \u2014 backend/app/routes/tasks.py:214"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9cc47b59852940c7", "name": "Dangling fetch: POST http://localhost:8080/approvals/respond (archive/legacy/agents-dashboard-legacy/components/approval", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8080/approvals/respond (archive/legacy/agents-dashboard-legacy/components/approval_widget.js:51)"}, "fullDescription": {"text": "`archive/legacy/agents-dashboard-legacy/components/approval_widget.js:51` calls `POST http://localhost:8080/approvals/respond` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8080/approvals/respond`\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-6029b40e24b35f19", "name": "Dangling fetch: POST /api/user/sensory-profile (dashboard/src/hooks/useSensoryProfile.ts:24)", "shortDescription": {"text": "Dangling fetch: POST /api/user/sensory-profile (dashboard/src/hooks/useSensoryProfile.ts:24)"}, "fullDescription": {"text": "`dashboard/src/hooks/useSensoryProfile.ts:24` calls `POST /api/user/sensory-profile` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/user/sensory-profile`\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-80265d6f3192d3f6", "name": "Dangling fetch: GET /api/wallet/broski/${userId} (dashboard/src/hooks/useWallet.ts:26)", "shortDescription": {"text": "Dangling fetch: GET /api/wallet/broski/${userId} (dashboard/src/hooks/useWallet.ts:26)"}, "fullDescription": {"text": "`dashboard/src/hooks/useWallet.ts:26` calls `GET /api/wallet/broski/${userId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/wallet/broski/<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-c764e7f7d827310a", "name": "Dangling fetch: GET /api/metrics/resources (dashboard/src/hooks/useResourceMetrics.ts:36)", "shortDescription": {"text": "Dangling fetch: GET /api/metrics/resources (dashboard/src/hooks/useResourceMetrics.ts:36)"}, "fullDescription": {"text": "`dashboard/src/hooks/useResourceMetrics.ts:36` calls `GET /api/metrics/resources` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/metrics/resources`\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-fb4f84729b400674", "name": "Dangling fetch: GET /api/queue/stats (dashboard/src/hooks/useTaskVelocity.ts:29)", "shortDescription": {"text": "Dangling fetch: GET /api/queue/stats (dashboard/src/hooks/useTaskVelocity.ts:29)"}, "fullDescription": {"text": "`dashboard/src/hooks/useTaskVelocity.ts:29` calls `GET /api/queue/stats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/queue/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-d1bc1a983c948773", "name": "Dangling fetch: POST /api/mcp/tools/call (agents/dashboard/components/views/IDEView.tsx:61)", "shortDescription": {"text": "Dangling fetch: POST /api/mcp/tools/call (agents/dashboard/components/views/IDEView.tsx:61)"}, "fullDescription": {"text": "`agents/dashboard/components/views/IDEView.tsx:61` calls `POST /api/mcp/tools/call` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/mcp/tools/call`\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-3fc525168b55d994", "name": "Dangling fetch: POST /api/mcp/tools/call (agents/dashboard/components/views/IDEView.tsx:114)", "shortDescription": {"text": "Dangling fetch: POST /api/mcp/tools/call (agents/dashboard/components/views/IDEView.tsx:114)"}, "fullDescription": {"text": "`agents/dashboard/components/views/IDEView.tsx:114` calls `POST /api/mcp/tools/call` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/mcp/tools/call`\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-621aa77694a1f4a1", "name": "Dangling fetch: POST /api/orchestrator (agents/dashboard/components/views/IDEView.tsx:149)", "shortDescription": {"text": "Dangling fetch: POST /api/orchestrator (agents/dashboard/components/views/IDEView.tsx:149)"}, "fullDescription": {"text": "`agents/dashboard/components/views/IDEView.tsx:149` calls `POST /api/orchestrator` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/orchestrator`\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-d6d0aa651a1f499b", "name": "Dangling fetch: GET /api/broski (agents/dashboard/components/views/BROskiPulseView.tsx:23)", "shortDescription": {"text": "Dangling fetch: GET /api/broski (agents/dashboard/components/views/BROskiPulseView.tsx:23)"}, "fullDescription": {"text": "`agents/dashboard/components/views/BROskiPulseView.tsx:23` calls `GET /api/broski` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/broski`\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-195606e94f095f8e", "name": "Dangling fetch: GET /api/mcp/health (agents/dashboard/components/views/MCPGatewayView.tsx:20)", "shortDescription": {"text": "Dangling fetch: GET /api/mcp/health (agents/dashboard/components/views/MCPGatewayView.tsx:20)"}, "fullDescription": {"text": "`agents/dashboard/components/views/MCPGatewayView.tsx:20` calls `GET /api/mcp/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/mcp/health`\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-6a795b2a1e9c14b7", "name": "Dangling fetch: POST /api/planning (agents/dashboard/components/views/PlanningView.tsx:49)", "shortDescription": {"text": "Dangling fetch: POST /api/planning (agents/dashboard/components/views/PlanningView.tsx:49)"}, "fullDescription": {"text": "`agents/dashboard/components/views/PlanningView.tsx:49` calls `POST /api/planning` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/planning`\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-0053bb98b2d15c26", "name": "Dangling fetch: GET /api/orchestrator (agents/dashboard/components/views/HealthView.tsx:69)", "shortDescription": {"text": "Dangling fetch: GET /api/orchestrator (agents/dashboard/components/views/HealthView.tsx:69)"}, "fullDescription": {"text": "`agents/dashboard/components/views/HealthView.tsx:69` calls `GET /api/orchestrator` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/orchestrator`\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-8a8606aa59b76332", "name": "Dangling fetch: GET /api/healer/health (agents/dashboard/components/views/HealthView.tsx:74)", "shortDescription": {"text": "Dangling fetch: GET /api/healer/health (agents/dashboard/components/views/HealthView.tsx:74)"}, "fullDescription": {"text": "`agents/dashboard/components/views/HealthView.tsx:74` calls `GET /api/healer/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/healer/health`\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-c9cc5873aaf704ff", "name": "Dangling fetch: POST /api/orchestrator (agents/dashboard/components/views/TasksView.tsx:279)", "shortDescription": {"text": "Dangling fetch: POST /api/orchestrator (agents/dashboard/components/views/TasksView.tsx:279)"}, "fullDescription": {"text": "`agents/dashboard/components/views/TasksView.tsx:279` calls `POST /api/orchestrator` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/orchestrator`\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-99cb762aaa04b332", "name": "Dangling fetch: GET /api/healer${path} (agents/dashboard/hooks/useHealerTelemetry.ts:48)", "shortDescription": {"text": "Dangling fetch: GET /api/healer${path} (agents/dashboard/hooks/useHealerTelemetry.ts:48)"}, "fullDescription": {"text": "`agents/dashboard/hooks/useHealerTelemetry.ts:48` calls `GET /api/healer${path}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/healer/<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-8c0dbe3483760cb9", "name": "Dangling fetch: POST /api/user/sensory-profile (agents/dashboard/hooks/useSensoryProfile.ts:19)", "shortDescription": {"text": "Dangling fetch: POST /api/user/sensory-profile (agents/dashboard/hooks/useSensoryProfile.ts:19)"}, "fullDescription": {"text": "`agents/dashboard/hooks/useSensoryProfile.ts:19` calls `POST /api/user/sensory-profile` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/user/sensory-profile`\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-a2b7d0835ae241d3", "name": "Dangling fetch: GET /api/wallet/broski/${userId} (agents/dashboard/hooks/useWallet.ts:26)", "shortDescription": {"text": "Dangling fetch: GET /api/wallet/broski/${userId} (agents/dashboard/hooks/useWallet.ts:26)"}, "fullDescription": {"text": "`agents/dashboard/hooks/useWallet.ts:26` calls `GET /api/wallet/broski/${userId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/wallet/broski/<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-b343bf46effcba12", "name": "Dangling fetch: GET /api/queue/stats (agents/dashboard/hooks/useTaskVelocity.ts:29)", "shortDescription": {"text": "Dangling fetch: GET /api/queue/stats (agents/dashboard/hooks/useTaskVelocity.ts:29)"}, "fullDescription": {"text": "`agents/dashboard/hooks/useTaskVelocity.ts:29` calls `GET /api/queue/stats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/queue/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-e0e04767bee2473a", "name": "Dangling fetch: POST http://hypercode-core:8000/execution/execute-hc (dashboard-rebuild/app/components/dashboard/HyperCo", "shortDescription": {"text": "Dangling fetch: POST http://hypercode-core:8000/execution/execute-hc (dashboard-rebuild/app/components/dashboard/HyperCodeIDE.tsx:20)"}, "fullDescription": {"text": "`dashboard-rebuild/app/components/dashboard/HyperCodeIDE.tsx:20` calls `POST http://hypercode-core:8000/execution/execute-hc` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/hypercode-core:8000/execution/execute-hc`\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-deadc76e13987488", "name": "Dangling fetch: GET http://hypercode-core:8000/mcp/tools (dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:", "shortDescription": {"text": "Dangling fetch: GET http://hypercode-core:8000/mcp/tools (dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:34)"}, "fullDescription": {"text": "`dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:34` calls `GET http://hypercode-core:8000/mcp/tools` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/hypercode-core:8000/mcp/tools`\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-352d559a120b8285", "name": "Dangling fetch: POST http://hypercode-core:8000/mcp/tools/${selectedTool.name}/call (dashboard-rebuild/app/components/da", "shortDescription": {"text": "Dangling fetch: POST http://hypercode-core:8000/mcp/tools/${selectedTool.name}/call (dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:58)"}, "fullDescription": {"text": "`dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:58` calls `POST http://hypercode-core:8000/mcp/tools/${selectedTool.name}/call` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/hypercode-core:8000/mcp/tools/<p>/call`\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-2030f453016d8a2d", "name": "Dangling fetch: GET http://hypercode-core:8000/missions/tasks (dashboard-rebuild/app/components/dashboard/MissionTimelin", "shortDescription": {"text": "Dangling fetch: GET http://hypercode-core:8000/missions/tasks (dashboard-rebuild/app/components/dashboard/MissionTimeline.tsx:23)"}, "fullDescription": {"text": "`dashboard-rebuild/app/components/dashboard/MissionTimeline.tsx:23` calls `GET http://hypercode-core:8000/missions/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/hypercode-core:8000/missions/tasks`\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-199df45c9ed8257c", "name": "Dangling fetch: GET http://hypercode-core:8000/docker/containers (dashboard-rebuild/app/components/dashboard/DockerZone.", "shortDescription": {"text": "Dangling fetch: GET http://hypercode-core:8000/docker/containers (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:25)"}, "fullDescription": {"text": "`dashboard-rebuild/app/components/dashboard/DockerZone.tsx:25` calls `GET http://hypercode-core:8000/docker/containers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/hypercode-core:8000/docker/containers`\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-1c8fc59ab23fbbc0", "name": "Dangling fetch: POST http://hypercode-core:8000/docker/containers/${containerId}/stop (dashboard-rebuild/app/components/", "shortDescription": {"text": "Dangling fetch: POST http://hypercode-core:8000/docker/containers/${containerId}/stop (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:44)"}, "fullDescription": {"text": "`dashboard-rebuild/app/components/dashboard/DockerZone.tsx:44` calls `POST http://hypercode-core:8000/docker/containers/${containerId}/stop` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/hypercode-core:8000/docker/containers/<p>/stop`\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-5728de0d19983074", "name": "Dangling fetch: GET http://hypercode-core:8000/docker/containers (dashboard-rebuild/app/components/dashboard/DockerZone.", "shortDescription": {"text": "Dangling fetch: GET http://hypercode-core:8000/docker/containers (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:48)"}, "fullDescription": {"text": "`dashboard-rebuild/app/components/dashboard/DockerZone.tsx:48` calls `GET http://hypercode-core:8000/docker/containers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/hypercode-core:8000/docker/containers`\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-6d29a06b7e47e443", "name": "Dangling fetch: POST http://hypercode-core:8000/docker/containers/${containerId}/restart (dashboard-rebuild/app/componen", "shortDescription": {"text": "Dangling fetch: POST http://hypercode-core:8000/docker/containers/${containerId}/restart (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:60)"}, "fullDescription": {"text": "`dashboard-rebuild/app/components/dashboard/DockerZone.tsx:60` calls `POST http://hypercode-core:8000/docker/containers/${containerId}/restart` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/hypercode-core:8000/docker/containers/<p>/restart`\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-dc4d93953d8e3cb0", "name": "Dangling fetch: GET http://hypercode-core:8000/docker/containers (dashboard-rebuild/app/components/dashboard/DockerZone.", "shortDescription": {"text": "Dangling fetch: GET http://hypercode-core:8000/docker/containers (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:64)"}, "fullDescription": {"text": "`dashboard-rebuild/app/components/dashboard/DockerZone.tsx:64` calls `GET http://hypercode-core:8000/docker/containers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/hypercode-core:8000/docker/containers`\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-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`hyperfocus_dashboard.py` declares `GET /` 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-3346f62a421be9b0", "name": "Unused endpoint: POST /alerts", "shortDescription": {"text": "Unused endpoint: POST /alerts"}, "fullDescription": {"text": "`monitoring/alert-webhook/app.py` declares `POST /alerts` 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-0b4ad9c5b101129c", "name": "Unused endpoint: GET /circuit-breaker/status", "shortDescription": {"text": "Unused endpoint: GET /circuit-breaker/status"}, "fullDescription": {"text": "`archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py` declares `GET /circuit-breaker/status` 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-c0e196a48f7286ac", "name": "Unused endpoint: POST /circuit-breaker/reset/{agent_name}", "shortDescription": {"text": "Unused endpoint: POST /circuit-breaker/reset/{agent_name}"}, "fullDescription": {"text": "`archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py` declares `POST /circuit-breaker/reset/{agent_name}` 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-4c32fde42dc4fed2", "name": "Unused endpoint: POST /heal", "shortDescription": {"text": "Unused endpoint: POST /heal"}, "fullDescription": {"text": "`archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py` declares `POST /heal` 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-b2c2cc5ee516d7e3", "name": "Unused endpoint: GET /agents/health", "shortDescription": {"text": "Unused endpoint: GET /agents/health"}, "fullDescription": {"text": "`Hyper-Agents-Box/hyper-agents-box/main.py` declares `GET /agents/health` 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-066d9d6875914444", "name": "Unused endpoint: GET /mcp/tools", "shortDescription": {"text": "Unused endpoint: GET /mcp/tools"}, "fullDescription": {"text": "`templates/mcp-plugin-python/main.py` declares `GET /mcp/tools` 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-cc1949f130b00914", "name": "Unused endpoint: POST /mcp/execute", "shortDescription": {"text": "Unused endpoint: POST /mcp/execute"}, "fullDescription": {"text": "`templates/mcp-plugin-python/main.py` declares `POST /mcp/execute` 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-afc064028ae39ea9", "name": "Unused endpoint: GET /history", "shortDescription": {"text": "Unused endpoint: GET /history"}, "fullDescription": {"text": "`agents/healer/mape_k_api.py` declares `GET /history` 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-4f9229f0089ca786", "name": "Unused endpoint: POST /diagnose", "shortDescription": {"text": "Unused endpoint: POST /diagnose"}, "fullDescription": {"text": "`agents/healer/intelligence_endpoints.py` declares `POST /diagnose` 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-d54892d6fc450e40", "name": "Unused endpoint: GET /failure-modes/{agent_name}", "shortDescription": {"text": "Unused endpoint: GET /failure-modes/{agent_name}"}, "fullDescription": {"text": "`agents/healer/intelligence_endpoints.py` declares `GET /failure-modes/{agent_name}` 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-c2fbe8013f82231d", "name": "Unused endpoint: GET /slos/{agent_name}", "shortDescription": {"text": "Unused endpoint: GET /slos/{agent_name}"}, "fullDescription": {"text": "`agents/healer/intelligence_endpoints.py` declares `GET /slos/{agent_name}` 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-b0174a187c3660bf", "name": "Unused endpoint: GET /playbook/{agent_name}/{playbook_name}", "shortDescription": {"text": "Unused endpoint: GET /playbook/{agent_name}/{playbook_name}"}, "fullDescription": {"text": "`agents/healer/intelligence_endpoints.py` declares `GET /playbook/{agent_name}/{playbook_name}` 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-0058c57900497808", "name": "Unused endpoint: GET /life-plan/{agent_name}", "shortDescription": {"text": "Unused endpoint: GET /life-plan/{agent_name}"}, "fullDescription": {"text": "`agents/healer/intelligence_endpoints.py` declares `GET /life-plan/{agent_name}` 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-98d06ccf8f8e7d22", "name": "Unused endpoint: GET /all-metrics", "shortDescription": {"text": "Unused endpoint: GET /all-metrics"}, "fullDescription": {"text": "`agents/healer/intelligence_endpoints.py` declares `GET /all-metrics` 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-22668ab2704ae6c4", "name": "Unused endpoint: GET /xp/status", "shortDescription": {"text": "Unused endpoint: GET /xp/status"}, "fullDescription": {"text": "`agents/healer/main.py` declares `GET /xp/status` 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-813102c93f23bb9f", "name": "Unused endpoint: GET /xp/history", "shortDescription": {"text": "Unused endpoint: GET /xp/history"}, "fullDescription": {"text": "`agents/healer/main.py` declares `GET /xp/history` 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-a81aad205ec2a5b8", "name": "Unused endpoint: GET /circuit-breaker/{agent_name}", "shortDescription": {"text": "Unused endpoint: GET /circuit-breaker/{agent_name}"}, "fullDescription": {"text": "`agents/healer/main.py` declares `GET /circuit-breaker/{agent_name}` 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-d33623a3214d24ca", "name": "Unused endpoint: POST /alerts/webhook", "shortDescription": {"text": "Unused endpoint: POST /alerts/webhook"}, "fullDescription": {"text": "`agents/healer/main.py` declares `POST /alerts/webhook` 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-723321bbd0fd73b5", "name": "Unused endpoint: GET /throttle/state", "shortDescription": {"text": "Unused endpoint: GET /throttle/state"}, "fullDescription": {"text": "`agents/healer/main.py` declares `GET /throttle/state` 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-80b805a54663b5d2", "name": "Unused endpoint: POST /throttle/state", "shortDescription": {"text": "Unused endpoint: POST /throttle/state"}, "fullDescription": {"text": "`agents/healer/main.py` declares `POST /throttle/state` 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-f14ec854a14150bf", "name": "Unused endpoint: GET /intents", "shortDescription": {"text": "Unused endpoint: GET /intents"}, "fullDescription": {"text": "`agents/hyper-auto-assistant/main.py` declares `GET /intents` 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-120d320863420a12", "name": "Unused endpoint: POST /route", "shortDescription": {"text": "Unused endpoint: POST /route"}, "fullDescription": {"text": "`agents/hyper-auto-assistant/main.py` declares `POST /route` 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-195fb029bb695346", "name": "Unused endpoint: POST /scan", "shortDescription": {"text": "Unused endpoint: POST /scan"}, "fullDescription": {"text": "`agents/nemoclaw-agent/main.py` declares `POST /scan` 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-d440aecec5450ba4", "name": "Unused endpoint: GET /tiers", "shortDescription": {"text": "Unused endpoint: GET /tiers"}, "fullDescription": {"text": "`agents/throttle-agent/main.py` declares `GET /tiers` 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-020eefc3f5b84b95", "name": "Unused endpoint: GET /decisions", "shortDescription": {"text": "Unused endpoint: GET /decisions"}, "fullDescription": {"text": "`agents/throttle-agent/main.py` declares `GET /decisions` 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-2334e8deb02c0927", "name": "Unused endpoint: POST /throttle/{tier}", "shortDescription": {"text": "Unused endpoint: POST /throttle/{tier}"}, "fullDescription": {"text": "`agents/throttle-agent/main.py` declares `POST /throttle/{tier}` 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-25d2ca63197cd1e9", "name": "Unused endpoint: POST /execute", "shortDescription": {"text": "Unused endpoint: POST /execute"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `POST /execute` 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-827392c0226680bd", "name": "Unused endpoint: POST /goals", "shortDescription": {"text": "Unused endpoint: POST /goals"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `POST /goals` 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-14524f93aef43d33", "name": "Unused endpoint: GET /goals/{goal_id}", "shortDescription": {"text": "Unused endpoint: GET /goals/{goal_id}"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `GET /goals/{goal_id}` 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-640c0cfcee4ccc97", "name": "Unused endpoint: POST /goals/{goal_id}/steps", "shortDescription": {"text": "Unused endpoint: POST /goals/{goal_id}/steps"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `POST /goals/{goal_id}/steps` 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-e36c87d4dd03907e", "name": "Unused endpoint: GET /goals/{goal_id}/steps/ready", "shortDescription": {"text": "Unused endpoint: GET /goals/{goal_id}/steps/ready"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `GET /goals/{goal_id}/steps/ready` 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-2a7c2d0bcaa06fec", "name": "Unused endpoint: POST /goals/{goal_id}/steps/{step_id}/complete", "shortDescription": {"text": "Unused endpoint: POST /goals/{goal_id}/steps/{step_id}/complete"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `POST /goals/{goal_id}/steps/{step_id}/complete` 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-9adb99e9cc1eacc4", "name": "Unused endpoint: POST /goals/{goal_id}/steps/{step_id}/fail", "shortDescription": {"text": "Unused endpoint: POST /goals/{goal_id}/steps/{step_id}/fail"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `POST /goals/{goal_id}/steps/{step_id}/fail` 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-8d1928ec2b081920", "name": "Unused endpoint: POST /agents/register", "shortDescription": {"text": "Unused endpoint: POST /agents/register"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `POST /agents/register` 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-50207204ed781305", "name": "Unused endpoint: GET /goals", "shortDescription": {"text": "Unused endpoint: GET /goals"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `GET /goals` 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-cd8dc4599ec52a08", "name": "Unused endpoint: GET /stats", "shortDescription": {"text": "Unused endpoint: GET /stats"}, "fullDescription": {"text": "`agents/hyper-agents/architect/main.py` declares `GET /stats` 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-0a4cb6f6c3e91949", "name": "Unused endpoint: POST /tasks/run", "shortDescription": {"text": "Unused endpoint: POST /tasks/run"}, "fullDescription": {"text": "`agents/hyper-agents/worker/main.py` declares `POST /tasks/run` 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-12b9a280b2e7c648", "name": "Unused endpoint: POST /tasks/enqueue", "shortDescription": {"text": "Unused endpoint: POST /tasks/enqueue"}, "fullDescription": {"text": "`agents/hyper-agents/worker/main.py` declares `POST /tasks/enqueue` 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-ffdfcf0b799bb0f3", "name": "Unused endpoint: POST /tasks/queue/run", "shortDescription": {"text": "Unused endpoint: POST /tasks/queue/run"}, "fullDescription": {"text": "`agents/hyper-agents/worker/main.py` declares `POST /tasks/queue/run` 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-1a87a81031600c75", "name": "Unused endpoint: GET /tasks/handlers", "shortDescription": {"text": "Unused endpoint: GET /tasks/handlers"}, "fullDescription": {"text": "`agents/hyper-agents/worker/main.py` declares `GET /tasks/handlers` 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-125a1c875e635444", "name": "Unused endpoint: GET /handlers", "shortDescription": {"text": "Unused endpoint: GET /handlers"}, "fullDescription": {"text": "`agents/hyper-agents/worker/main.py` declares `GET /handlers` 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-f491f81fb7d50c4b", "name": "Unused endpoint: GET /tasks/history", "shortDescription": {"text": "Unused endpoint: GET /tasks/history"}, "fullDescription": {"text": "`agents/hyper-agents/worker/main.py` declares `GET /tasks/history` 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-d91a7845c35d0f8f", "name": "Unused endpoint: POST /rules", "shortDescription": {"text": "Unused endpoint: POST /rules"}, "fullDescription": {"text": "`agents/hyper-agents/observer/main.py` declares `POST /rules` 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-67db81ff589a2912", "name": "Unused endpoint: GET /alerts", "shortDescription": {"text": "Unused endpoint: GET /alerts"}, "fullDescription": {"text": "`agents/hyper-agents/observer/main.py` declares `GET /alerts` 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-79d7d0caab71b641", "name": "Unused endpoint: GET /alerts/history", "shortDescription": {"text": "Unused endpoint: GET /alerts/history"}, "fullDescription": {"text": "`agents/hyper-agents/observer/main.py` declares `GET /alerts/history` 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-150a51bfa1c53963", "name": "Unused endpoint: POST /events", "shortDescription": {"text": "Unused endpoint: POST /events"}, "fullDescription": {"text": "`agents/hyper-agents/observer/main.py` declares `POST /events` 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-a7b5a6cbd0c4c526", "name": "Unused endpoint: GET /swarm", "shortDescription": {"text": "Unused endpoint: GET /swarm"}, "fullDescription": {"text": "`agents/hyper-agents/observer/main.py` declares `GET /swarm` 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-fbfd93da1ce4e735", "name": "Unused endpoint: GET /swarm/history", "shortDescription": {"text": "Unused endpoint: GET /swarm/history"}, "fullDescription": {"text": "`agents/hyper-agents/observer/main.py` declares `GET /swarm/history` 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-d10e5c556d4bcff6", "name": "Unused endpoint: GET /capabilities", "shortDescription": {"text": "Unused endpoint: GET /capabilities"}, "fullDescription": {"text": "`agents/coderabbit-webhook/main.py` declares `GET /capabilities` 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/22689"}, "properties": {"repository": "welshDog/HyperCode-V2.4", "repoUrl": "https://github.com/welshDog/HyperCode-V2.4", "branch": "main"}, "results": [{"ruleId": "scanner-4ccf43d3a54a3f77", "level": "note", "message": {"text": "Possibly dead Python function: record_training"}, "properties": {"repobilityId": "634a2fc4b405f2bd", "scanner": "scanner-primary", "fingerprint": "4ccf43d3a54a3f77", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trae-agent-bridge.py:210"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b64e53006922f7f6", "level": "note", "message": {"text": "Possibly dead Python function: step_health_check"}, "properties": {"repobilityId": "b7caf8d5928ded9d", "scanner": "scanner-primary", "fingerprint": "b64e53006922f7f6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ops/hyper_brain_ops.py:65"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d72ca93b60fb2fcd", "level": "note", "message": {"text": "Possibly dead Python function: step_github_sync"}, "properties": {"repobilityId": "7f2ce0301fc3323d", "scanner": "scanner-primary", "fingerprint": "d72ca93b60fb2fcd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ops/hyper_brain_ops.py:106"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-afcdaf18e16bfde4", "level": "note", "message": {"text": "Possibly dead Python function: step_briefing_generation"}, "properties": {"repobilityId": "6826a79428239851", "scanner": "scanner-primary", "fingerprint": "afcdaf18e16bfde4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ops/hyper_brain_ops.py:163"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f1abc629763b0d31", "level": "note", "message": {"text": "Possibly dead Python function: step_vault_commit"}, "properties": {"repobilityId": "f3fbfe4ef8b65661", "scanner": "scanner-primary", "fingerprint": "f1abc629763b0d31", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ops/hyper_brain_ops.py:210"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2adae9b3a25b674f", "level": "note", "message": {"text": "Possibly dead Python function: step_discord_report"}, "properties": {"repobilityId": "c84c3980b5ffee76", "scanner": "scanner-primary", "fingerprint": "2adae9b3a25b674f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ops/hyper_brain_ops.py:269"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-525c79bf1b95e0e5", "level": "note", "message": {"text": "Possibly dead Python function: upload_design_file"}, "properties": {"repobilityId": "f2e8cac8487b91b1", "scanner": "scanner-primary", "fingerprint": "525c79bf1b95e0e5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/python_connection_code.py:39"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c8f4ff208deba1d1", "level": "note", "message": {"text": "Possibly dead Python function: parse_bandit"}, "properties": {"repobilityId": "e5f6ee46e159a39a", "scanner": "scanner-primary", "fingerprint": "c8f4ff208deba1d1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/scan/generate-dashboard.py:26"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee141d7d902da98c", "level": "note", "message": {"text": "Possibly dead Python function: parse_semgrep"}, "properties": {"repobilityId": "49533d1b41154c37", "scanner": "scanner-primary", "fingerprint": "ee141d7d902da98c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/scan/generate-dashboard.py:55"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0fafe91af0d2afbc", "level": "note", "message": {"text": "Possibly dead Python function: parse_gitleaks"}, "properties": {"repobilityId": "e8faddf8bc18660d", "scanner": "scanner-primary", "fingerprint": "0fafe91af0d2afbc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/scan/generate-dashboard.py:82"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3915703354fdf118", "level": "note", "message": {"text": "Possibly dead Python function: parse_pip_audit"}, "properties": {"repobilityId": "71143a4f520e1be5", "scanner": "scanner-primary", "fingerprint": "3915703354fdf118", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/scan/generate-dashboard.py:108"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-87be4a2296a82e2d", "level": "note", "message": {"text": "Possibly dead Python function: parse_npm_audit"}, "properties": {"repobilityId": "242dac13431de778", "scanner": "scanner-primary", "fingerprint": "87be4a2296a82e2d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/scan/generate-dashboard.py:137"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f97a83cdc2608e90", "level": "note", "message": {"text": "Possibly dead Python function: parse_trivy"}, "properties": {"repobilityId": "fb7c812be0da37a5", "scanner": "scanner-primary", "fingerprint": "f97a83cdc2608e90", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/scan/generate-dashboard.py:156"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27d461ef3cff85be", "level": "note", "message": {"text": "Possibly dead Python function: parse_licenses"}, "properties": {"repobilityId": "b3d53b5b8af09323", "scanner": "scanner-primary", "fingerprint": "27d461ef3cff85be", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/scan/generate-dashboard.py:186"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-184fc73fccec3976", "level": "note", "message": {"text": "Possibly dead Python function: parse_coverage"}, "properties": {"repobilityId": "a707c187ac464313", "scanner": "scanner-primary", "fingerprint": "184fc73fccec3976", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/scan/generate-dashboard.py:209"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df861c3b1218b63d", "level": "note", "message": {"text": "Possibly dead Python function: template_agent_registry_story"}, "properties": {"repobilityId": "0208bd04c6fe66dd", "scanner": "scanner-primary", "fingerprint": "df861c3b1218b63d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cli/jira/templates.py:4"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dd10b7e6262d56ab", "level": "note", "message": {"text": "Possibly dead Python function: template_event_bus_task"}, "properties": {"repobilityId": "f4eaf654b73c30d1", "scanner": "scanner-primary", "fingerprint": "dd10b7e6262d56ab", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cli/jira/templates.py:19"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b91a30cdeb10954", "level": "note", "message": {"text": "Possibly dead Python function: template_architect_epic"}, "properties": {"repobilityId": "1559bfc8ed21847f", "scanner": "scanner-primary", "fingerprint": "4b91a30cdeb10954", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cli/jira/templates.py:33"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8cf628c1fd513264", "level": "note", "message": {"text": "Possibly dead Python function: template_bug_example"}, "properties": {"repobilityId": "abfc04ff8b9ab25a", "scanner": "scanner-primary", "fingerprint": "8cf628c1fd513264", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cli/jira/templates.py:47"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f4d926f76c5419f3", "level": "note", "message": {"text": "Possibly dead Python function: start_mape_k"}, "properties": {"repobilityId": "4cc42fd311b38090", "scanner": "scanner-primary", "fingerprint": "f4d926f76c5419f3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/mape_k_bootstrap.py:25"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1114b261cbec8a17", "level": "note", "message": {"text": "Possibly dead Python function: add_intelligence_endpoints"}, "properties": {"repobilityId": "7e6411eaa549b604", "scanner": "scanner-primary", "fingerprint": "1114b261cbec8a17", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/intelligence_endpoints.py:34"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d2082524e5c0cf2b", "level": "note", "message": {"text": "Possibly dead Python function: heal_task"}, "properties": {"repobilityId": "0ad9f5ebf0bb05cb", "scanner": "scanner-primary", "fingerprint": "d2082524e5c0cf2b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/main.py:492"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-76ca4c3e5b564b7e", "level": "note", "message": {"text": "Possibly dead Python function: load_all"}, "properties": {"repobilityId": "f03e498dffb18e95", "scanner": "scanner-primary", "fingerprint": "76ca4c3e5b564b7e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/life_plans.py:67"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c6a8f56389b879c0", "level": "note", "message": {"text": "Possibly dead Python function: update_tech_stack"}, "properties": {"repobilityId": "138e7de2ad65f367", "scanner": "scanner-primary", "fingerprint": "c6a8f56389b879c0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/shared/project_memory.py:13"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6278b30834bc9302", "level": "note", "message": {"text": "Possibly dead Python function: record_decision"}, "properties": {"repobilityId": "073b468027a6dda6", "scanner": "scanner-primary", "fingerprint": "6278b30834bc9302", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/shared/project_memory.py:40"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0c1e6c45fa64cd3e", "level": "note", "message": {"text": "Possibly dead Python function: setup_mcp_routes"}, "properties": {"repobilityId": "a8e1f07d308b8f29", "scanner": "scanner-primary", "fingerprint": "0c1e6c45fa64cd3e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/shared/mcp_mixin.py:21"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ac7d3b6136a0527", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hyper-mission-system/server/server.js:447"}, "properties": {"repobilityId": "1df3a1b0eea5371d", "scanner": "scanner-primary", "fingerprint": "7ac7d3b6136a0527", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d149bf60e10964e7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 archive/ide-dashboard-0.1/src/app/components/CodeEditor.tsx:75"}, "properties": {"repobilityId": "7086477901a97d74", "scanner": "scanner-primary", "fingerprint": "d149bf60e10964e7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-2504c7afa000e5a1", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 archive/ide-dashboard-0.1/src/app/components/ui/chart.tsx:83"}, "properties": {"repobilityId": "4bf60ca9b4aef7a7", "scanner": "scanner-primary", "fingerprint": "2504c7afa000e5a1", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-ffbf0e9bfdef7a01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 archive/legacy/agents-dashboard-legacy/components/approval_widget.js:19"}, "properties": {"repobilityId": "82097ce664931267", "scanner": "scanner-primary", "fingerprint": "ffbf0e9bfdef7a01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2b646a2c3224a659", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/e2e/accessibility.spec.ts:15"}, "properties": {"repobilityId": "1c25ded36a449b55", "scanner": "scanner-primary", "fingerprint": "2b646a2c3224a659", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8ba1556d6cd138c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 dashboard/tests/e2e/dashboard.spec.ts:87"}, "properties": {"repobilityId": "d2115fb9bc7b8743", "scanner": "scanner-primary", "fingerprint": "8ba1556d6cd138c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-be0b421c620c7322", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 cli/index.js:81"}, "properties": {"repobilityId": "23cc6bbbef47469c", "scanner": "scanner-primary", "fingerprint": "be0b421c620c7322", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9d25992be8813dd3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/architect/src/main.ts:8"}, "properties": {"repobilityId": "358acd1ddf61fc3e", "scanner": "scanner-primary", "fingerprint": "9d25992be8813dd3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b47519374fc00674", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/dashboard/components/ApprovalModal.tsx:39"}, "properties": {"repobilityId": "1ec4ffc9b9517754", "scanner": "scanner-primary", "fingerprint": "b47519374fc00674", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-37ee4945d98caeaf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/dashboard/components/CognitiveUplink.tsx:138"}, "properties": {"repobilityId": "140f5aacea598778", "scanner": "scanner-primary", "fingerprint": "37ee4945d98caeaf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-30b90010a57209f0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 agents/dashboard/components/panels/ActiveAgentsPanel.tsx:69"}, "properties": {"repobilityId": "0764dab906f24ca3", "scanner": "scanner-primary", "fingerprint": "30b90010a57209f0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3918d0ff1e70140c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 agents/dashboard/components/panels/AgentLibrary.tsx:85"}, "properties": {"repobilityId": "72489ce0a36f2f22", "scanner": "scanner-primary", "fingerprint": "3918d0ff1e70140c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2b0018a2f7dd0533", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 agents/dashboard/components/panels/HealerMissionLog.tsx:121"}, "properties": {"repobilityId": "935ab249e1b59652", "scanner": "scanner-primary", "fingerprint": "2b0018a2f7dd0533", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-eef5744fa0a1c919", "level": "note", "message": {"text": "React Flow <Controls> without dark theming \u2014 agents/dashboard/components/canvas/HyperCanvas.tsx:96"}, "properties": {"repobilityId": "181ce4405ba11d4c", "scanner": "scanner-primary", "fingerprint": "eef5744fa0a1c919", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.controls.no-bg"]}}, {"ruleId": "scanner-267f8121a2ea3a2f", "level": "warning", "message": {"text": "Custom React Flow node registered without explicit width/height \u2014 agents/dashboard/components/canvas/HyperCanvas.tsx:54"}, "properties": {"repobilityId": "c37b7a12099231f9", "scanner": "scanner-primary", "fingerprint": "267f8121a2ea3a2f", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.rfnode.no-dims"]}}, {"ruleId": "scanner-0813a5a1e10f39e1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/provision-access/index.ts:140"}, "properties": {"repobilityId": "97c41a571828e997", "scanner": "scanner-primary", "fingerprint": "0813a5a1e10f39e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-65eb99b5aa57815b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/sync-tokens-to-v24/index.ts:119"}, "properties": {"repobilityId": "18c81939c9cc3c00", "scanner": "scanner-primary", "fingerprint": "65eb99b5aa57815b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-300078f1aa5d8251", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/e2e-html/trace/sw.bundle.js:1"}, "properties": {"repobilityId": "7c3f0bb210f0d14e", "scanner": "scanner-primary", "fingerprint": "300078f1aa5d8251", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-509bfaae78dc37e3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/e2e-html/trace/uiMode.CQJ9SCIQ.js:4"}, "properties": {"repobilityId": "8fc8c37d163bae49", "scanner": "scanner-primary", "fingerprint": "509bfaae78dc37e3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a1e9d0729eb565a1", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:50"}, "properties": {"repobilityId": "97a6098601415e14", "scanner": "scanner-primary", "fingerprint": "a1e9d0729eb565a1", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-76423d167130d9b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 memstream/src/memstream.ts:193"}, "properties": {"repobilityId": "291cfda3b5da458f", "scanner": "scanner-primary", "fingerprint": "76423d167130d9b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9440a10687e8a44e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 memstream/src/logger.ts:71"}, "properties": {"repobilityId": "cb014718fdfa2183", "scanner": "scanner-primary", "fingerprint": "9440a10687e8a44e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-29587e613255c4a2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hyperfocus-Zone-Support-Hub-main/hyperfocuszone.com-Support-Hub--main/sw.js:19"}, "properties": {"repobilityId": "4370fca4d478d2c6", "scanner": "scanner-primary", "fingerprint": "29587e613255c4a2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0261fae5771a19fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hyperfocus-Zone-Support-Hub-main/hyperfocuszone.com-Support-Hub--main/js/main.js:16"}, "properties": {"repobilityId": "ce3fb6d034d7151e", "scanner": "scanner-primary", "fingerprint": "0261fae5771a19fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97b4bf3474f1e000", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:111"}, "properties": {"repobilityId": "514cfb14b18021e2", "scanner": "scanner-primary", "fingerprint": "97b4bf3474f1e000", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8f27738facf0d757", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 quantum-compiler/server.js:187"}, "properties": {"repobilityId": "c918bf6ef493fbd5", "scanner": "scanner-primary", "fingerprint": "8f27738facf0d757", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b4fd9d6132c4b94", "level": "warning", "message": {"text": "Privileged port 12 in use"}, "properties": {"repobilityId": "65e7eefa33f2def4", "scanner": "scanner-primary", "fingerprint": "6b4fd9d6132c4b94", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/life-plans/test-agent.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4f133620a7de3322", "level": "warning", "message": {"text": "Privileged port 6 in use"}, "properties": {"repobilityId": "888a3c205ea7334c", "scanner": "scanner-primary", "fingerprint": "4f133620a7de3322", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-weekly.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-971e81a22f9bfc6f", "level": "warning", "message": {"text": "Privileged port 2 in use"}, "properties": {"repobilityId": "755b04866010e843", "scanner": "scanner-primary", "fingerprint": "971e81a22f9bfc6f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-security.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f9b77d6246514ff6", "level": "warning", "message": {"text": "Privileged port 3 in use"}, "properties": {"repobilityId": "261b7b1c6a18d412", "scanner": "scanner-primary", "fingerprint": "f9b77d6246514ff6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b4da3b5104c348e8", "level": "warning", "message": {"text": "Dockerfile runs as root: hyper-mission-system/client/Dockerfile"}, "properties": {"repobilityId": "da87de438790ea0a", "scanner": "scanner-primary", "fingerprint": "b4da3b5104c348e8", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-c6de82030fa4d09a", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "properties": {"repobilityId": "e63ab0256127b605", "scanner": "scanner-primary", "fingerprint": "c6de82030fa4d09a", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyper-mission-system/client/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-6e668cecc9390eb3", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: nginx:1.27-alpine"}, "properties": {"repobilityId": "3e098da61cf21610", "scanner": "scanner-primary", "fingerprint": "6e668cecc9390eb3", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyper-mission-system/client/Dockerfile"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-5797e46ea48f72c7", "level": "warning", "message": {"text": "Dockerfile runs as root: hyper-mission-system/server/Dockerfile"}, "properties": {"repobilityId": "09faa47b4fee803f", "scanner": "scanner-primary", "fingerprint": "5797e46ea48f72c7", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-7fbd88439052e2ca", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "properties": {"repobilityId": "cee2708c62a6db23", "scanner": "scanner-primary", "fingerprint": "7fbd88439052e2ca", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyper-mission-system/server/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-635788a0f548fa81", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "40e102b0f1c76eb9", "scanner": "scanner-primary", "fingerprint": "635788a0f548fa81", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "monitoring/alert-webhook/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-635788a0f548fa81", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "d40304b8cbdb7ca3", "scanner": "scanner-primary", "fingerprint": "635788a0f548fa81", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "monitoring/alert-webhook/Dockerfile"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-fa3ef42e1ffc4185", "level": "warning", "message": {"text": "Dockerfile runs as root: docs/notes/Dockerfile"}, "properties": {"repobilityId": "d4ffe4bce6db8090", "scanner": "scanner-primary", "fingerprint": "fa3ef42e1ffc4185", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-5ad49b1e5ab3b281", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "a0520e0bf66ead64", "scanner": "scanner-primary", "fingerprint": "5ad49b1e5ab3b281", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/notes/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8477bbb060c343c4", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "b01852034f1184fb", "scanner": "scanner-primary", "fingerprint": "8477bbb060c343c4", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Hyper-Agents-Box/hyper-agents-box/docker/Dockerfile"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-8477bbb060c343c4", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "3aceffd9d550d5ee", "scanner": "scanner-primary", "fingerprint": "8477bbb060c343c4", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Hyper-Agents-Box/hyper-agents-box/docker/Dockerfile"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-d928a0e70c6d7e2b", "level": "warning", "message": {"text": "Dockerfile runs as root: templates/mcp-plugin-python/Dockerfile"}, "properties": {"repobilityId": "ac7626ce3f2a76b3", "scanner": "scanner-primary", "fingerprint": "d928a0e70c6d7e2b", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-194a79ec63fe9e7c", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.13-slim"}, "properties": {"repobilityId": "b780a1aa1a29cac7", "scanner": "scanner-primary", "fingerprint": "194a79ec63fe9e7c", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "templates/mcp-plugin-python/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bbb45fca4b7c1578", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11.8-slim"}, "properties": {"repobilityId": "84033df036401b3c", "scanner": "scanner-primary", "fingerprint": "bbb45fca4b7c1578", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "templates/agent-python/Dockerfile"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-bbb45fca4b7c1578", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11.8-slim"}, "properties": {"repobilityId": "81a3cd125bb6881f", "scanner": "scanner-primary", "fingerprint": "bbb45fca4b7c1578", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "templates/agent-python/Dockerfile"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-c43688f82d0de90c", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "979ec6b977e02227", "scanner": "scanner-primary", "fingerprint": "c43688f82d0de90c", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/01-frontend-specialist/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-c43688f82d0de90c", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "8c89ff2a13e506c5", "scanner": "scanner-primary", "fingerprint": "c43688f82d0de90c", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/01-frontend-specialist/Dockerfile"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-c092d684d144415a", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "c12487c9f3f84936", "scanner": "scanner-primary", "fingerprint": "c092d684d144415a", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b5d30187a92154d2", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "c89b81325f2694a2", "scanner": "scanner-primary", "fingerprint": "b5d30187a92154d2", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-auto-assistant/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e263dc8b551072e7", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "0659ae46482985d1", "scanner": "scanner-primary", "fingerprint": "e263dc8b551072e7", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/nemoclaw-agent/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-900209b04fbfc087", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "322aa50a98d9f8a5", "scanner": "scanner-primary", "fingerprint": "900209b04fbfc087", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/throttle-agent/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b322011379b26d2", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "eaaecf03ceda20f8", "scanner": "scanner-primary", "fingerprint": "2b322011379b26d2", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/09-tips-tricks-writer/Dockerfile"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-2b322011379b26d2", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "abf68856ece61224", "scanner": "scanner-primary", "fingerprint": "2b322011379b26d2", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/09-tips-tricks-writer/Dockerfile"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-c2817080a07587e1", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "44efa54ebdedc052", "scanner": "scanner-primary", "fingerprint": "c2817080a07587e1", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/03-database-architect/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-c2817080a07587e1", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "eff87138b08fbfc1", "scanner": "scanner-primary", "fingerprint": "c2817080a07587e1", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/03-database-architect/Dockerfile"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-2fd9702c432eb696", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie"}, "properties": {"repobilityId": "54ae970942a3d88b", "scanner": "scanner-primary", "fingerprint": "2fd9702c432eb696", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/architect/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-2fd9702c432eb696", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie"}, "properties": {"repobilityId": "6e09d99ede5e0f81", "scanner": "scanner-primary", "fingerprint": "2fd9702c432eb696", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/architect/Dockerfile"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-d1041549877939a6", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie"}, "properties": {"repobilityId": "85790a3499b05c67", "scanner": "scanner-primary", "fingerprint": "d1041549877939a6", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/worker/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-d1041549877939a6", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie"}, "properties": {"repobilityId": "cd5a0e626da6ca0b", "scanner": "scanner-primary", "fingerprint": "d1041549877939a6", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/worker/Dockerfile"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-e4a9489bfa15dba6", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie"}, "properties": {"repobilityId": "c413338503dcaf7d", "scanner": "scanner-primary", "fingerprint": "e4a9489bfa15dba6", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/observer/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-e4a9489bfa15dba6", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-trixie"}, "properties": {"repobilityId": "b8efcc7126890d97", "scanner": "scanner-primary", "fingerprint": "e4a9489bfa15dba6", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/observer/Dockerfile"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-f8bbc8570e945388", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "237ae7e9a0a47d4c", "scanner": "scanner-primary", "fingerprint": "f8bbc8570e945388", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/coderabbit-webhook/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-26570667979f9d15", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "properties": {"repobilityId": "9a88505cffbd5fb6", "scanner": "scanner-primary", "fingerprint": "26570667979f9d15", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/architect/Dockerfile"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-26570667979f9d15", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "properties": {"repobilityId": "5437ccd269551b1e", "scanner": "scanner-primary", "fingerprint": "26570667979f9d15", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/architect/Dockerfile"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-0f94ae7780411a53", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "properties": {"repobilityId": "613b4f94618e3846", "scanner": "scanner-primary", "fingerprint": "0f94ae7780411a53", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/dashboard/Dockerfile"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-0f94ae7780411a53", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "properties": {"repobilityId": "b00aa7d0ce1ef62a", "scanner": "scanner-primary", "fingerprint": "0f94ae7780411a53", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/dashboard/Dockerfile"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-0f94ae7780411a53", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "properties": {"repobilityId": "cbab755f1c2441d7", "scanner": "scanner-primary", "fingerprint": "0f94ae7780411a53", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/dashboard/Dockerfile"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-a437b71b0f255e38", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "38692fc8855dcead", "scanner": "scanner-primary", "fingerprint": "a437b71b0f255e38", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-a437b71b0f255e38", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "1443e124d13114a9", "scanner": "scanner-primary", "fingerprint": "a437b71b0f255e38", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/Dockerfile"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-c6fe8c98437dd673", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "cfb38b333e8e3e7c", "scanner": "scanner-primary", "fingerprint": "c6fe8c98437dd673", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/crew-orchestrator/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-c6fe8c98437dd673", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "f64dcc0d5c6dc33b", "scanner": "scanner-primary", "fingerprint": "c6fe8c98437dd673", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/crew-orchestrator/Dockerfile"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-036c67193082f620", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "b57a00b2a9e629ac", "scanner": "scanner-primary", "fingerprint": "036c67193082f620", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/base-agent/Dockerfile"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-30c750ce85dafbe7", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "f8ed2c8822ed7115", "scanner": "scanner-primary", "fingerprint": "30c750ce85dafbe7", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/super-hyper-broski-agent/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-be593abfd542876d", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "bc2e52495d401b22", "scanner": "scanner-primary", "fingerprint": "be593abfd542876d", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-factory/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c2e1aef1f8811555", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "ab8155e2ea6241d1", "scanner": "scanner-primary", "fingerprint": "c2e1aef1f8811555", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/06-security-engineer/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-c2e1aef1f8811555", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "ae597eab78fffaf1", "scanner": "scanner-primary", "fingerprint": "c2e1aef1f8811555", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/06-security-engineer/Dockerfile"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-01790fafef67b811", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "21f7f966e5560577", "scanner": "scanner-primary", "fingerprint": "01790fafef67b811", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/test-agent/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-02fe841ed6145e37", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "0a53c38046da2eb3", "scanner": "scanner-primary", "fingerprint": "02fe841ed6145e37", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-bot/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2160b18499796efc", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "ecb03a3a83cb522b", "scanner": "scanner-primary", "fingerprint": "2160b18499796efc", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/08-project-strategist/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-2160b18499796efc", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "750e6cb37657c583", "scanner": "scanner-primary", "fingerprint": "2160b18499796efc", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/08-project-strategist/Dockerfile"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-6147e00951f16d78", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "d56b7bcb1cb802f6", "scanner": "scanner-primary", "fingerprint": "6147e00951f16d78", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-pets-bridge/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2dd5c9f17badd39b", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "3da58b08ea904f0c", "scanner": "scanner-primary", "fingerprint": "2dd5c9f17badd39b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyperhealth/Dockerfile"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-bcace2f7aa48dea0", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "1df4b674a5977702", "scanner": "scanner-primary", "fingerprint": "bcace2f7aa48dea0", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/02-backend-specialist/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-bcace2f7aa48dea0", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "a28e412b5ae76553", "scanner": "scanner-primary", "fingerprint": "bcace2f7aa48dea0", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/02-backend-specialist/Dockerfile"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-01d2ce03e0653eb0", "level": "warning", "message": {"text": "Docker base image uses a mutable or implicit tag: agent-base:latest"}, "properties": {"repobilityId": "4a6713e40be5bb5a", "scanner": "scanner-primary", "fingerprint": "01d2ce03e0653eb0", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/coder/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-8199c7460f583018", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "b821697aee4a1fa5", "scanner": "scanner-primary", "fingerprint": "8199c7460f583018", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/session-snapshot/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8199c7460f583018", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "39faf26521bc81d9", "scanner": "scanner-primary", "fingerprint": "8199c7460f583018", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/session-snapshot/Dockerfile"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-ef40f9b6d5b2d4df", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "542b27ba5d654a7d", "scanner": "scanner-primary", "fingerprint": "ef40f9b6d5b2d4df", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/05-devops-engineer/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-ef40f9b6d5b2d4df", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "ede5f6051b86dd5b", "scanner": "scanner-primary", "fingerprint": "ef40f9b6d5b2d4df", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/05-devops-engineer/Dockerfile"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-ed78cb83228504f6", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "6a4e755ec21d165d", "scanner": "scanner-primary", "fingerprint": "ed78cb83228504f6", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/business/project-strategist/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eeeacf017e7e92e4", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "426e1ae1dec96b45", "scanner": "scanner-primary", "fingerprint": "eeeacf017e7e92e4", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/goal_keeper/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-75e7103c51770ad1", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "0bae9f0ff26b8ced", "scanner": "scanner-primary", "fingerprint": "75e7103c51770ad1", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/07-system-architect/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-75e7103c51770ad1", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "e849234c064807e9", "scanner": "scanner-primary", "fingerprint": "75e7103c51770ad1", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/07-system-architect/Dockerfile"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-fcfe2fa93ea1b111", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "a45eafd5c77e6781", "scanner": "scanner-primary", "fingerprint": "fcfe2fa93ea1b111", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-split-agent/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fcfe2fa93ea1b111", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "a78bdb902045a07e", "scanner": "scanner-primary", "fingerprint": "fcfe2fa93ea1b111", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-split-agent/Dockerfile"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-c6c20467840060bb", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "64e4d12c1171ebc1", "scanner": "scanner-primary", "fingerprint": "c6c20467840060bb", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-registry/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f7fba42df1356ff", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "133f61b3ce12cb7b", "scanner": "scanner-primary", "fingerprint": "2f7fba42df1356ff", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/04-qa-engineer/Dockerfile"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-2f7fba42df1356ff", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "5fcd46ccd6a2733b", "scanner": "scanner-primary", "fingerprint": "2f7fba42df1356ff", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/04-qa-engineer/Dockerfile"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-8933f9b9ecdbbf0c", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "53e5522bd9003dec", "scanner": "scanner-primary", "fingerprint": "8933f9b9ecdbbf0c", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/broski-discord-bot-skill/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3dd5b96d004da45e", "level": "warning", "message": {"text": "Dockerfile runs as root: services/agent-spawner/Dockerfile"}, "properties": {"repobilityId": "b4c0287db3cda1fe", "scanner": "scanner-primary", "fingerprint": "3dd5b96d004da45e", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-7076920e81c62230", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "ff003bac7a260af8", "scanner": "scanner-primary", "fingerprint": "7076920e81c62230", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/agent-spawner/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9898d910d73fdf4c", "level": "warning", "message": {"text": "Dockerfile runs as root: services/model-gateway/Dockerfile"}, "properties": {"repobilityId": "830326d67ea207aa", "scanner": "scanner-primary", "fingerprint": "9898d910d73fdf4c", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-e47a7c407fc8608e", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-bullseye"}, "properties": {"repobilityId": "3dd15efc9f4e6b1a", "scanner": "scanner-primary", "fingerprint": "e47a7c407fc8608e", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/model-gateway/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-44b39f5d73089b3d", "level": "warning", "message": {"text": "Dockerfile runs as root: services/hyperhealth/Dockerfile"}, "properties": {"repobilityId": "0c564efa8d183705", "scanner": "scanner-primary", "fingerprint": "44b39f5d73089b3d", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-0b52e15f69aacb5f", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "ea9e833fe679c6fc", "scanner": "scanner-primary", "fingerprint": "0b52e15f69aacb5f", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/hyperhealth/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9b9f793537d0c7d8", "level": "warning", "message": {"text": "Dockerfile runs as root: services/hypercode-mcp-server/Dockerfile"}, "properties": {"repobilityId": "16f1e2c1372642c0", "scanner": "scanner-primary", "fingerprint": "9b9f793537d0c7d8", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-df10733d01be5381", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "20d3b3f9623c18d4", "scanner": "scanner-primary", "fingerprint": "df10733d01be5381", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/hypercode-mcp-server/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e1de3efae27643c6", "level": "warning", "message": {"text": "Dockerfile runs as root: services/mcp-rest-adapter/Dockerfile"}, "properties": {"repobilityId": "39abe2995f7b6e0d", "scanner": "scanner-primary", "fingerprint": "e1de3efae27643c6", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-bc01a6f510dd003a", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "876c828669fbc6b4", "scanner": "scanner-primary", "fingerprint": "bc01a6f510dd003a", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/mcp-rest-adapter/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a153050a4c6832a8", "level": "warning", "message": {"text": "Dockerfile runs as root: hyperstudio-platform/Dockerfile"}, "properties": {"repobilityId": "2d46df22020703a1", "scanner": "scanner-primary", "fingerprint": "a153050a4c6832a8", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-ad231564304c8958", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04"}, "properties": {"repobilityId": "b7cff2e665994a5b", "scanner": "scanner-primary", "fingerprint": "ad231564304c8958", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyperstudio-platform/Dockerfile"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-d0501406517f18d3", "level": "warning", "message": {"text": "Dockerfile runs as root: tools/roundtrip-worker/Dockerfile"}, "properties": {"repobilityId": "10c91b372c5d4e56", "scanner": "scanner-primary", "fingerprint": "d0501406517f18d3", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-5e3d9f45f9190828", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.21-alpine"}, "properties": {"repobilityId": "1d3710813ff8e5ab", "scanner": "scanner-primary", "fingerprint": "5e3d9f45f9190828", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/roundtrip-worker/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-549e57974cbbe039", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: alpine:3.19"}, "properties": {"repobilityId": "7d4b510dd1ee83be", "scanner": "scanner-primary", "fingerprint": "549e57974cbbe039", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/roundtrip-worker/Dockerfile"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-714c31ca9f474ae6", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "6a1668f947166d53", "scanner": "scanner-primary", "fingerprint": "714c31ca9f474ae6", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-714c31ca9f474ae6", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "de6acea2c549f154", "scanner": "scanner-primary", "fingerprint": "714c31ca9f474ae6", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/Dockerfile"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-c2940084a75f25e3", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20.20.2-alpine"}, "properties": {"repobilityId": "ce8bfe41664a375a", "scanner": "scanner-primary", "fingerprint": "c2940084a75f25e3", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard-rebuild/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c2940084a75f25e3", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20.20.2-alpine"}, "properties": {"repobilityId": "905eee1b4b73fd7d", "scanner": "scanner-primary", "fingerprint": "c2940084a75f25e3", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard-rebuild/Dockerfile"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-512adba7ef010949", "level": "warning", "message": {"text": "Dockerfile runs as root: discord-bot/Dockerfile"}, "properties": {"repobilityId": "47a16a4bd28d8149", "scanner": "scanner-primary", "fingerprint": "512adba7ef010949", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-fbfa39a6cdff624c", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim"}, "properties": {"repobilityId": "972b7fc69a4ddc73", "scanner": "scanner-primary", "fingerprint": "fbfa39a6cdff624c", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "discord-bot/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9159cfd0bdaf5bd2", "level": "warning", "message": {"text": "Dockerfile runs as root: quantum-compiler/Dockerfile"}, "properties": {"repobilityId": "3963f6ff97c4a09b", "scanner": "scanner-primary", "fingerprint": "9159cfd0bdaf5bd2", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-1385f23fd5f871c5", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.22-alpine"}, "properties": {"repobilityId": "3e0efa4d3998dcb8", "scanner": "scanner-primary", "fingerprint": "1385f23fd5f871c5", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "quantum-compiler/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8b02d768da6993a0", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: alpine:3.20"}, "properties": {"repobilityId": "56367a4b2dcc1292", "scanner": "scanner-primary", "fingerprint": "8b02d768da6993a0", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "quantum-compiler/Dockerfile"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-dcd895ea3688e80a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in broski-command-centre.html:1035"}, "properties": {"repobilityId": "cb742e3d8be04519", "scanner": "scanner-primary", "fingerprint": "dcd895ea3688e80a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "broski-command-centre.html"}, "region": {"startLine": 1035}}}]}, {"ruleId": "scanner-a3fb538273c6604d", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in hyper-mission-system/server/server.js:88"}, "properties": {"repobilityId": "5227478a4d522920", "scanner": "scanner-primary", "fingerprint": "a3fb538273c6604d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyper-mission-system/server/server.js"}, "region": {"startLine": 88}}}]}, {"ruleId": "scanner-cdd53463a5a4f072", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in archive/ide-dashboard-0.1/src/app/components/CodeEditor.tsx:75"}, "properties": {"repobilityId": "c3403b734d9931fb", "scanner": "scanner-primary", "fingerprint": "cdd53463a5a4f072", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "archive/ide-dashboard-0.1/src/app/components/CodeEditor.tsx"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-0c7576e0bbc94d8b", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in archive/ide-dashboard-0.1/src/app/components/ui/chart.tsx:83"}, "properties": {"repobilityId": "7f1ff57edeb3c733", "scanner": "scanner-primary", "fingerprint": "0c7576e0bbc94d8b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "archive/ide-dashboard-0.1/src/app/components/ui/chart.tsx"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-6320638c7bac4eb6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in archive/legacy/agents-dashboard-legacy/index.html:299"}, "properties": {"repobilityId": "e88d907e70e92823", "scanner": "scanner-primary", "fingerprint": "6320638c7bac4eb6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "archive/legacy/agents-dashboard-legacy/index.html"}, "region": {"startLine": 299}}}]}, {"ruleId": "scanner-25a31e5663e2fa8c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in archive/legacy/agents-dashboard-legacy/components/approval_widget.js:86"}, "properties": {"repobilityId": "d9c30e923e6beee2", "scanner": "scanner-primary", "fingerprint": "25a31e5663e2fa8c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "archive/legacy/agents-dashboard-legacy/components/approval_widget.js"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-fb2247ba8ea3c6f2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in broski-business-agents/BROski Business Agents.html:872"}, "properties": {"repobilityId": "6d39912dcccb0865", "scanner": "scanner-primary", "fingerprint": "fb2247ba8ea3c6f2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "broski-business-agents/BROski Business Agents.html"}, "region": {"startLine": 872}}}]}, {"ruleId": "scanner-a3c29264d496c3b4", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/comprehensive_health_check.py:8"}, "properties": {"repobilityId": "c1b69dbb3299a7c2", "scanner": "scanner-primary", "fingerprint": "a3c29264d496c3b4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/comprehensive_health_check.py"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-ffb85459828db027", "level": "error", "message": {"text": "Possible secret in scripts/link_discord_user.py"}, "properties": {"repobilityId": "1c7b733715ce06a9", "scanner": "scanner-primary", "fingerprint": "ffb85459828db027", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/link_discord_user.py"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-9b5d32d733c2b5ce", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/health_check_controller.py:19"}, "properties": {"repobilityId": "d48b7843cbdffed0", "scanner": "scanner-primary", "fingerprint": "9b5d32d733c2b5ce", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/health_check_controller.py"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-3d420b8cea977961", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in scripts/smoke_test.py:13"}, "properties": {"repobilityId": "dc3135933c3992b9", "scanner": "scanner-primary", "fingerprint": "3d420b8cea977961", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke_test.py"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-9957177f81a8db41", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in scripts/smoke_test_internal.py:12"}, "properties": {"repobilityId": "ce1cfcf1ced1b328", "scanner": "scanner-primary", "fingerprint": "9957177f81a8db41", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke_test_internal.py"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-a6209c2413b0a9d3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/e2e/start-dashboard.mjs:1"}, "properties": {"repobilityId": "fa3d8c4676ced094", "scanner": "scanner-primary", "fingerprint": "a6209c2413b0a9d3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/start-dashboard.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33514ace1522cf86", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in k8s/patch_deployments.py:6"}, "properties": {"repobilityId": "1498e0324fe56aed", "scanner": "scanner-primary", "fingerprint": "33514ace1522cf86", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "k8s/patch_deployments.py"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-afb843f55b541f65", "level": "error", "message": {"text": "Possible secret in k8s/README.md"}, "properties": {"repobilityId": "99a08a9acd8e935a", "scanner": "scanner-primary", "fingerprint": "afb843f55b541f65", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "k8s/README.md"}, "region": {"startLine": 180}}}]}, {"ruleId": "scanner-cbe3c384ea1f42bd", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in agents/dashboard/__tests__/api.broski.test.ts:11"}, "properties": {"repobilityId": "8640f976de66e258", "scanner": "scanner-primary", "fingerprint": "cbe3c384ea1f42bd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/dashboard/__tests__/api.broski.test.ts"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-f267e710b23c0642", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in agents/dashboard/scripts/start-standalone.mjs:1"}, "properties": {"repobilityId": "a52dc58f8ef96e77", "scanner": "scanner-primary", "fingerprint": "f267e710b23c0642", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/dashboard/scripts/start-standalone.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ddecabe11f554f71", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in agents/dashboard/scripts/verify-standalone.mjs:4"}, "properties": {"repobilityId": "19be9a5a9bb5253b", "scanner": "scanner-primary", "fingerprint": "ddecabe11f554f71", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/dashboard/scripts/verify-standalone.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-bb38452628851610", "level": "error", "message": {"text": "Possible secret in reports/security/bandit-report-fixed.json"}, "properties": {"repobilityId": "1f961d8e5e3a51d2", "scanner": "scanner-primary", "fingerprint": "bb38452628851610", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/security/bandit-report-fixed.json"}, "region": {"startLine": 6496}}}]}, {"ruleId": "scanner-bb38452628851610", "level": "error", "message": {"text": "Possible secret in reports/security/bandit-report-fixed.json"}, "properties": {"repobilityId": "1f961d8e5e3a51d2", "scanner": "scanner-primary", "fingerprint": "bb38452628851610", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/security/bandit-report-fixed.json"}, "region": {"startLine": 6541}}}]}, {"ruleId": "scanner-bb38452628851610", "level": "error", "message": {"text": "Possible secret in reports/security/bandit-report-fixed.json"}, "properties": {"repobilityId": "1f961d8e5e3a51d2", "scanner": "scanner-primary", "fingerprint": "bb38452628851610", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/security/bandit-report-fixed.json"}, "region": {"startLine": 7065}}}]}, {"ruleId": "scanner-dd1b81fb2c33b6e6", "level": "error", "message": {"text": "Possible secret in reports/security/bandit-report.json"}, "properties": {"repobilityId": "958312208d915f40", "scanner": "scanner-primary", "fingerprint": "dd1b81fb2c33b6e6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/security/bandit-report.json"}, "region": {"startLine": 6536}}}]}, {"ruleId": "scanner-dd1b81fb2c33b6e6", "level": "error", "message": {"text": "Possible secret in reports/security/bandit-report.json"}, "properties": {"repobilityId": "958312208d915f40", "scanner": "scanner-primary", "fingerprint": "dd1b81fb2c33b6e6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/security/bandit-report.json"}, "region": {"startLine": 6581}}}]}, {"ruleId": "scanner-dd1b81fb2c33b6e6", "level": "error", "message": {"text": "Possible secret in reports/security/bandit-report.json"}, "properties": {"repobilityId": "958312208d915f40", "scanner": "scanner-primary", "fingerprint": "dd1b81fb2c33b6e6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/security/bandit-report.json"}, "region": {"startLine": 7105}}}]}, {"ruleId": "scanner-d8f052079188f45f", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in reports/security/bandit-report.json:6506"}, "properties": {"repobilityId": "9f5e5c1cb33720ec", "scanner": "scanner-primary", "fingerprint": "d8f052079188f45f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/security/bandit-report.json"}, "region": {"startLine": 6506}}}]}, {"ruleId": "scanner-b243d063aa940544", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in reports/security/bandit-report.json:6158"}, "properties": {"repobilityId": "abbfced9d867674d", "scanner": "scanner-primary", "fingerprint": "b243d063aa940544", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/security/bandit-report.json"}, "region": {"startLine": 6158}}}]}, {"ruleId": "scanner-c73b1676dd1bc783", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in reports/security/trivy-super-hyper-broski-agent.json:7306"}, "properties": {"repobilityId": "7f05e208d4137928", "scanner": "scanner-primary", "fingerprint": "c73b1676dd1bc783", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/security/trivy-super-hyper-broski-agent.json"}, "region": {"startLine": 7306}}}]}, {"ruleId": "scanner-c858a25c8a0dd49f", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in reports/e2e-html/index.html:58"}, "properties": {"repobilityId": "529f8e6f64096d21", "scanner": "scanner-primary", "fingerprint": "c858a25c8a0dd49f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/e2e-html/index.html"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-0947a1acbf7e474b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/index.html:57"}, "properties": {"repobilityId": "ce240b0e992f5bcc", "scanner": "scanner-primary", "fingerprint": "0947a1acbf7e474b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/e2e-html/index.html"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-1be3c166b4dc0231", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in reports/e2e-html/trace/sw.bundle.js:1"}, "properties": {"repobilityId": "3cb005ae3af36258", "scanner": "scanner-primary", "fingerprint": "1be3c166b4dc0231", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/e2e-html/trace/sw.bundle.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b65fef85f5c1d278", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/trace/index.html:35"}, "properties": {"repobilityId": "7cd0f3896c5f460c", "scanner": "scanner-primary", "fingerprint": "b65fef85f5c1d278", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/e2e-html/trace/index.html"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-af1d9acd8ab57ba8", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:50"}, "properties": {"repobilityId": "98c2e2c0151182a9", "scanner": "scanner-primary", "fingerprint": "af1d9acd8ab57ba8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-290797fb911c4e16", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:49"}, "properties": {"repobilityId": "ba42bbc90ad45679", "scanner": "scanner-primary", "fingerprint": "290797fb911c4e16", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-8b5c5ce7b8f3a5fa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/e2e-html/trace/assets/codeMirrorModule-a5XoALAZ.js:31"}, "properties": {"repobilityId": "31d4f0368681bab9", "scanner": "scanner-primary", "fingerprint": "8b5c5ce7b8f3a5fa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/e2e-html/trace/assets/codeMirrorModule-a5XoALAZ.js"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-1093d56791f586b7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in quantum-compiler/index.html:296"}, "properties": {"repobilityId": "394aeb0bf859d3be", "scanner": "scanner-primary", "fingerprint": "1093d56791f586b7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "quantum-compiler/index.html"}, "region": {"startLine": 296}}}]}, {"ruleId": "scanner-a591af0209a61812", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in quantum-compiler/main.go:113"}, "properties": {"repobilityId": "013b8a17b8404b4a", "scanner": "scanner-primary", "fingerprint": "a591af0209a61812", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "quantum-compiler/main.go"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-df00aca489fa601d", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in quantum-compiler/server.js:91"}, "properties": {"repobilityId": "d7443f01be512e43", "scanner": "scanner-primary", "fingerprint": "df00aca489fa601d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "quantum-compiler/server.js"}, "region": {"startLine": 91}}}]}, {"ruleId": "scanner-c0c3cc63a7d08280", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "7e7c7f3bb9c0b134", "scanner": "scanner-primary", "fingerprint": "c0c3cc63a7d08280", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/broski-discord-bot-skill/.github/workflows/ci-cd.yml"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-557266578676ee0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ea4b5fd78dc1d86f", "scanner": "scanner-primary", "fingerprint": "557266578676ee0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/accessibility.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-557266578676ee0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c2fc5eb5f3db4320", "scanner": "scanner-primary", "fingerprint": "557266578676ee0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/accessibility.yml"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-557266578676ee0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b93b2fe6082a9eee", "scanner": "scanner-primary", "fingerprint": "557266578676ee0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/accessibility.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-557266578676ee0a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aba3db4334d6113d", "scanner": "scanner-primary", "fingerprint": "557266578676ee0a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/accessibility.yml"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-f9b912c6e92598a0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7ed00376c5fe787a", "scanner": "scanner-primary", "fingerprint": "f9b912c6e92598a0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/performance.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-f9b912c6e92598a0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5119ac5e0306f4f9", "scanner": "scanner-primary", "fingerprint": "f9b912c6e92598a0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/performance.yml"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-4aaaf3f04630c901", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "55679ad2410cb08c", "scanner": "scanner-primary", "fingerprint": "4aaaf3f04630c901", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/health.yml"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-4aaaf3f04630c901", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b22f4ca2da69e121", "scanner": "scanner-primary", "fingerprint": "4aaaf3f04630c901", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/health.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ae53d87a782c13b", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6a9a076047f56f7e", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fdf0d8e00725be04", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fdf0d8e00725be04", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ae53d87a782c13b", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6a9a076047f56f7e", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fdf0d8e00725be04", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ae53d87a782c13b", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6a9a076047f56f7e", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fdf0d8e00725be04", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 111}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "83f59a3388372abd", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 129}}}]}, {"ruleId": "scanner-4f17d1c9d085b626", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "83f59a3388372abd", "scanner": "scanner-primary", "fingerprint": "4f17d1c9d085b626", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-c34edde99fd9ad83", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3980e8f8d300ca11", "scanner": "scanner-primary", "fingerprint": "c34edde99fd9ad83", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-push.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f2ece2e3fb3fc198", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "53b7f32a19e6cef7", "scanner": "scanner-primary", "fingerprint": "f2ece2e3fb3fc198", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-js.yml"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-f2ece2e3fb3fc198", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fa9526ed84bd31e1", "scanner": "scanner-primary", "fingerprint": "f2ece2e3fb3fc198", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-js.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-f2ece2e3fb3fc198", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a4a70e609aa740bb", "scanner": "scanner-primary", "fingerprint": "f2ece2e3fb3fc198", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-js.yml"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-f2ece2e3fb3fc198", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a4a70e609aa740bb", "scanner": "scanner-primary", "fingerprint": "f2ece2e3fb3fc198", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-js.yml"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-9f1f478936b05273", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e285d2eed0b3650", "scanner": "scanner-primary", "fingerprint": "9f1f478936b05273", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-check.yml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-9f1f478936b05273", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "24c8e5934f497cd6", "scanner": "scanner-primary", "fingerprint": "9f1f478936b05273", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-check.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a6dba9a9ec5ee438", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "144f516496668fb7", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d6aa7210cf6c969d", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d07de108d1c5f646", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5f7d5d8fad9ae56d", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04481c0fa3ba85ea", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5f7d5d8fad9ae56d", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04481c0fa3ba85ea", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "49f477cbbe083433", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b6b7482b17af7aaf", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 154}}}]}, {"ruleId": "scanner-68a2b8f5c8cd6b53", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0036b33690fe05ae", "scanner": "scanner-primary", "fingerprint": "68a2b8f5c8cd6b53", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a6c9105dd0748ca", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3b138d4eff24081c", "scanner": "scanner-primary", "fingerprint": "3a6c9105dd0748ca", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-ci.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-3a6c9105dd0748ca", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3b138d4eff24081c", "scanner": "scanner-primary", "fingerprint": "3a6c9105dd0748ca", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-ci.yml"}, "region": {"startLine": 88}}}]}, {"ruleId": "scanner-3a6c9105dd0748ca", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "249928c1cd971b8c", "scanner": "scanner-primary", "fingerprint": "3a6c9105dd0748ca", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-ci.yml"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-3a6c9105dd0748ca", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3b138d4eff24081c", "scanner": "scanner-primary", "fingerprint": "3a6c9105dd0748ca", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-ci.yml"}, "region": {"startLine": 149}}}]}, {"ruleId": "scanner-3a6c9105dd0748ca", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3b138d4eff24081c", "scanner": "scanner-primary", "fingerprint": "3a6c9105dd0748ca", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-ci.yml"}, "region": {"startLine": 171}}}]}, {"ruleId": "scanner-773bd5a3fa312847", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "66239696c0f98f7f", "scanner": "scanner-primary", "fingerprint": "773bd5a3fa312847", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-ci.yml"}, "region": {"startLine": 185}}}]}, {"ruleId": "scanner-3a6c9105dd0748ca", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3b138d4eff24081c", "scanner": "scanner-primary", "fingerprint": "3a6c9105dd0748ca", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-ci.yml"}, "region": {"startLine": 200}}}]}, {"ruleId": "scanner-3a6c9105dd0748ca", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f5784f2efca1ea0d", "scanner": "scanner-primary", "fingerprint": "3a6c9105dd0748ca", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-ci.yml"}, "region": {"startLine": 219}}}]}, {"ruleId": "scanner-3a6c9105dd0748ca", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d701576ef7b7a0ff", "scanner": "scanner-primary", "fingerprint": "3a6c9105dd0748ca", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-ci.yml"}, "region": {"startLine": 222}}}]}, {"ruleId": "scanner-20cd4e802fb21a80", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a59bdfd5213e56be", "scanner": "scanner-primary", "fingerprint": "20cd4e802fb21a80", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/iac-scan.yml"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-20cd4e802fb21a80", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b7673691f17ba043", "scanner": "scanner-primary", "fingerprint": "20cd4e802fb21a80", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/iac-scan.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-20cd4e802fb21a80", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2a33758a93284f56", "scanner": "scanner-primary", "fingerprint": "20cd4e802fb21a80", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/iac-scan.yml"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-67e1f1d8d4f3e02f", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "86630afe3e5df4be", "scanner": "scanner-primary", "fingerprint": "67e1f1d8d4f3e02f", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/iac-scan.yml"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-20cd4e802fb21a80", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b7673691f17ba043", "scanner": "scanner-primary", "fingerprint": "20cd4e802fb21a80", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/iac-scan.yml"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-20cd4e802fb21a80", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2a33758a93284f56", "scanner": "scanner-primary", "fingerprint": "20cd4e802fb21a80", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/iac-scan.yml"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-20cd4e802fb21a80", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7ea3ca3b280b0ae3", "scanner": "scanner-primary", "fingerprint": "20cd4e802fb21a80", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/iac-scan.yml"}, "region": {"startLine": 176}}}]}, {"ruleId": "scanner-20cd4e802fb21a80", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2a33758a93284f56", "scanner": "scanner-primary", "fingerprint": "20cd4e802fb21a80", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/iac-scan.yml"}, "region": {"startLine": 221}}}]}, {"ruleId": "scanner-bc13c10193e6d5ef", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d130009de368cb0b", "scanner": "scanner-primary", "fingerprint": "bc13c10193e6d5ef", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/no-legacy-paths.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f57d208548fcef", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "989a74409a402368", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d1b973fc5722bf04", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ae63b315ae3ef32f", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 107}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ae63b315ae3ef32f", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 116}}}]}, {"ruleId": "scanner-7f1e4527e6fecffa", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "e790d4d334398ef3", "scanner": "scanner-primary", "fingerprint": "7f1e4527e6fecffa", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cb1a23126ead31cb", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 139}}}]}, {"ruleId": "scanner-7f1e4527e6fecffa", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "e790d4d334398ef3", "scanner": "scanner-primary", "fingerprint": "7f1e4527e6fecffa", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 147}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cb1a23126ead31cb", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 159}}}]}, {"ruleId": "scanner-66789fc55edd5e7f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9e75d6c8b0b5abb4", "scanner": "scanner-primary", "fingerprint": "66789fc55edd5e7f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-unit.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-e6670f32b5bd9075", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "206461e34fa8812c", "scanner": "scanner-primary", "fingerprint": "e6670f32b5bd9075", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-cd.yml"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-e6670f32b5bd9075", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d9af7bee839c853b", "scanner": "scanner-primary", "fingerprint": "e6670f32b5bd9075", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-cd.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-e6670f32b5bd9075", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "022185275294671a", "scanner": "scanner-primary", "fingerprint": "e6670f32b5bd9075", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-cd.yml"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-e6670f32b5bd9075", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e90991989d478833", "scanner": "scanner-primary", "fingerprint": "e6670f32b5bd9075", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-cd.yml"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-a359886445c3fc98", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "e7f64112d3efab92", "scanner": "scanner-primary", "fingerprint": "a359886445c3fc98", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-cd.yml"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-e6670f32b5bd9075", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c5b5ceafc4577f49", "scanner": "scanner-primary", "fingerprint": "e6670f32b5bd9075", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-cd.yml"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-e6670f32b5bd9075", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "70722055554c3276", "scanner": "scanner-primary", "fingerprint": "e6670f32b5bd9075", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-cd.yml"}, "region": {"startLine": 119}}}]}, {"ruleId": "scanner-e6670f32b5bd9075", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "70722055554c3276", "scanner": "scanner-primary", "fingerprint": "e6670f32b5bd9075", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-cd.yml"}, "region": {"startLine": 144}}}]}, {"ruleId": "scanner-b4d529e231ecec0c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "5764add470d6a2de", "scanner": "scanner-primary", "fingerprint": "b4d529e231ecec0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci-cd.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-801bdb8a16783d1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "784d9201c4fce396", "scanner": "scanner-primary", "fingerprint": "801bdb8a16783d1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-weekly.yml"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-801bdb8a16783d1b", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dd0f62228facaf0b", "scanner": "scanner-primary", "fingerprint": "801bdb8a16783d1b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-weekly.yml"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-801bdb8a16783d1b", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ff5709055af7d41a", "scanner": "scanner-primary", "fingerprint": "801bdb8a16783d1b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-weekly.yml"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-801bdb8a16783d1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "88611f570e750f43", "scanner": "scanner-primary", "fingerprint": "801bdb8a16783d1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-weekly.yml"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-801bdb8a16783d1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "784d9201c4fce396", "scanner": "scanner-primary", "fingerprint": "801bdb8a16783d1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-weekly.yml"}, "region": {"startLine": 118}}}]}, {"ruleId": "scanner-801bdb8a16783d1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f09b16dc60b5d49a", "scanner": "scanner-primary", "fingerprint": "801bdb8a16783d1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-weekly.yml"}, "region": {"startLine": 121}}}]}, {"ruleId": "scanner-801bdb8a16783d1b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "88611f570e750f43", "scanner": "scanner-primary", "fingerprint": "801bdb8a16783d1b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-weekly.yml"}, "region": {"startLine": 176}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "926b5aa2fc342af4", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "74c769d9cbadc721", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "926b5aa2fc342af4", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-786abbb879227cc2", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "2b5e5711865532b1", "scanner": "scanner-primary", "fingerprint": "786abbb879227cc2", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 118}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2e5ea5d5c3d15aca", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "094e6d8fe825e165", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 140}}}]}, {"ruleId": "scanner-1a50467f36b413ec", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "84c8fc951b5b4b3e", "scanner": "scanner-primary", "fingerprint": "1a50467f36b413ec", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tests.yml"}, "region": {"startLine": 143}}}]}, {"ruleId": "scanner-73682b6f436b8f4b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d39b45dceadc891", "scanner": "scanner-primary", "fingerprint": "73682b6f436b8f4b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/secret-redaction-guard.yml"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-9358bd79a437ed53", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "48602646b9311748", "scanner": "scanner-primary", "fingerprint": "9358bd79a437ed53", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/swarm-pipeline.yml"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-9358bd79a437ed53", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fb8c314556f5548b", "scanner": "scanner-primary", "fingerprint": "9358bd79a437ed53", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/swarm-pipeline.yml"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-4ed01c261475a2f1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ed94f6b3845c91d8", "scanner": "scanner-primary", "fingerprint": "4ed01c261475a2f1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lean-review.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-4ed01c261475a2f1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c2586b91c528a608", "scanner": "scanner-primary", "fingerprint": "4ed01c261475a2f1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lean-review.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-208e65d717920521", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0c57c74f21dfd08e", "scanner": "scanner-primary", "fingerprint": "208e65d717920521", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/prune_audit.yml"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-27931ee31963d9f0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "89bedbe150f0084a", "scanner": "scanner-primary", "fingerprint": "27931ee31963d9f0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/health-check.yml"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-27931ee31963d9f0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "13751c6c1f522b15", "scanner": "scanner-primary", "fingerprint": "27931ee31963d9f0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/health-check.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "524cd7f22306d448", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "075f0e1b26becf00", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "524cd7f22306d448", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "075f0e1b26becf00", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "524cd7f22306d448", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "075f0e1b26becf00", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "acc410392b24f0ea", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-f1fa3dd79d3d1ade", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "9e59209641bae326", "scanner": "scanner-primary", "fingerprint": "f1fa3dd79d3d1ade", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 117}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "94e9ade26f8b1563", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-4724e05098b6722d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a669f23915d1d93d", "scanner": "scanner-primary", "fingerprint": "4724e05098b6722d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8335d1a2dca0ac2a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d014abafa8c7067", "scanner": "scanner-primary", "fingerprint": "8335d1a2dca0ac2a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-8335d1a2dca0ac2a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cb4e09a7d99b3dac", "scanner": "scanner-primary", "fingerprint": "8335d1a2dca0ac2a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-8335d1a2dca0ac2a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "92432ecd98e15cf8", "scanner": "scanner-primary", "fingerprint": "8335d1a2dca0ac2a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-8335d1a2dca0ac2a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cb4e09a7d99b3dac", "scanner": "scanner-primary", "fingerprint": "8335d1a2dca0ac2a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-8335d1a2dca0ac2a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cb4e09a7d99b3dac", "scanner": "scanner-primary", "fingerprint": "8335d1a2dca0ac2a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 118}}}]}, {"ruleId": "scanner-9c9dfc64b6d2cf50", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "babdd9ff14976830", "scanner": "scanner-primary", "fingerprint": "9c9dfc64b6d2cf50", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 135}}}]}, {"ruleId": "scanner-9c9dfc64b6d2cf50", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "babdd9ff14976830", "scanner": "scanner-primary", "fingerprint": "9c9dfc64b6d2cf50", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 147}}}]}, {"ruleId": "scanner-8335d1a2dca0ac2a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d014abafa8c7067", "scanner": "scanner-primary", "fingerprint": "8335d1a2dca0ac2a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-8335d1a2dca0ac2a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4d014abafa8c7067", "scanner": "scanner-primary", "fingerprint": "8335d1a2dca0ac2a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/security-comprehensive.yml"}, "region": {"startLine": 163}}}]}, {"ruleId": "scanner-b432349b1c657b4e", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "376ddcb9d3d6f0e7", "scanner": "scanner-primary", "fingerprint": "b432349b1c657b4e", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-scan.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-ef3eac7c3e862153", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b02e09a4531943a2", "scanner": "scanner-primary", "fingerprint": "ef3eac7c3e862153", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/trivy-scan.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-934839dd013e8a7b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "644af24c4defdf8e", "scanner": "scanner-primary", "fingerprint": "934839dd013e8a7b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/quality-gate.yml"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-934839dd013e8a7b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "db1cddf2174c8a43", "scanner": "scanner-primary", "fingerprint": "934839dd013e8a7b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/quality-gate.yml"}, "region": {"startLine": 119}}}]}, {"ruleId": "scanner-934839dd013e8a7b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d90e4e5146100795", "scanner": "scanner-primary", "fingerprint": "934839dd013e8a7b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/quality-gate.yml"}, "region": {"startLine": 135}}}]}, {"ruleId": "scanner-934839dd013e8a7b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "db1cddf2174c8a43", "scanner": "scanner-primary", "fingerprint": "934839dd013e8a7b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/quality-gate.yml"}, "region": {"startLine": 154}}}]}, {"ruleId": "scanner-19f2f3e81ff6660c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "df01573db1ef5c45", "scanner": "scanner-primary", "fingerprint": "19f2f3e81ff6660c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sse-tests.yml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-19f2f3e81ff6660c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4be883f07a251ff4", "scanner": "scanner-primary", "fingerprint": "19f2f3e81ff6660c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/sse-tests.yml"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-f9ef10b0cf1db97c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a939b3f6c6474977", "scanner": "scanner-primary", "fingerprint": "f9ef10b0cf1db97c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-lint.yml"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-f9ef10b0cf1db97c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bab26c983fd97894", "scanner": "scanner-primary", "fingerprint": "f9ef10b0cf1db97c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-lint.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-f9ef10b0cf1db97c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ae25c649ca73f92f", "scanner": "scanner-primary", "fingerprint": "f9ef10b0cf1db97c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs-lint.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-4110092f99f6a14d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7b35796379471e9e", "scanner": "scanner-primary", "fingerprint": "4110092f99f6a14d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-gate2-e2e.yml"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-4110092f99f6a14d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "711c4f5339b2a0a5", "scanner": "scanner-primary", "fingerprint": "4110092f99f6a14d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-gate2-e2e.yml"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-4110092f99f6a14d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7b35796379471e9e", "scanner": "scanner-primary", "fingerprint": "4110092f99f6a14d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-gate2-e2e.yml"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-4110092f99f6a14d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7b35796379471e9e", "scanner": "scanner-primary", "fingerprint": "4110092f99f6a14d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-gate2-e2e.yml"}, "region": {"startLine": 136}}}]}, {"ruleId": "scanner-4110092f99f6a14d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "711c4f5339b2a0a5", "scanner": "scanner-primary", "fingerprint": "4110092f99f6a14d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-gate2-e2e.yml"}, "region": {"startLine": 156}}}]}, {"ruleId": "scanner-4110092f99f6a14d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7b35796379471e9e", "scanner": "scanner-primary", "fingerprint": "4110092f99f6a14d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-gate2-e2e.yml"}, "region": {"startLine": 208}}}]}, {"ruleId": "scanner-4110092f99f6a14d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "711c4f5339b2a0a5", "scanner": "scanner-primary", "fingerprint": "4110092f99f6a14d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/hyper-agents-gate2-e2e.yml"}, "region": {"startLine": 223}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "b86179956da3a4a8", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11fbdcd3bc006367", "level": "note", "message": {"text": "Very large file: tests/integration/test_planning_e2e.py (1094 lines)"}, "properties": {"repobilityId": "abf3d705f3a2ac7f", "scanner": "scanner-primary", "fingerprint": "11fbdcd3bc006367", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-992cbb1eedeba9f0", "level": "note", "message": {"text": "Very large file: backend/app/api/v1/endpoints/discord_actions.py (2067 lines)"}, "properties": {"repobilityId": "7ca62ddf3b1e6eae", "scanner": "scanner-primary", "fingerprint": "992cbb1eedeba9f0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1792a5397216e65d", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: dashboard-source/package.json"}, "properties": {"repobilityId": "d35bf6be599b1f2f", "scanner": "scanner-primary", "fingerprint": "1792a5397216e65d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard-source/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "1d7548c24d87736a", "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": "9f522a9b75c1020f", "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": "005c625fbfdbb2de", "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": "2c223cc8a9747410", "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": "62301d6b353b82c2", "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": "d117a2dd4866bc6d", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-2fb87cd121af8e2c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: mcp-server/mcp.json"}, "properties": {"repobilityId": "6daf3993eff5d586", "scanner": "scanner-primary", "fingerprint": "2fb87cd121af8e2c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp-server/mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a871b934252b79dd", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: .claude/skills/railway-master/SKILL.md"}, "properties": {"repobilityId": "9e62f8b40fe12288", "scanner": "scanner-primary", "fingerprint": "a871b934252b79dd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/railway-master/SKILL.md"}, "region": {"startLine": 193}}}]}, {"ruleId": "scanner-12ed810976e9e90b", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: .claude/skills/railway-master/references/patterns.md"}, "properties": {"repobilityId": "db093ce34e7f703b", "scanner": "scanner-primary", "fingerprint": "12ed810976e9e90b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/railway-master/references/patterns.md"}, "region": {"startLine": 156}}}]}, {"ruleId": "scanner-b0c92f266535f93f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/railway-master/references/cli-cheatsheet.md"}, "properties": {"repobilityId": "9736d80a857d6619", "scanner": "scanner-primary", "fingerprint": "b0c92f266535f93f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/railway-master/references/cli-cheatsheet.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d09353f6b3870c4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/otlp-tempo-tracing/SKILL.md"}, "properties": {"repobilityId": "da80340ae56e4cf6", "scanner": "scanner-primary", "fingerprint": "8d09353f6b3870c4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/otlp-tempo-tracing/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-456000f98d8e9371", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-mcp-gateway/TOOLS.md"}, "properties": {"repobilityId": "8f15d890fdb76e72", "scanner": "scanner-primary", "fingerprint": "456000f98d8e9371", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-mcp-gateway/TOOLS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1855e97cfb4ba05c", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/skills/hypercode-mcp-gateway/SKILL.md"}, "properties": {"repobilityId": "37bcc7fccb1bc4bf", "scanner": "scanner-primary", "fingerprint": "1855e97cfb4ba05c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-mcp-gateway/SKILL.md"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-da6c6f4e2bb8bbdf", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-agent-spawner/AGENT_TEAMS.md"}, "properties": {"repobilityId": "9f686b7383a0d372", "scanner": "scanner-primary", "fingerprint": "da6c6f4e2bb8bbdf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-agent-spawner/AGENT_TEAMS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-292f3b9af112bafb", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/skills/hypercode-hyperfocus-builder/SKILL.md"}, "properties": {"repobilityId": "6ba760ca23e66a21", "scanner": "scanner-primary", "fingerprint": "292f3b9af112bafb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-hyperfocus-builder/SKILL.md"}, "region": {"startLine": 225}}}]}, {"ruleId": "scanner-cc64b5c7132c896d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-redis-pubsub/SKILL.md"}, "properties": {"repobilityId": "62e5070d5b9dc51e", "scanner": "scanner-primary", "fingerprint": "cc64b5c7132c896d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-redis-pubsub/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cee0d972e4dba2e4", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/skills/hypercode-supabase/SKILL.md"}, "properties": {"repobilityId": "76fa8de98d4654bb", "scanner": "scanner-primary", "fingerprint": "cee0d972e4dba2e4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-supabase/SKILL.md"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-cb0e92d23a2a843d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-self-improver/EVAL_EXAMPLES.md"}, "properties": {"repobilityId": "144fde1a946e9712", "scanner": "scanner-primary", "fingerprint": "cb0e92d23a2a843d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-self-improver/EVAL_EXAMPLES.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a2ee5b815ae333fc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-hypersync/EVALS.json"}, "properties": {"repobilityId": "3dcfb9f3d8a7b66a", "scanner": "scanner-primary", "fingerprint": "a2ee5b815ae333fc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-hypersync/EVALS.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b186bac2c1d00aec", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/taste-skill/SKILL.md"}, "properties": {"repobilityId": "402a01bc090702a5", "scanner": "scanner-primary", "fingerprint": "b186bac2c1d00aec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/taste-skill/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-901f5b4ad96ed2f9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-docker-ops/SKILL.md"}, "properties": {"repobilityId": "edff0e00bc88b178", "scanner": "scanner-primary", "fingerprint": "901f5b4ad96ed2f9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-docker-ops/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5036df86a32050cf", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hypercode-frontend/SKILL.md"}, "properties": {"repobilityId": "15b22c487f5865b6", "scanner": "scanner-primary", "fingerprint": "5036df86a32050cf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hypercode-frontend/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a8dafa40f253a51", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/phase-10-tracker/SKILL.md"}, "properties": {"repobilityId": "48967455b64aaf18", "scanner": "scanner-primary", "fingerprint": "4a8dafa40f253a51", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/phase-10-tracker/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f1b4eaed6d61996a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hyper-context-restore/evals/evals.json"}, "properties": {"repobilityId": "22b0706908ca650f", "scanner": "scanner-primary", "fingerprint": "f1b4eaed6d61996a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hyper-context-restore/evals/evals.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-55c058c3f3acd390", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/technical-skills-audit/observability-guide.md"}, "properties": {"repobilityId": "c257eeed4fa3d5bd", "scanner": "scanner-primary", "fingerprint": "55c058c3f3acd390", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/technical-skills-audit/observability-guide.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-29177daba9e10cad", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/skills/technical-skills-audit/security-guide.md"}, "properties": {"repobilityId": "b022079a52940441", "scanner": "scanner-primary", "fingerprint": "29177daba9e10cad", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/technical-skills-audit/security-guide.md"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-bb03b1d112fa66d0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/technical-skills-audit/data-architecture.md"}, "properties": {"repobilityId": "829c0e073f1f79da", "scanner": "scanner-primary", "fingerprint": "bb03b1d112fa66d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/technical-skills-audit/data-architecture.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c6ee122a2e5acc02", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hyperlaunch.py:583"}, "properties": {"repobilityId": "fca90efc1e9f7e84", "scanner": "scanner-primary", "fingerprint": "c6ee122a2e5acc02", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f9323f7172eb9e90", "level": "error", "message": {"text": "Blocking `urllib.request.urlopen(...)` inside `async def check_http_health` \u2014 hyperlaunch.py:328"}, "properties": {"repobilityId": "4afed5165f40f299", "scanner": "scanner-primary", "fingerprint": "f9323f7172eb9e90", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyperlaunch.py"}, "region": {"startLine": 328}}}]}, {"ruleId": "scanner-52649af1ba80bd8a", "level": "error", "message": {"text": "Blocking `urllib.request.urlopen(...)` inside `async def trigger_agent_x_pipeline_scan` \u2014 hyperlaunch.py:480"}, "properties": {"repobilityId": "869d392f3a2a0bc2", "scanner": "scanner-primary", "fingerprint": "52649af1ba80bd8a", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyperlaunch.py"}, "region": {"startLine": 480}}}]}, {"ruleId": "scanner-af653ca6cf4347b3", "level": "error", "message": {"text": "Blocking `urllib.request.urlopen(...)` inside `async def trigger_crew_registration_check` \u2014 hyperlaunch.py:491"}, "properties": {"repobilityId": "71c2715bb6b225a1", "scanner": "scanner-primary", "fingerprint": "af653ca6cf4347b3", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyperlaunch.py"}, "region": {"startLine": 491}}}]}, {"ruleId": "scanner-c0743157d571d387", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hyper-mission-system/client/src/main.jsx:29"}, "properties": {"repobilityId": "912c47b37ffba3a7", "scanner": "scanner-primary", "fingerprint": "c0743157d571d387", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1f412fdb4b224aa8", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_swarm_load.py:2"}, "properties": {"repobilityId": "f1aef071b4cfe968", "scanner": "scanner-primary", "fingerprint": "1f412fdb4b224aa8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70f2f0fd3caa5ff2", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/functional/test_coder_capabilities.py:6"}, "properties": {"repobilityId": "f936a22624d27480", "scanner": "scanner-primary", "fingerprint": "70f2f0fd3caa5ff2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4cb8fa3ccbeca516", "level": "none", "message": {"text": "Commented-code block (15 lines) in verification/test_coder_agent_protocol.py:55"}, "properties": {"repobilityId": "cdb6b353e3ea3367", "scanner": "scanner-primary", "fingerprint": "4cb8fa3ccbeca516", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94e823122654ad5a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/link_discord_user.py:57"}, "properties": {"repobilityId": "09361cf2001689cc", "scanner": "scanner-primary", "fingerprint": "94e823122654ad5a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-659bfb74956d8b84", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_test.py:23"}, "properties": {"repobilityId": "33e36357eacfed6b", "scanner": "scanner-primary", "fingerprint": "659bfb74956d8b84", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-df05c4e8ab8b2d31", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 cli/main.py:62"}, "properties": {"repobilityId": "99c4df6c570760d4", "scanner": "scanner-primary", "fingerprint": "df05c4e8ab8b2d31", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1aca4fe970ac1663", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 k8s/patch_deployments.py:55"}, "properties": {"repobilityId": "620bf68caf445b74", "scanner": "scanner-primary", "fingerprint": "1aca4fe970ac1663", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c7b553e4ddec8f9c", "level": "note", "message": {"text": "Legacy-named symbol `test_chart_api_version_is_v2` in k8s/tests/test_helm_chart.py:73"}, "properties": {"repobilityId": "bfce99fd3b242120", "scanner": "scanner-primary", "fingerprint": "c7b553e4ddec8f9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9a18e73495605568", "level": "note", "message": {"text": "Legacy-named symbol `test_apiVersion_is_v2` in k8s/helm/tests/test_helm_chart.py:119"}, "properties": {"repobilityId": "e5baab49c3371d3a", "scanner": "scanner-primary", "fingerprint": "9a18e73495605568", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ee714fc0fdeb1d5d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/01-frontend-specialist/components/UserProfile.tsx:16"}, "properties": {"repobilityId": "9fd99bfedf13889e", "scanner": "scanner-primary", "fingerprint": "ee714fc0fdeb1d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-92193d32be536216", "level": "error", "message": {"text": "Blocking `httpx.get(...)` inside `async def poll_memstream_and_throttle` \u2014 agents/throttle-agent/main.py:381"}, "properties": {"repobilityId": "665e62de82ab5b53", "scanner": "scanner-primary", "fingerprint": "92193d32be536216", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/throttle-agent/main.py"}, "region": {"startLine": 381}}}]}, {"ruleId": "scanner-7872d6da54c2b1c4", "level": "error", "message": {"text": "Blocking `httpx.post(...)` inside `async def poll_memstream_and_throttle` \u2014 agents/throttle-agent/main.py:394"}, "properties": {"repobilityId": "075e2d7b6e1f2f3b", "scanner": "scanner-primary", "fingerprint": "7872d6da54c2b1c4", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/throttle-agent/main.py"}, "region": {"startLine": 394}}}]}, {"ruleId": "scanner-aa02017f249e3f2b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 agents/shared/tools/deployer.py:60"}, "properties": {"repobilityId": "f810d37f18957f50", "scanner": "scanner-primary", "fingerprint": "aa02017f249e3f2b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-29486251baaf226e", "level": "none", "message": {"text": "Commented-code block (6 lines) in agents/dashboard/__tests__/Clock.test.tsx:31"}, "properties": {"repobilityId": "03386c661fb45267", "scanner": "scanner-primary", "fingerprint": "29486251baaf226e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2429d20cf4f586db", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/scripts/verify-standalone.mjs:64"}, "properties": {"repobilityId": "30c8951239c65bc5", "scanner": "scanner-primary", "fingerprint": "2429d20cf4f586db", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c316e9c09c5fba25", "level": "none", "message": {"text": "Commented-code block (6 lines) in agents/dashboard/components/panels/AgentDetailPopout.tsx:3"}, "properties": {"repobilityId": "4a0d02ed89c74d40", "scanner": "scanner-primary", "fingerprint": "c316e9c09c5fba25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e1e058fefbabb8b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/components/views/TasksView.tsx:215"}, "properties": {"repobilityId": "9b64b968b06f3a3f", "scanner": "scanner-primary", "fingerprint": "4e1e058fefbabb8b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-922a6511ff79dbcd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/lib/api.ts:13"}, "properties": {"repobilityId": "f4c78784f28345e7", "scanner": "scanner-primary", "fingerprint": "922a6511ff79dbcd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ea57056d4d0bc1da", "level": "none", "message": {"text": "Commented-code block (7 lines) in agents/dashboard/hooks/useAgentStatus.ts:1"}, "properties": {"repobilityId": "9fcbbc3f0614ad6a", "scanner": "scanner-primary", "fingerprint": "ea57056d4d0bc1da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-084e67610c25b4ce", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/dashboard/hooks/useHealerTelemetry.ts:48"}, "properties": {"repobilityId": "151b08ee4a6a0025", "scanner": "scanner-primary", "fingerprint": "084e67610c25b4ce", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2798ea8476ee9781", "level": "note", "message": {"text": "Stub function `new_feature` (body is just `pass`/`return`) \u2014 agents/crew-orchestrator/langgraph_state_management.py:228"}, "properties": {"repobilityId": "b956ea018a92cd5c", "scanner": "scanner-primary", "fingerprint": "2798ea8476ee9781", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-18cd4a268ce9dd61", "level": "none", "message": {"text": "Commented-code block (6 lines) in agents/crew-orchestrator/tests/test_orchestrator.py:17"}, "properties": {"repobilityId": "c655481050437f12", "scanner": "scanner-primary", "fingerprint": "18cd4a268ce9dd61", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66888275cf67aff4", "level": "note", "message": {"text": "Stub function `setup_logging` (body is just `pass`/`return`) \u2014 agents/base-agent/agent.py:28"}, "properties": {"repobilityId": "3c4d67c98d7d4088", "scanner": "scanner-primary", "fingerprint": "66888275cf67aff4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-fa6cefadc0a8fa7b", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def cached_endpoint` \u2014 agents/test-agent/main.py:193"}, "properties": {"repobilityId": "19f6062d96cf6e25", "scanner": "scanner-primary", "fingerprint": "fa6cefadc0a8fa7b", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/test-agent/main.py"}, "region": {"startLine": 193}}}]}, {"ruleId": "scanner-61299e4cd496bd1c", "level": "none", "message": {"text": "Commented-code block (8 lines) in agents/broski-bot/tests/test_enterprise.py:143"}, "properties": {"repobilityId": "6165070022a78f6d", "scanner": "scanner-primary", "fingerprint": "61299e4cd496bd1c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1edb69f5e2f17f81", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 agents/broski-bot/_archive/Python files/broski_main.py:123"}, "properties": {"repobilityId": "dfe799de5e7dc99b", "scanner": "scanner-primary", "fingerprint": "1edb69f5e2f17f81", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-539e1bcbfb050929", "level": "none", "message": {"text": "Commented-code block (6 lines) in agents/broski-bot/alembic/env.py:95"}, "properties": {"repobilityId": "0a7038801f6ecd58", "scanner": "scanner-primary", "fingerprint": "539e1bcbfb050929", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b51d67cd3cb7bb6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 agents/broski-bot/src/main.py:126"}, "properties": {"repobilityId": "7342f1386907232b", "scanner": "scanner-primary", "fingerprint": "1b51d67cd3cb7bb6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a77128ddae2788de", "level": "none", "message": {"text": "Commented-code block (8 lines) in agents/broski-bot/src/services/quest.py:113"}, "properties": {"repobilityId": "91e2224039e63547", "scanner": "scanner-primary", "fingerprint": "a77128ddae2788de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5fbdaec115af930", "level": "none", "message": {"text": "Commented-code block (5 lines) in agents/broski-bot/src/cogs/quest_system.py:105"}, "properties": {"repobilityId": "ef7464e05bfe5f45", "scanner": "scanner-primary", "fingerprint": "e5fbdaec115af930", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-518f88e6a232fece", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 agents/session-snapshot/snapshot_writer.py:12"}, "properties": {"repobilityId": "a78803c2c2bf945b", "scanner": "scanner-primary", "fingerprint": "518f88e6a232fece", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7e1e7638762109d4", "level": "note", "message": {"text": "Stub function `setup_logging` (body is just `pass`/`return`) \u2014 agents/business/project-strategist/src/base_agent.py:77"}, "properties": {"repobilityId": "bc89b881803f1c3a", "scanner": "scanner-primary", "fingerprint": "7e1e7638762109d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-08a500afcc7dd17a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/graduate-student/index.ts:38"}, "properties": {"repobilityId": "11aa7be12bc031fd", "scanner": "scanner-primary", "fingerprint": "08a500afcc7dd17a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-695b2fc3236c2852", "level": "none", "message": {"text": "Commented-code block (8 lines) in hyperstudio-platform/api-main.py:525"}, "properties": {"repobilityId": "057cc32df5ba48ec", "scanner": "scanner-primary", "fingerprint": "695b2fc3236c2852", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c295805911ec493", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hyperstudio-platform/core-video-generator.py:286"}, "properties": {"repobilityId": "33797cf464ad27e5", "scanner": "scanner-primary", "fingerprint": "0c295805911ec493", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-07c205bc945f45ad", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/precommit_duplicate_check.py:11"}, "properties": {"repobilityId": "142289f5bd0d163b", "scanner": "scanner-primary", "fingerprint": "07c205bc945f45ad", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-28418d05cf2a249e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/index.BDwrLSGN.js:1"}, "properties": {"repobilityId": "a44217d717b3ab13", "scanner": "scanner-primary", "fingerprint": "28418d05cf2a249e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-91e408d3b2787ffd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/sw.bundle.js:3"}, "properties": {"repobilityId": "560db2433acd11b5", "scanner": "scanner-primary", "fingerprint": "91e408d3b2787ffd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2e8b4b8946f1117d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/uiMode.CQJ9SCIQ.js:3"}, "properties": {"repobilityId": "ae13011f9f274062", "scanner": "scanner-primary", "fingerprint": "2e8b4b8946f1117d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1001ed673af3ba33", "level": "note", "message": {"text": "Legacy-named symbol `unstable_legacy` in reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:49"}, "properties": {"repobilityId": "d9389f85baf25779", "scanner": "scanner-primary", "fingerprint": "1001ed673af3ba33", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1afee659e4fd2dde", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/e2e-html/trace/assets/defaultSettingsView-CJSZINFr.js:2"}, "properties": {"repobilityId": "c97a321843c25cc6", "scanner": "scanner-primary", "fingerprint": "1afee659e4fd2dde", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-49f04bdba1e60279", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in backend/verify_minio.py:31"}, "properties": {"repobilityId": "450a8043c6272293", "scanner": "scanner-primary", "fingerprint": "49f04bdba1e60279", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4a1769c35427f635", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/spawner.py:82"}, "properties": {"repobilityId": "a91be1a61239db0b", "scanner": "scanner-primary", "fingerprint": "4a1769c35427f635", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e0d5aa136a95944", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/app/worker.py:242"}, "properties": {"repobilityId": "f8e5ffcf3dc438cd", "scanner": "scanner-primary", "fingerprint": "0e0d5aa136a95944", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d1135b9d464b00c", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/app/spawner.py:82"}, "properties": {"repobilityId": "154d86cb451cbd10", "scanner": "scanner-primary", "fingerprint": "4d1135b9d464b00c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d56051258844154", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/app/main.py:496"}, "properties": {"repobilityId": "986ebd93b15dc882", "scanner": "scanner-primary", "fingerprint": "5d56051258844154", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-303fc0b9f51cc0b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/app/middleware/metrics.py:37"}, "properties": {"repobilityId": "86fa57bb68293dd7", "scanner": "scanner-primary", "fingerprint": "303fc0b9f51cc0b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7bde5d73bfef99dc", "level": "error", "message": {"text": "Blocking `requests.get(...)` inside `async def process` \u2014 backend/app/agents/pulse.py:20"}, "properties": {"repobilityId": "dd3c78e6b312318a", "scanner": "scanner-primary", "fingerprint": "7bde5d73bfef99dc", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/agents/pulse.py"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-adadc201a882494e", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in backend/app/core/storage.py:102"}, "properties": {"repobilityId": "65eb7cd8b22fb4cf", "scanner": "scanner-primary", "fingerprint": "adadc201a882494e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e9a51d7622a121ad", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/app/core/agent_spawner.py:61"}, "properties": {"repobilityId": "c12d5b7c59ea1407", "scanner": "scanner-primary", "fingerprint": "e9a51d7622a121ad", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9598b70e937cc5e4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hyperfocus-Zone-Support-Hub-main/hyperfocuszone.com-Support-Hub--main/sw.js:68"}, "properties": {"repobilityId": "a6d770855f8833f8", "scanner": "scanner-primary", "fingerprint": "9598b70e937cc5e4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c7e3166b8d08b8b3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .github/scripts/prom-regression.py:9"}, "properties": {"repobilityId": "1940619661de6108", "scanner": "scanner-primary", "fingerprint": "c7e3166b8d08b8b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ebf957cb97ed7e1c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 dashboard-rebuild/app/lib/api-client.ts:9"}, "properties": {"repobilityId": "598a79e134dcaac1", "scanner": "scanner-primary", "fingerprint": "ebf957cb97ed7e1c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5e725228e1bc8da4", "level": "note", "message": {"text": "236 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "77273e30131f85b1", "scanner": "scanner-primary", "fingerprint": "5e725228e1bc8da4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "af80721716be6032", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "0b1df2da6c571dcc", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "8c7e27f88f04fb43", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "fddcef7222329b28", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "3f04324144034de6", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7f6738134f21d874", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-380b7cb95b387b9c", "level": "note", "message": {"text": "Near-duplicate function bodies in 11 places"}, "properties": {"repobilityId": "de5da9e02883d34e", "scanner": "scanner-primary", "fingerprint": "380b7cb95b387b9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "1946255250e8b176", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "1bd4d2386acef1d5", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "4c9670e94f7999b9", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "ae9d8d3e99a9e3fc", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "8970e9dd35afd21b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "4cdeabb41e42d201", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "399e9a2e458a32be", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "17b89d33923e0d3e", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "cc91fe4c8cca8ad7", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "cd48e9176684807f", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "593f475b7e578e11", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "163fbf9c4a73a20d", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "73c0d67bff87363c", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-442f14a7f51db72a", "level": "error", "message": {"text": "FastAPI POST `alerts` without auth dependency \u2014 monitoring/alert-webhook/app.py:19"}, "properties": {"repobilityId": "1922961e4cc775a0", "scanner": "scanner-primary", "fingerprint": "442f14a7f51db72a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "monitoring/alert-webhook/app.py"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-17a344a81c5036a7", "level": "error", "message": {"text": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py:349"}, "properties": {"repobilityId": "e349ffa9ac4af896", "scanner": "scanner-primary", "fingerprint": "17a344a81c5036a7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py"}, "region": {"startLine": 349}}}]}, {"ruleId": "scanner-e2f96f980ee37dfd", "level": "error", "message": {"text": "FastAPI POST `trigger_heal` without auth dependency \u2014 archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py:357"}, "properties": {"repobilityId": "e0ed34ad199d3fa0", "scanner": "scanner-primary", "fingerprint": "e2f96f980ee37dfd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "archive/legacy/new-fix-0.1/FIX_2_healer_main_improved.py"}, "region": {"startLine": 357}}}]}, {"ruleId": "scanner-5ee1ebfd7e16318c", "level": "error", "message": {"text": "FastAPI POST `diagnose_service` without auth dependency \u2014 agents/healer/intelligence_endpoints.py:47"}, "properties": {"repobilityId": "321d4401de1b3e73", "scanner": "scanner-primary", "fingerprint": "5ee1ebfd7e16318c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/intelligence_endpoints.py"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-b66f1603f43db269", "level": "error", "message": {"text": "FastAPI POST `reset_circuit_breaker` without auth dependency \u2014 agents/healer/main.py:701"}, "properties": {"repobilityId": "fb555b44e3cecf7f", "scanner": "scanner-primary", "fingerprint": "b66f1603f43db269", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/main.py"}, "region": {"startLine": 701}}}]}, {"ruleId": "scanner-9fca0cb9402175ad", "level": "error", "message": {"text": "FastAPI POST `trigger_heal` without auth dependency \u2014 agents/healer/main.py:710"}, "properties": {"repobilityId": "f3d6db1e7d2dfc54", "scanner": "scanner-primary", "fingerprint": "9fca0cb9402175ad", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/main.py"}, "region": {"startLine": 710}}}]}, {"ruleId": "scanner-426cdd2b03f50dfe", "level": "error", "message": {"text": "FastAPI POST `alert_webhook` without auth dependency \u2014 agents/healer/main.py:716"}, "properties": {"repobilityId": "5c04c0931ce70c5a", "scanner": "scanner-primary", "fingerprint": "426cdd2b03f50dfe", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/main.py"}, "region": {"startLine": 716}}}]}, {"ruleId": "scanner-636d7d846967fac8", "level": "error", "message": {"text": "FastAPI POST `throttle_state_post` without auth dependency \u2014 agents/healer/main.py:737"}, "properties": {"repobilityId": "7f4b333bb33fce4b", "scanner": "scanner-primary", "fingerprint": "636d7d846967fac8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/healer/main.py"}, "region": {"startLine": 737}}}]}, {"ruleId": "scanner-4baa2f94a2e68fbb", "level": "error", "message": {"text": "FastAPI POST `route_task` without auth dependency \u2014 agents/hyper-auto-assistant/main.py:121"}, "properties": {"repobilityId": "6c9245810b2278a8", "scanner": "scanner-primary", "fingerprint": "4baa2f94a2e68fbb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-auto-assistant/main.py"}, "region": {"startLine": 121}}}]}, {"ruleId": "scanner-62650231623400fe", "level": "error", "message": {"text": "FastAPI POST `scan` without auth dependency \u2014 agents/nemoclaw-agent/main.py:115"}, "properties": {"repobilityId": "4484932336eeb4cc", "scanner": "scanner-primary", "fingerprint": "62650231623400fe", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/nemoclaw-agent/main.py"}, "region": {"startLine": 115}}}]}, {"ruleId": "scanner-427f585ded44e334", "level": "error", "message": {"text": "FastAPI POST `throttle_tier` without auth dependency \u2014 agents/throttle-agent/main.py:967"}, "properties": {"repobilityId": "9a1d368ed0f36aec", "scanner": "scanner-primary", "fingerprint": "427f585ded44e334", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/throttle-agent/main.py"}, "region": {"startLine": 967}}}]}, {"ruleId": "scanner-222807f8aa52e6e1", "level": "error", "message": {"text": "FastAPI POST `execute` without auth dependency \u2014 agents/hyper-agents/architect/main.py:86"}, "properties": {"repobilityId": "e40784d0d7bd0a9d", "scanner": "scanner-primary", "fingerprint": "222807f8aa52e6e1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/architect/main.py"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-043c28e9ec0a2c36", "level": "error", "message": {"text": "FastAPI POST `create_goal` without auth dependency \u2014 agents/hyper-agents/architect/main.py:92"}, "properties": {"repobilityId": "219f333816bcd933", "scanner": "scanner-primary", "fingerprint": "043c28e9ec0a2c36", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/architect/main.py"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-cc35a5dff745e7d0", "level": "error", "message": {"text": "FastAPI POST `add_step` without auth dependency \u2014 agents/hyper-agents/architect/main.py:123"}, "properties": {"repobilityId": "15a37adf7108f964", "scanner": "scanner-primary", "fingerprint": "cc35a5dff745e7d0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/architect/main.py"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-c7031f4a27ddf7ea", "level": "error", "message": {"text": "FastAPI POST `complete_step` without auth dependency \u2014 agents/hyper-agents/architect/main.py:150"}, "properties": {"repobilityId": "1bcc48e630e1731a", "scanner": "scanner-primary", "fingerprint": "c7031f4a27ddf7ea", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/architect/main.py"}, "region": {"startLine": 150}}}]}, {"ruleId": "scanner-8f608eeca8d69ec5", "level": "error", "message": {"text": "FastAPI POST `fail_step` without auth dependency \u2014 agents/hyper-agents/architect/main.py:157"}, "properties": {"repobilityId": "91d303d2dc5e2d2d", "scanner": "scanner-primary", "fingerprint": "8f608eeca8d69ec5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/architect/main.py"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-fd63c8e1ce2d3838", "level": "error", "message": {"text": "FastAPI POST `execute` without auth dependency \u2014 agents/hyper-agents/worker/main.py:146"}, "properties": {"repobilityId": "8457964d475b3a22", "scanner": "scanner-primary", "fingerprint": "fd63c8e1ce2d3838", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/worker/main.py"}, "region": {"startLine": 146}}}]}, {"ruleId": "scanner-d9aab0261fef598b", "level": "error", "message": {"text": "FastAPI POST `run_task` without auth dependency \u2014 agents/hyper-agents/worker/main.py:152"}, "properties": {"repobilityId": "ac0f5e380a455391", "scanner": "scanner-primary", "fingerprint": "d9aab0261fef598b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/worker/main.py"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-8de193009c5b3c22", "level": "error", "message": {"text": "FastAPI POST `enqueue_task` without auth dependency \u2014 agents/hyper-agents/worker/main.py:189"}, "properties": {"repobilityId": "d49c2697c83a62f1", "scanner": "scanner-primary", "fingerprint": "8de193009c5b3c22", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/worker/main.py"}, "region": {"startLine": 189}}}]}, {"ruleId": "scanner-94610113ef2011de", "level": "error", "message": {"text": "FastAPI POST `drain_queue` without auth dependency \u2014 agents/hyper-agents/worker/main.py:217"}, "properties": {"repobilityId": "3105d9e27de757e0", "scanner": "scanner-primary", "fingerprint": "94610113ef2011de", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/worker/main.py"}, "region": {"startLine": 217}}}]}, {"ruleId": "scanner-67f05c28c56977b3", "level": "error", "message": {"text": "FastAPI POST `execute` without auth dependency \u2014 agents/hyper-agents/observer/main.py:229"}, "properties": {"repobilityId": "6d306184e1703dbd", "scanner": "scanner-primary", "fingerprint": "67f05c28c56977b3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/observer/main.py"}, "region": {"startLine": 229}}}]}, {"ruleId": "scanner-65cc5ab245c054bd", "level": "error", "message": {"text": "FastAPI POST `record_metric` without auth dependency \u2014 agents/hyper-agents/observer/main.py:235"}, "properties": {"repobilityId": "aa0433d43494bacc", "scanner": "scanner-primary", "fingerprint": "65cc5ab245c054bd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/observer/main.py"}, "region": {"startLine": 235}}}]}, {"ruleId": "scanner-6067382372612dad", "level": "error", "message": {"text": "FastAPI POST `record_metrics_batch` without auth dependency \u2014 agents/hyper-agents/observer/main.py:249"}, "properties": {"repobilityId": "f8274f67ac9e91b7", "scanner": "scanner-primary", "fingerprint": "6067382372612dad", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/observer/main.py"}, "region": {"startLine": 249}}}]}, {"ruleId": "scanner-150028028be02a31", "level": "error", "message": {"text": "FastAPI POST `add_alert_rule` without auth dependency \u2014 agents/hyper-agents/observer/main.py:276"}, "properties": {"repobilityId": "056353c1bd077fee", "scanner": "scanner-primary", "fingerprint": "150028028be02a31", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/observer/main.py"}, "region": {"startLine": 276}}}]}, {"ruleId": "scanner-035b929b54304a88", "level": "error", "message": {"text": "FastAPI POST `log_event` without auth dependency \u2014 agents/hyper-agents/observer/main.py:322"}, "properties": {"repobilityId": "36f4e48b2d9475b6", "scanner": "scanner-primary", "fingerprint": "035b929b54304a88", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-agents/observer/main.py"}, "region": {"startLine": 322}}}]}, {"ruleId": "scanner-64a95951190a7a65", "level": "error", "message": {"text": "FastAPI POST `receive_coderabbit_webhook` without auth dependency \u2014 agents/coderabbit-webhook/main.py:83"}, "properties": {"repobilityId": "252be8d7aa1a7af5", "scanner": "scanner-primary", "fingerprint": "64a95951190a7a65", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/coderabbit-webhook/main.py"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-ba1c49c0d157c258", "level": "error", "message": {"text": "FastAPI POST `receive_github_webhook` without auth dependency \u2014 agents/coderabbit-webhook/main.py:164"}, "properties": {"repobilityId": "e92c2c444daa9ac0", "scanner": "scanner-primary", "fingerprint": "ba1c49c0d157c258", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/coderabbit-webhook/main.py"}, "region": {"startLine": 164}}}]}, {"ruleId": "scanner-5208317dd2c22d28", "level": "error", "message": {"text": "FastAPI POST `execute_fix` without auth dependency \u2014 agents/coderabbit-webhook/main.py:196"}, "properties": {"repobilityId": "89dfbe10abac3b0d", "scanner": "scanner-primary", "fingerprint": "5208317dd2c22d28", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/coderabbit-webhook/main.py"}, "region": {"startLine": 196}}}]}, {"ruleId": "scanner-1dbc6457977c7c3f", "level": "error", "message": {"text": "FastAPI POST `execute` without auth dependency \u2014 agents/agent-x/main.py:185"}, "properties": {"repobilityId": "f4d15a4668fb30fc", "scanner": "scanner-primary", "fingerprint": "1dbc6457977c7c3f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/main.py"}, "region": {"startLine": 185}}}]}, {"ruleId": "scanner-b998037b9f7d501b", "level": "error", "message": {"text": "FastAPI POST `spawn_agent` without auth dependency \u2014 agents/agent-x/main.py:314"}, "properties": {"repobilityId": "874bb44b775aa25a", "scanner": "scanner-primary", "fingerprint": "b998037b9f7d501b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/main.py"}, "region": {"startLine": 314}}}]}, {"ruleId": "scanner-186f1013c089d772", "level": "error", "message": {"text": "FastAPI POST `evolve_agent` without auth dependency \u2014 agents/agent-x/main.py:368"}, "properties": {"repobilityId": "ead9808554079bca", "scanner": "scanner-primary", "fingerprint": "186f1013c089d772", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/main.py"}, "region": {"startLine": 368}}}]}, {"ruleId": "scanner-411b56fd7ab40af3", "level": "error", "message": {"text": "FastAPI POST `rebuild_agent` without auth dependency \u2014 agents/agent-x/main.py:435"}, "properties": {"repobilityId": "7dd7a7d1974dc27d", "scanner": "scanner-primary", "fingerprint": "411b56fd7ab40af3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/main.py"}, "region": {"startLine": 435}}}]}, {"ruleId": "scanner-25ae403f0697d2b7", "level": "error", "message": {"text": "FastAPI POST `run_pipeline` without auth dependency \u2014 agents/agent-x/main.py:457"}, "properties": {"repobilityId": "4198f4517ae6a611", "scanner": "scanner-primary", "fingerprint": "25ae403f0697d2b7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/main.py"}, "region": {"startLine": 457}}}]}, {"ruleId": "scanner-53b85bf459b2b8f7", "level": "error", "message": {"text": "FastAPI POST `scan_agents` without auth dependency \u2014 agents/agent-x/main.py:484"}, "properties": {"repobilityId": "7affb860f4326634", "scanner": "scanner-primary", "fingerprint": "53b85bf459b2b8f7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/main.py"}, "region": {"startLine": 484}}}]}, {"ruleId": "scanner-574bbbbfaae4f52f", "level": "error", "message": {"text": "FastAPI POST `design_spec` without auth dependency \u2014 agents/agent-x/main.py:506"}, "properties": {"repobilityId": "c67f93cf88ecca8f", "scanner": "scanner-primary", "fingerprint": "574bbbbfaae4f52f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/main.py"}, "region": {"startLine": 506}}}]}, {"ruleId": "scanner-94f9403746a83273", "level": "error", "message": {"text": "FastAPI POST `design_code` without auth dependency \u2014 agents/agent-x/main.py:522"}, "properties": {"repobilityId": "8c6f0ef5ec454d3b", "scanner": "scanner-primary", "fingerprint": "94f9403746a83273", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-x/main.py"}, "region": {"startLine": 522}}}]}, {"ruleId": "scanner-e1c25a68eb106050", "level": "error", "message": {"text": "FastAPI POST `execute_smoke` without auth dependency \u2014 agents/crew-orchestrator/main.py:885"}, "properties": {"repobilityId": "870c552980d71827", "scanner": "scanner-primary", "fingerprint": "e1c25a68eb106050", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/crew-orchestrator/main.py"}, "region": {"startLine": 885}}}]}, {"ruleId": "scanner-6b1533e933d0ed8c", "level": "error", "message": {"text": "FastAPI POST `energy_boost` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:422"}, "properties": {"repobilityId": "2695da5b2d9961a5", "scanner": "scanner-primary", "fingerprint": "6b1533e933d0ed8c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/super-hyper-broski-agent/main.py"}, "region": {"startLine": 422}}}]}, {"ruleId": "scanner-df49da0c1f694fdc", "level": "error", "message": {"text": "FastAPI POST `toggle_party_mode` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:444"}, "properties": {"repobilityId": "22b12ce676491af4", "scanner": "scanner-primary", "fingerprint": "df49da0c1f694fdc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/super-hyper-broski-agent/main.py"}, "region": {"startLine": 444}}}]}, {"ruleId": "scanner-f6821195b41f651d", "level": "error", "message": {"text": "FastAPI POST `broski_actions` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:468"}, "properties": {"repobilityId": "f21fa7a6eab4db13", "scanner": "scanner-primary", "fingerprint": "f6821195b41f651d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/super-hyper-broski-agent/main.py"}, "region": {"startLine": 468}}}]}, {"ruleId": "scanner-2132f6a6bc66ad8b", "level": "error", "message": {"text": "FastAPI POST `ultra_mode` without auth dependency \u2014 agents/super-hyper-broski-agent/main.py:562"}, "properties": {"repobilityId": "1bfcce0a66fe023d", "scanner": "scanner-primary", "fingerprint": "2132f6a6bc66ad8b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/super-hyper-broski-agent/main.py"}, "region": {"startLine": 562}}}]}, {"ruleId": "scanner-1e55338850b8c0a3", "level": "error", "message": {"text": "FastAPI POST `spawn_agent` without auth dependency \u2014 agents/agent-factory/main.py:156"}, "properties": {"repobilityId": "16df4d95ed7992e4", "scanner": "scanner-primary", "fingerprint": "1e55338850b8c0a3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-factory/main.py"}, "region": {"startLine": 156}}}]}, {"ruleId": "scanner-ae4a8c350d77821d", "level": "error", "message": {"text": "FastAPI POST `stop_agent` without auth dependency \u2014 agents/agent-factory/main.py:242"}, "properties": {"repobilityId": "af4419d186295c69", "scanner": "scanner-primary", "fingerprint": "ae4a8c350d77821d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-factory/main.py"}, "region": {"startLine": 242}}}]}, {"ruleId": "scanner-72e4580b5cc269f6", "level": "error", "message": {"text": "Flask mutation route `api_conversion_estimate` without `@login_required` \u2014 agents/broski-bot/_archive/Python files/mintme_integration_dashboard.py:344"}, "properties": {"repobilityId": "8f4926ed2b6327c3", "scanner": "scanner-primary", "fingerprint": "72e4580b5cc269f6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-bot/_archive/Python files/mintme_integration_dashboard.py"}, "region": {"startLine": 344}}}]}, {"ruleId": "scanner-34b1522510eeee1f", "level": "error", "message": {"text": "Flask mutation route `api_conversion_estimate` without `@login_required` \u2014 agents/broski-bot/src/integrations/mintme.py:344"}, "properties": {"repobilityId": "e5fcae010bee7a14", "scanner": "scanner-primary", "fingerprint": "34b1522510eeee1f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-bot/src/integrations/mintme.py"}, "region": {"startLine": 344}}}]}, {"ruleId": "scanner-335443532081c55b", "level": "error", "message": {"text": "FastAPI POST `redeem_reward` without auth dependency \u2014 agents/broski-bot/src/api/routes/economy.py:39"}, "properties": {"repobilityId": "153b21f3e84ed140", "scanner": "scanner-primary", "fingerprint": "335443532081c55b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-bot/src/api/routes/economy.py"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-70036a039c70481f", "level": "error", "message": {"text": "FastAPI POST `transfer_tokens` without auth dependency \u2014 agents/broski-bot/src/api/routes/economy.py:67"}, "properties": {"repobilityId": "b72c1aa5a5930321", "scanner": "scanner-primary", "fingerprint": "70036a039c70481f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-bot/src/api/routes/economy.py"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-a25b83727df70e95", "level": "error", "message": {"text": "FastAPI POST `provision` without auth dependency \u2014 agents/broski-pets-bridge/main.py:516"}, "properties": {"repobilityId": "a59c931c3e12ff05", "scanner": "scanner-primary", "fingerprint": "a25b83727df70e95", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-pets-bridge/main.py"}, "region": {"startLine": 516}}}]}, {"ruleId": "scanner-53d87a76182f280c", "level": "error", "message": {"text": "FastAPI POST `award_xp` without auth dependency \u2014 agents/broski-pets-bridge/main.py:557"}, "properties": {"repobilityId": "259c2c0d99b330fa", "scanner": "scanner-primary", "fingerprint": "53d87a76182f280c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-pets-bridge/main.py"}, "region": {"startLine": 557}}}]}, {"ruleId": "scanner-58bc72305f12c313", "level": "error", "message": {"text": "FastAPI POST `bind_token` without auth dependency \u2014 agents/broski-pets-bridge/main.py:566"}, "properties": {"repobilityId": "7ce8b34019963683", "scanner": "scanner-primary", "fingerprint": "58bc72305f12c313", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-pets-bridge/main.py"}, "region": {"startLine": 566}}}]}, {"ruleId": "scanner-f47d2e0675e6c862", "level": "error", "message": {"text": "FastAPI POST `streak_commit` without auth dependency \u2014 agents/broski-pets-bridge/main.py:600"}, "properties": {"repobilityId": "b50f5468b708881b", "scanner": "scanner-primary", "fingerprint": "f47d2e0675e6c862", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-pets-bridge/main.py"}, "region": {"startLine": 600}}}]}, {"ruleId": "scanner-11f182875d3871e1", "level": "error", "message": {"text": "FastAPI POST `pet_chat` without auth dependency \u2014 agents/broski-pets-bridge/main.py:744"}, "properties": {"repobilityId": "2cf2998b6c8bc69d", "scanner": "scanner-primary", "fingerprint": "11f182875d3871e1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-pets-bridge/main.py"}, "region": {"startLine": 744}}}]}, {"ruleId": "scanner-0bcb7da053e1ed34", "level": "error", "message": {"text": "FastAPI POST `pet_feed` without auth dependency \u2014 agents/broski-pets-bridge/main.py:864"}, "properties": {"repobilityId": "ec989aa17fa009b5", "scanner": "scanner-primary", "fingerprint": "0bcb7da053e1ed34", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-pets-bridge/main.py"}, "region": {"startLine": 864}}}]}, {"ruleId": "scanner-c7647c893f19953f", "level": "error", "message": {"text": "FastAPI POST `pet_brain_feed` without auth dependency \u2014 agents/broski-pets-bridge/main.py:944"}, "properties": {"repobilityId": "0595515aa7280ae9", "scanner": "scanner-primary", "fingerprint": "c7647c893f19953f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/broski-pets-bridge/main.py"}, "region": {"startLine": 944}}}]}, {"ruleId": "scanner-0b12e4859e085cb2", "level": "error", "message": {"text": "FastAPI POST `snapshot` without auth dependency \u2014 agents/session-snapshot/main.py:63"}, "properties": {"repobilityId": "aee3b3c1462c9a9e", "scanner": "scanner-primary", "fingerprint": "0b12e4859e085cb2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/session-snapshot/main.py"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-2f2cb1167bc9f375", "level": "error", "message": {"text": "FastAPI POST `split_task` without auth dependency \u2014 agents/hyper-split-agent/main.py:79"}, "properties": {"repobilityId": "957edee32336a2f2", "scanner": "scanner-primary", "fingerprint": "2f2cb1167bc9f375", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/hyper-split-agent/main.py"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-5ef19a66cbe4d92e", "level": "error", "message": {"text": "FastAPI POST `agent_ping` without auth dependency \u2014 agents/agent-registry/agent_registry.py:471"}, "properties": {"repobilityId": "7398d1eea4e3e019", "scanner": "scanner-primary", "fingerprint": "5ef19a66cbe4d92e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-registry/agent_registry.py"}, "region": {"startLine": 471}}}]}, {"ruleId": "scanner-9399c7e91997e4f3", "level": "error", "message": {"text": "FastAPI POST `manual_restart` without auth dependency \u2014 agents/agent-registry/agent_registry.py:481"}, "properties": {"repobilityId": "655e3d28b444fc07", "scanner": "scanner-primary", "fingerprint": "9399c7e91997e4f3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-registry/agent_registry.py"}, "region": {"startLine": 481}}}]}, {"ruleId": "scanner-d80962b075efffc7", "level": "error", "message": {"text": "FastAPI POST `reset_agent` without auth dependency \u2014 agents/agent-registry/agent_registry.py:495"}, "properties": {"repobilityId": "d2705952631df3f6", "scanner": "scanner-primary", "fingerprint": "d80962b075efffc7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/agent-registry/agent_registry.py"}, "region": {"startLine": 495}}}]}, {"ruleId": "scanner-c416a36b743f32b5", "level": "error", "message": {"text": "FastAPI POST `chat_with_agent` without auth dependency \u2014 services/agent-training/main.py:159"}, "properties": {"repobilityId": "dbed606c1b207245", "scanner": "scanner-primary", "fingerprint": "c416a36b743f32b5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/agent-training/main.py"}, "region": {"startLine": 159}}}]}, {"ruleId": "scanner-f261b6b05e1b8510", "level": "error", "message": {"text": "FastAPI POST `train_agent` without auth dependency \u2014 services/agent-training/main.py:182"}, "properties": {"repobilityId": "845fd705553501eb", "scanner": "scanner-primary", "fingerprint": "f261b6b05e1b8510", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/agent-training/main.py"}, "region": {"startLine": 182}}}]}, {"ruleId": "scanner-697642002a9b2256", "level": "error", "message": {"text": "FastAPI POST `multi_agent_request` without auth dependency \u2014 services/agent-training/main.py:278"}, "properties": {"repobilityId": "b79b503193a6a5a7", "scanner": "scanner-primary", "fingerprint": "697642002a9b2256", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/agent-training/main.py"}, "region": {"startLine": 278}}}]}, {"ruleId": "scanner-5de9623d41f1bacb", "level": "error", "message": {"text": "FastAPI POST `create_check` without auth dependency \u2014 services/hyperhealth/main.py:154"}, "properties": {"repobilityId": "4fc9cad626381541", "scanner": "scanner-primary", "fingerprint": "5de9623d41f1bacb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/hyperhealth/main.py"}, "region": {"startLine": 154}}}]}, {"ruleId": "scanner-2ee1b7d2c1936387", "level": "error", "message": {"text": "FastAPI DELETE `delete_check` without auth dependency \u2014 services/hyperhealth/main.py:178"}, "properties": {"repobilityId": "cb27e39a6363d033", "scanner": "scanner-primary", "fingerprint": "2ee1b7d2c1936387", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/hyperhealth/main.py"}, "region": {"startLine": 178}}}]}, {"ruleId": "scanner-cee47038981796e8", "level": "error", "message": {"text": "FastAPI POST `resolve_incident` without auth dependency \u2014 services/hyperhealth/main.py:299"}, "properties": {"repobilityId": "0cb158e5b362f518", "scanner": "scanner-primary", "fingerprint": "cee47038981796e8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/hyperhealth/main.py"}, "region": {"startLine": 299}}}]}, {"ruleId": "scanner-d3a4714b4e3c942d", "level": "error", "message": {"text": "FastAPI POST `create_check` without auth dependency \u2014 services/hyperhealth/app/main.py:40"}, "properties": {"repobilityId": "3178e044e621836c", "scanner": "scanner-primary", "fingerprint": "d3a4714b4e3c942d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/hyperhealth/app/main.py"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-432b473c15d2d3c0", "level": "error", "message": {"text": "FastAPI POST `tools_call` without auth dependency \u2014 services/mcp-rest-adapter/app.py:361"}, "properties": {"repobilityId": "b76203e3612e59e3", "scanner": "scanner-primary", "fingerprint": "432b473c15d2d3c0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "services/mcp-rest-adapter/app.py"}, "region": {"startLine": 361}}}]}, {"ruleId": "scanner-c01b3f3ef84eb8db", "level": "error", "message": {"text": "FastAPI POST `generate_video` without auth dependency \u2014 hyperstudio-platform/api-main.py:240"}, "properties": {"repobilityId": "994b7176569e9452", "scanner": "scanner-primary", "fingerprint": "c01b3f3ef84eb8db", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyperstudio-platform/api-main.py"}, "region": {"startLine": 240}}}]}, {"ruleId": "scanner-d752bed2b136ff77", "level": "error", "message": {"text": "FastAPI DELETE `delete_video` without auth dependency \u2014 hyperstudio-platform/api-main.py:434"}, "properties": {"repobilityId": "44f14a9defaaa7f7", "scanner": "scanner-primary", "fingerprint": "d752bed2b136ff77", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hyperstudio-platform/api-main.py"}, "region": {"startLine": 434}}}]}, {"ruleId": "scanner-4bdb6724c0797f96", "level": "error", "message": {"text": "FastAPI POST `spawn_agent` without auth dependency \u2014 backend/app/main.py:392"}, "properties": {"repobilityId": "92b4b26741173806", "scanner": "scanner-primary", "fingerprint": "4bdb6724c0797f96", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/main.py"}, "region": {"startLine": 392}}}]}, {"ruleId": "scanner-fa5aee2c474a6084", "level": "error", "message": {"text": "FastAPI POST `keep_alive_agent` without auth dependency \u2014 backend/app/main.py:428"}, "properties": {"repobilityId": "7b23ca3781e1f172", "scanner": "scanner-primary", "fingerprint": "fa5aee2c474a6084", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/main.py"}, "region": {"startLine": 428}}}]}, {"ruleId": "scanner-b81fe6ed45ed2bd7", "level": "error", "message": {"text": "FastAPI POST `shutdown_agent` without auth dependency \u2014 backend/app/main.py:451"}, "properties": {"repobilityId": "c78cfdbfa62d3fca", "scanner": "scanner-primary", "fingerprint": "b81fe6ed45ed2bd7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/main.py"}, "region": {"startLine": 451}}}]}, {"ruleId": "scanner-2b0be01d793acc4d", "level": "error", "message": {"text": "FastAPI POST `generate_plan` without auth dependency \u2014 backend/app/api/v1/endpoints/planning.py:33"}, "properties": {"repobilityId": "0afcbc43c3397b70", "scanner": "scanner-primary", "fingerprint": "2b0be01d793acc4d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/api/v1/endpoints/planning.py"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-27e282640e9ef31a", "level": "error", "message": {"text": "FastAPI POST `trigger_graduation` without auth dependency \u2014 backend/app/api/v1/endpoints/graduate.py:71"}, "properties": {"repobilityId": "d7a195f8f852fdce", "scanner": "scanner-primary", "fingerprint": "27e282640e9ef31a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/api/v1/endpoints/graduate.py"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-0a83f8f97ed446a0", "level": "error", "message": {"text": "FastAPI POST `checkout` without auth dependency \u2014 backend/app/routes/stripe.py:40"}, "properties": {"repobilityId": "ef1a026bceadb043", "scanner": "scanner-primary", "fingerprint": "0a83f8f97ed446a0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/routes/stripe.py"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-5d1284e8c56142b4", "level": "error", "message": {"text": "FastAPI POST `stripe_webhook` without auth dependency \u2014 backend/app/routes/stripe.py:99"}, "properties": {"repobilityId": "5ca0ea25691de3ca", "scanner": "scanner-primary", "fingerprint": "5d1284e8c56142b4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/routes/stripe.py"}, "region": {"startLine": 99}}}]}, {"ruleId": "scanner-2d50f45626a4c7fc", "level": "error", "message": {"text": "FastAPI POST `create_task` without auth dependency \u2014 backend/app/routes/tasks.py:133"}, "properties": {"repobilityId": "2505103c0116e3be", "scanner": "scanner-primary", "fingerprint": "2d50f45626a4c7fc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/routes/tasks.py"}, "region": {"startLine": 133}}}]}, {"ruleId": "scanner-76a022e35c523422", "level": "error", "message": {"text": "FastAPI PUT `update_task` without auth dependency \u2014 backend/app/routes/tasks.py:163"}, "properties": {"repobilityId": "9553d3792cacc559", "scanner": "scanner-primary", "fingerprint": "76a022e35c523422", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/routes/tasks.py"}, "region": {"startLine": 163}}}]}, {"ruleId": "scanner-0f2144ac9819efdf", "level": "error", "message": {"text": "FastAPI DELETE `cancel_task` without auth dependency \u2014 backend/app/routes/tasks.py:193"}, "properties": {"repobilityId": "5a20720448b1f3a0", "scanner": "scanner-primary", "fingerprint": "0f2144ac9819efdf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/routes/tasks.py"}, "region": {"startLine": 193}}}]}, {"ruleId": "scanner-445988626c6b007c", "level": "error", "message": {"text": "FastAPI POST `check_and_create_error_task` without auth dependency \u2014 backend/app/routes/tasks.py:214"}, "properties": {"repobilityId": "0c22cc3fb4299b96", "scanner": "scanner-primary", "fingerprint": "445988626c6b007c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/app/routes/tasks.py"}, "region": {"startLine": 214}}}]}, {"ruleId": "scanner-9cc47b59852940c7", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8080/approvals/respond (archive/legacy/agents-dashboard-legacy/components/approval_widget.js:51)"}, "properties": {"repobilityId": "5e416bb2d98e5eaa", "scanner": "scanner-primary", "fingerprint": "9cc47b59852940c7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6029b40e24b35f19", "level": "error", "message": {"text": "Dangling fetch: POST /api/user/sensory-profile (dashboard/src/hooks/useSensoryProfile.ts:24)"}, "properties": {"repobilityId": "868f2a2bf18481e3", "scanner": "scanner-primary", "fingerprint": "6029b40e24b35f19", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-80265d6f3192d3f6", "level": "error", "message": {"text": "Dangling fetch: GET /api/wallet/broski/${userId} (dashboard/src/hooks/useWallet.ts:26)"}, "properties": {"repobilityId": "00644354795ddabe", "scanner": "scanner-primary", "fingerprint": "80265d6f3192d3f6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c764e7f7d827310a", "level": "error", "message": {"text": "Dangling fetch: GET /api/metrics/resources (dashboard/src/hooks/useResourceMetrics.ts:36)"}, "properties": {"repobilityId": "2a79c50d65f8a862", "scanner": "scanner-primary", "fingerprint": "c764e7f7d827310a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fb4f84729b400674", "level": "error", "message": {"text": "Dangling fetch: GET /api/queue/stats (dashboard/src/hooks/useTaskVelocity.ts:29)"}, "properties": {"repobilityId": "55a74b9801d0d1df", "scanner": "scanner-primary", "fingerprint": "fb4f84729b400674", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d1bc1a983c948773", "level": "error", "message": {"text": "Dangling fetch: POST /api/mcp/tools/call (agents/dashboard/components/views/IDEView.tsx:61)"}, "properties": {"repobilityId": "929f50af8f176a0f", "scanner": "scanner-primary", "fingerprint": "d1bc1a983c948773", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3fc525168b55d994", "level": "error", "message": {"text": "Dangling fetch: POST /api/mcp/tools/call (agents/dashboard/components/views/IDEView.tsx:114)"}, "properties": {"repobilityId": "11ea31903d45f9cc", "scanner": "scanner-primary", "fingerprint": "3fc525168b55d994", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-621aa77694a1f4a1", "level": "error", "message": {"text": "Dangling fetch: POST /api/orchestrator (agents/dashboard/components/views/IDEView.tsx:149)"}, "properties": {"repobilityId": "80000f2bbcc0d92d", "scanner": "scanner-primary", "fingerprint": "621aa77694a1f4a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d6d0aa651a1f499b", "level": "error", "message": {"text": "Dangling fetch: GET /api/broski (agents/dashboard/components/views/BROskiPulseView.tsx:23)"}, "properties": {"repobilityId": "ab15f9c034a3fe7a", "scanner": "scanner-primary", "fingerprint": "d6d0aa651a1f499b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-195606e94f095f8e", "level": "error", "message": {"text": "Dangling fetch: GET /api/mcp/health (agents/dashboard/components/views/MCPGatewayView.tsx:20)"}, "properties": {"repobilityId": "63788e294c723fad", "scanner": "scanner-primary", "fingerprint": "195606e94f095f8e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6a795b2a1e9c14b7", "level": "error", "message": {"text": "Dangling fetch: POST /api/planning (agents/dashboard/components/views/PlanningView.tsx:49)"}, "properties": {"repobilityId": "658247a465cf889e", "scanner": "scanner-primary", "fingerprint": "6a795b2a1e9c14b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0053bb98b2d15c26", "level": "error", "message": {"text": "Dangling fetch: GET /api/orchestrator (agents/dashboard/components/views/HealthView.tsx:69)"}, "properties": {"repobilityId": "5e6ba55c0d1851e8", "scanner": "scanner-primary", "fingerprint": "0053bb98b2d15c26", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8a8606aa59b76332", "level": "error", "message": {"text": "Dangling fetch: GET /api/healer/health (agents/dashboard/components/views/HealthView.tsx:74)"}, "properties": {"repobilityId": "845b9d569fd9c976", "scanner": "scanner-primary", "fingerprint": "8a8606aa59b76332", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c9cc5873aaf704ff", "level": "error", "message": {"text": "Dangling fetch: POST /api/orchestrator (agents/dashboard/components/views/TasksView.tsx:279)"}, "properties": {"repobilityId": "278b4ae063cb76d8", "scanner": "scanner-primary", "fingerprint": "c9cc5873aaf704ff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-99cb762aaa04b332", "level": "error", "message": {"text": "Dangling fetch: GET /api/healer${path} (agents/dashboard/hooks/useHealerTelemetry.ts:48)"}, "properties": {"repobilityId": "6470d6015d99aafa", "scanner": "scanner-primary", "fingerprint": "99cb762aaa04b332", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8c0dbe3483760cb9", "level": "error", "message": {"text": "Dangling fetch: POST /api/user/sensory-profile (agents/dashboard/hooks/useSensoryProfile.ts:19)"}, "properties": {"repobilityId": "3ad0e90925642d75", "scanner": "scanner-primary", "fingerprint": "8c0dbe3483760cb9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a2b7d0835ae241d3", "level": "error", "message": {"text": "Dangling fetch: GET /api/wallet/broski/${userId} (agents/dashboard/hooks/useWallet.ts:26)"}, "properties": {"repobilityId": "705bebf749f9863c", "scanner": "scanner-primary", "fingerprint": "a2b7d0835ae241d3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b343bf46effcba12", "level": "error", "message": {"text": "Dangling fetch: GET /api/queue/stats (agents/dashboard/hooks/useTaskVelocity.ts:29)"}, "properties": {"repobilityId": "c00d2ec3c3ca7494", "scanner": "scanner-primary", "fingerprint": "b343bf46effcba12", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e0e04767bee2473a", "level": "error", "message": {"text": "Dangling fetch: POST http://hypercode-core:8000/execution/execute-hc (dashboard-rebuild/app/components/dashboard/HyperCodeIDE.tsx:20)"}, "properties": {"repobilityId": "1a39bd0ecb728c44", "scanner": "scanner-primary", "fingerprint": "e0e04767bee2473a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-deadc76e13987488", "level": "error", "message": {"text": "Dangling fetch: GET http://hypercode-core:8000/mcp/tools (dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:34)"}, "properties": {"repobilityId": "8e3b6f0ddeae8862", "scanner": "scanner-primary", "fingerprint": "deadc76e13987488", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-352d559a120b8285", "level": "error", "message": {"text": "Dangling fetch: POST http://hypercode-core:8000/mcp/tools/${selectedTool.name}/call (dashboard-rebuild/app/components/dashboard/MCPToolBrowser.tsx:58)"}, "properties": {"repobilityId": "2a624acf0bc0333d", "scanner": "scanner-primary", "fingerprint": "352d559a120b8285", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2030f453016d8a2d", "level": "error", "message": {"text": "Dangling fetch: GET http://hypercode-core:8000/missions/tasks (dashboard-rebuild/app/components/dashboard/MissionTimeline.tsx:23)"}, "properties": {"repobilityId": "b789a78c7efb9c9a", "scanner": "scanner-primary", "fingerprint": "2030f453016d8a2d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-199df45c9ed8257c", "level": "error", "message": {"text": "Dangling fetch: GET http://hypercode-core:8000/docker/containers (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:25)"}, "properties": {"repobilityId": "536491dcd7d0c4c9", "scanner": "scanner-primary", "fingerprint": "199df45c9ed8257c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1c8fc59ab23fbbc0", "level": "error", "message": {"text": "Dangling fetch: POST http://hypercode-core:8000/docker/containers/${containerId}/stop (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:44)"}, "properties": {"repobilityId": "4c156ffeac066313", "scanner": "scanner-primary", "fingerprint": "1c8fc59ab23fbbc0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5728de0d19983074", "level": "error", "message": {"text": "Dangling fetch: GET http://hypercode-core:8000/docker/containers (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:48)"}, "properties": {"repobilityId": "0c457e1e14939745", "scanner": "scanner-primary", "fingerprint": "5728de0d19983074", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d29a06b7e47e443", "level": "error", "message": {"text": "Dangling fetch: POST http://hypercode-core:8000/docker/containers/${containerId}/restart (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:60)"}, "properties": {"repobilityId": "a8c43ab69869ff97", "scanner": "scanner-primary", "fingerprint": "6d29a06b7e47e443", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dc4d93953d8e3cb0", "level": "error", "message": {"text": "Dangling fetch: GET http://hypercode-core:8000/docker/containers (dashboard-rebuild/app/components/dashboard/DockerZone.tsx:64)"}, "properties": {"repobilityId": "c9c08c2cd3b8ad43", "scanner": "scanner-primary", "fingerprint": "dc4d93953d8e3cb0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "55c6b877a3124228", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3346f62a421be9b0", "level": "note", "message": {"text": "Unused endpoint: POST /alerts"}, "properties": {"repobilityId": "158c1d2af60432c6", "scanner": "scanner-primary", "fingerprint": "3346f62a421be9b0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0b4ad9c5b101129c", "level": "note", "message": {"text": "Unused endpoint: GET /circuit-breaker/status"}, "properties": {"repobilityId": "4780cfe8dedcaae8", "scanner": "scanner-primary", "fingerprint": "0b4ad9c5b101129c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c0e196a48f7286ac", "level": "note", "message": {"text": "Unused endpoint: POST /circuit-breaker/reset/{agent_name}"}, "properties": {"repobilityId": "e9fc3f3bd00078da", "scanner": "scanner-primary", "fingerprint": "c0e196a48f7286ac", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4c32fde42dc4fed2", "level": "note", "message": {"text": "Unused endpoint: POST /heal"}, "properties": {"repobilityId": "e83d545ca4c84056", "scanner": "scanner-primary", "fingerprint": "4c32fde42dc4fed2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b2c2cc5ee516d7e3", "level": "note", "message": {"text": "Unused endpoint: GET /agents/health"}, "properties": {"repobilityId": "cb383d14065f5c7c", "scanner": "scanner-primary", "fingerprint": "b2c2cc5ee516d7e3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-066d9d6875914444", "level": "note", "message": {"text": "Unused endpoint: GET /mcp/tools"}, "properties": {"repobilityId": "edf5e03c21865e33", "scanner": "scanner-primary", "fingerprint": "066d9d6875914444", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cc1949f130b00914", "level": "note", "message": {"text": "Unused endpoint: POST /mcp/execute"}, "properties": {"repobilityId": "7828f718c7f89314", "scanner": "scanner-primary", "fingerprint": "cc1949f130b00914", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-afc064028ae39ea9", "level": "note", "message": {"text": "Unused endpoint: GET /history"}, "properties": {"repobilityId": "465506f023574bd4", "scanner": "scanner-primary", "fingerprint": "afc064028ae39ea9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4f9229f0089ca786", "level": "note", "message": {"text": "Unused endpoint: POST /diagnose"}, "properties": {"repobilityId": "246413829303455c", "scanner": "scanner-primary", "fingerprint": "4f9229f0089ca786", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d54892d6fc450e40", "level": "note", "message": {"text": "Unused endpoint: GET /failure-modes/{agent_name}"}, "properties": {"repobilityId": "39192441b936b5a8", "scanner": "scanner-primary", "fingerprint": "d54892d6fc450e40", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c2fbe8013f82231d", "level": "note", "message": {"text": "Unused endpoint: GET /slos/{agent_name}"}, "properties": {"repobilityId": "f38a9846abb3ff38", "scanner": "scanner-primary", "fingerprint": "c2fbe8013f82231d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b0174a187c3660bf", "level": "note", "message": {"text": "Unused endpoint: GET /playbook/{agent_name}/{playbook_name}"}, "properties": {"repobilityId": "69b1cebddfd825c7", "scanner": "scanner-primary", "fingerprint": "b0174a187c3660bf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0058c57900497808", "level": "note", "message": {"text": "Unused endpoint: GET /life-plan/{agent_name}"}, "properties": {"repobilityId": "f5f0129e9abb4af5", "scanner": "scanner-primary", "fingerprint": "0058c57900497808", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-98d06ccf8f8e7d22", "level": "note", "message": {"text": "Unused endpoint: GET /all-metrics"}, "properties": {"repobilityId": "deb4d0299b5160ae", "scanner": "scanner-primary", "fingerprint": "98d06ccf8f8e7d22", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-22668ab2704ae6c4", "level": "note", "message": {"text": "Unused endpoint: GET /xp/status"}, "properties": {"repobilityId": "09873bce47d5559c", "scanner": "scanner-primary", "fingerprint": "22668ab2704ae6c4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-813102c93f23bb9f", "level": "note", "message": {"text": "Unused endpoint: GET /xp/history"}, "properties": {"repobilityId": "88a4c0320f2c7135", "scanner": "scanner-primary", "fingerprint": "813102c93f23bb9f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a81aad205ec2a5b8", "level": "note", "message": {"text": "Unused endpoint: GET /circuit-breaker/{agent_name}"}, "properties": {"repobilityId": "3bf18a9b7bdb9da3", "scanner": "scanner-primary", "fingerprint": "a81aad205ec2a5b8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d33623a3214d24ca", "level": "note", "message": {"text": "Unused endpoint: POST /alerts/webhook"}, "properties": {"repobilityId": "dfa0a16b14f0e54b", "scanner": "scanner-primary", "fingerprint": "d33623a3214d24ca", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-723321bbd0fd73b5", "level": "note", "message": {"text": "Unused endpoint: GET /throttle/state"}, "properties": {"repobilityId": "f3a3c68cc41920a6", "scanner": "scanner-primary", "fingerprint": "723321bbd0fd73b5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-80b805a54663b5d2", "level": "note", "message": {"text": "Unused endpoint: POST /throttle/state"}, "properties": {"repobilityId": "c116511775e96dd9", "scanner": "scanner-primary", "fingerprint": "80b805a54663b5d2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f14ec854a14150bf", "level": "note", "message": {"text": "Unused endpoint: GET /intents"}, "properties": {"repobilityId": "b254783448ea9a11", "scanner": "scanner-primary", "fingerprint": "f14ec854a14150bf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-120d320863420a12", "level": "note", "message": {"text": "Unused endpoint: POST /route"}, "properties": {"repobilityId": "165a966d92bcf78e", "scanner": "scanner-primary", "fingerprint": "120d320863420a12", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-195fb029bb695346", "level": "note", "message": {"text": "Unused endpoint: POST /scan"}, "properties": {"repobilityId": "6e38ce9d19d8bd26", "scanner": "scanner-primary", "fingerprint": "195fb029bb695346", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d440aecec5450ba4", "level": "note", "message": {"text": "Unused endpoint: GET /tiers"}, "properties": {"repobilityId": "6b6e5c3e4c38f9b0", "scanner": "scanner-primary", "fingerprint": "d440aecec5450ba4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-020eefc3f5b84b95", "level": "note", "message": {"text": "Unused endpoint: GET /decisions"}, "properties": {"repobilityId": "2cb11787d3dd9a53", "scanner": "scanner-primary", "fingerprint": "020eefc3f5b84b95", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2334e8deb02c0927", "level": "note", "message": {"text": "Unused endpoint: POST /throttle/{tier}"}, "properties": {"repobilityId": "ef6f417664a73f3e", "scanner": "scanner-primary", "fingerprint": "2334e8deb02c0927", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-25d2ca63197cd1e9", "level": "note", "message": {"text": "Unused endpoint: POST /execute"}, "properties": {"repobilityId": "8e422827146690aa", "scanner": "scanner-primary", "fingerprint": "25d2ca63197cd1e9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-827392c0226680bd", "level": "note", "message": {"text": "Unused endpoint: POST /goals"}, "properties": {"repobilityId": "cef164d2c2eeecf3", "scanner": "scanner-primary", "fingerprint": "827392c0226680bd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-14524f93aef43d33", "level": "note", "message": {"text": "Unused endpoint: GET /goals/{goal_id}"}, "properties": {"repobilityId": "81853178f0ad7502", "scanner": "scanner-primary", "fingerprint": "14524f93aef43d33", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-640c0cfcee4ccc97", "level": "note", "message": {"text": "Unused endpoint: POST /goals/{goal_id}/steps"}, "properties": {"repobilityId": "4e08cbc22f099c61", "scanner": "scanner-primary", "fingerprint": "640c0cfcee4ccc97", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e36c87d4dd03907e", "level": "note", "message": {"text": "Unused endpoint: GET /goals/{goal_id}/steps/ready"}, "properties": {"repobilityId": "dd5e23b8aa79e698", "scanner": "scanner-primary", "fingerprint": "e36c87d4dd03907e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2a7c2d0bcaa06fec", "level": "note", "message": {"text": "Unused endpoint: POST /goals/{goal_id}/steps/{step_id}/complete"}, "properties": {"repobilityId": "8ead69abe97ea49b", "scanner": "scanner-primary", "fingerprint": "2a7c2d0bcaa06fec", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9adb99e9cc1eacc4", "level": "note", "message": {"text": "Unused endpoint: POST /goals/{goal_id}/steps/{step_id}/fail"}, "properties": {"repobilityId": "a4a4f34bac4fd99b", "scanner": "scanner-primary", "fingerprint": "9adb99e9cc1eacc4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8d1928ec2b081920", "level": "note", "message": {"text": "Unused endpoint: POST /agents/register"}, "properties": {"repobilityId": "a96b50f1c4572186", "scanner": "scanner-primary", "fingerprint": "8d1928ec2b081920", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-50207204ed781305", "level": "note", "message": {"text": "Unused endpoint: GET /goals"}, "properties": {"repobilityId": "1d8c1b6c54aae4e7", "scanner": "scanner-primary", "fingerprint": "50207204ed781305", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cd8dc4599ec52a08", "level": "note", "message": {"text": "Unused endpoint: GET /stats"}, "properties": {"repobilityId": "19a304cf2728b0fb", "scanner": "scanner-primary", "fingerprint": "cd8dc4599ec52a08", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0a4cb6f6c3e91949", "level": "note", "message": {"text": "Unused endpoint: POST /tasks/run"}, "properties": {"repobilityId": "eeb4f30e78d8edf9", "scanner": "scanner-primary", "fingerprint": "0a4cb6f6c3e91949", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-12b9a280b2e7c648", "level": "note", "message": {"text": "Unused endpoint: POST /tasks/enqueue"}, "properties": {"repobilityId": "1a8b96cb87624ce1", "scanner": "scanner-primary", "fingerprint": "12b9a280b2e7c648", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ffdfcf0b799bb0f3", "level": "note", "message": {"text": "Unused endpoint: POST /tasks/queue/run"}, "properties": {"repobilityId": "c15d06702d13a9ae", "scanner": "scanner-primary", "fingerprint": "ffdfcf0b799bb0f3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1a87a81031600c75", "level": "note", "message": {"text": "Unused endpoint: GET /tasks/handlers"}, "properties": {"repobilityId": "7c4b34503c627423", "scanner": "scanner-primary", "fingerprint": "1a87a81031600c75", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-125a1c875e635444", "level": "note", "message": {"text": "Unused endpoint: GET /handlers"}, "properties": {"repobilityId": "371e41fc651d0968", "scanner": "scanner-primary", "fingerprint": "125a1c875e635444", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f491f81fb7d50c4b", "level": "note", "message": {"text": "Unused endpoint: GET /tasks/history"}, "properties": {"repobilityId": "12d3a65c9af37139", "scanner": "scanner-primary", "fingerprint": "f491f81fb7d50c4b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d91a7845c35d0f8f", "level": "note", "message": {"text": "Unused endpoint: POST /rules"}, "properties": {"repobilityId": "622a54de5868d60d", "scanner": "scanner-primary", "fingerprint": "d91a7845c35d0f8f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-67db81ff589a2912", "level": "note", "message": {"text": "Unused endpoint: GET /alerts"}, "properties": {"repobilityId": "3215d259e33940f7", "scanner": "scanner-primary", "fingerprint": "67db81ff589a2912", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-79d7d0caab71b641", "level": "note", "message": {"text": "Unused endpoint: GET /alerts/history"}, "properties": {"repobilityId": "ed77b2d48c66a6fd", "scanner": "scanner-primary", "fingerprint": "79d7d0caab71b641", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-150a51bfa1c53963", "level": "note", "message": {"text": "Unused endpoint: POST /events"}, "properties": {"repobilityId": "014fe48c8d8193cc", "scanner": "scanner-primary", "fingerprint": "150a51bfa1c53963", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a7b5a6cbd0c4c526", "level": "note", "message": {"text": "Unused endpoint: GET /swarm"}, "properties": {"repobilityId": "4671c40c477502cc", "scanner": "scanner-primary", "fingerprint": "a7b5a6cbd0c4c526", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fbfd93da1ce4e735", "level": "note", "message": {"text": "Unused endpoint: GET /swarm/history"}, "properties": {"repobilityId": "7d66a9848c40f31d", "scanner": "scanner-primary", "fingerprint": "fbfd93da1ce4e735", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d10e5c556d4bcff6", "level": "note", "message": {"text": "Unused endpoint: GET /capabilities"}, "properties": {"repobilityId": "95fdc0adf3f410a1", "scanner": "scanner-primary", "fingerprint": "d10e5c556d4bcff6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}