{"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-99ebb9b78d992df2", "name": "Possibly dead Python function: show_progress", "shortDescription": {"text": "Possibly dead Python function: show_progress"}, "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-065e1c38d9224ae8", "name": "Possibly dead Python function: worker", "shortDescription": {"text": "Possibly dead Python function: worker"}, "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-badd274ed9de146d", "name": "Possibly dead Python function: download_selected", "shortDescription": {"text": "Possibly dead Python function: download_selected"}, "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-88fd32249d7fd69d", "name": "Possibly dead Python function: pause_playback", "shortDescription": {"text": "Possibly dead Python function: pause_playback"}, "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-a4d03e6b18b44612", "name": "Possibly dead Python function: continue_playback", "shortDescription": {"text": "Possibly dead Python function: continue_playback"}, "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-f2b2eb076eaf7305", "name": "Possibly dead Python function: process_events", "shortDescription": {"text": "Possibly dead Python function: process_events"}, "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-777691efd54c8bc1", "name": "Possibly dead Python function: buffered_chunks", "shortDescription": {"text": "Possibly dead Python function: buffered_chunks"}, "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-5161f6f49012e183", "name": "Possibly dead Python function: transfer_worker", "shortDescription": {"text": "Possibly dead Python function: transfer_worker"}, "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-d9af4fbfa1797494", "name": "Possibly dead Python function: playback_worker", "shortDescription": {"text": "Possibly dead Python function: playback_worker"}, "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-8f10039097c460d3", "name": "Possibly dead Python function: stop_audio", "shortDescription": {"text": "Possibly dead Python function: stop_audio"}, "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-8dd6b5f5ac4a285e", "name": "Possibly dead Python function: play_file", "shortDescription": {"text": "Possibly dead Python function: play_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-80c22211d7ff9574", "name": "Possibly dead Python function: pipe_status", "shortDescription": {"text": "Possibly dead Python function: pipe_status"}, "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-acaa3435538a7f49", "name": "Possibly dead Python function: playback_status", "shortDescription": {"text": "Possibly dead Python function: playback_status"}, "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-b1bd47f7c2f41fa0", "name": "Possibly dead Python function: worker", "shortDescription": {"text": "Possibly dead Python function: worker"}, "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-fef8125c5a0741c3", "name": "Possibly dead Python function: stream_selected", "shortDescription": {"text": "Possibly dead Python function: stream_selected"}, "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-9eb9faea4f3d6586", "name": "Possibly dead Python function: pipe_status", "shortDescription": {"text": "Possibly dead Python function: pipe_status"}, "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-92400bf3a45e0035", "name": "Possibly dead Python function: playback_status", "shortDescription": {"text": "Possibly dead Python function: playback_status"}, "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-a23f66497d757fd1", "name": "Possibly dead Python function: start_seek_drag", "shortDescription": {"text": "Possibly dead Python function: start_seek_drag"}, "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-06a2e84f104d25e2", "name": "Possibly dead Python function: finish_seek_drag", "shortDescription": {"text": "Possibly dead Python function: finish_seek_drag"}, "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-6dfea50e47384b60", "name": "Possibly dead Python function: play_downloaded", "shortDescription": {"text": "Possibly dead Python function: play_downloaded"}, "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-7aef87219391cfdf", "name": "Possibly dead Python function: pause_audio", "shortDescription": {"text": "Possibly dead Python function: pause_audio"}, "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-3461d400abd0acf0", "name": "Possibly dead Python function: resume_audio", "shortDescription": {"text": "Possibly dead Python function: resume_audio"}, "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-f33b2590fccc3ab2", "name": "Possibly dead Python function: stop_stream", "shortDescription": {"text": "Possibly dead Python function: stop_stream"}, "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-4ca085890ed07636", "name": "Possibly dead Python function: watch_stream", "shortDescription": {"text": "Possibly dead Python function: watch_stream"}, "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-337ac8a6a24111e1", "name": "Possibly dead Python function: process_events", "shortDescription": {"text": "Possibly dead Python function: process_events"}, "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-92b17aa2d8bc1b05", "name": "Insecure pattern 'document_write' in Practica4/1/axel/aplicaciones/sockets/c/hilos/http/index2.htm:255", "shortDescription": {"text": "Insecure pattern 'document_write' in Practica4/1/axel/aplicaciones/sockets/c/hilos/http/index2.htm:255"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b1e4e0ff321e754b", "name": "Insecure pattern 'document_write' in Practica4/1/axel/aplicaciones/sockets/c/hilos/http/index2_1.htm:255", "shortDescription": {"text": "Insecure pattern 'document_write' in Practica4/1/axel/aplicaciones/sockets/c/hilos/http/index2_1.htm:255"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49f14c74de5e238e", "name": "Insecure pattern 'document_write' in Practica4/1/axel/aplicaciones/sockets/java/servidor/index2.htm:255", "shortDescription": {"text": "Insecure pattern 'document_write' in Practica4/1/axel/aplicaciones/sockets/java/servidor/index2.htm:255"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9e8c81f3a74025fd", "name": "Insecure pattern 'weak_hash' in Practica4/1/axel/aplicaciones/RMI/MD5Checksum.java:10", "shortDescription": {"text": "Insecure pattern 'weak_hash' in Practica4/1/axel/aplicaciones/RMI/MD5Checksum.java:10"}, "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-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 8 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 38 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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "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:\nPractica2/servidor.py:send_with_ack, Practica3/servidor.py:send_with_ack\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}}]}}, "automationDetails": {"id": "repobility/25327"}, "properties": {"repository": "DemianRom/apps-webs-practicas", "repoUrl": "https://github.com/DemianRom/apps-webs-practicas", "branch": "main"}, "results": [{"ruleId": "scanner-99ebb9b78d992df2", "level": "note", "message": {"text": "Possibly dead Python function: show_progress"}, "properties": {"repobilityId": "6d5527eaf5a78425", "scanner": "scanner-primary", "fingerprint": "99ebb9b78d992df2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica2/cliente.py:119"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-065e1c38d9224ae8", "level": "note", "message": {"text": "Possibly dead Python function: worker"}, "properties": {"repobilityId": "fbe2b50200068803", "scanner": "scanner-primary", "fingerprint": "065e1c38d9224ae8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica2/gui.py:223"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-badd274ed9de146d", "level": "note", "message": {"text": "Possibly dead Python function: download_selected"}, "properties": {"repobilityId": "1f1e9a69089cae23", "scanner": "scanner-primary", "fingerprint": "badd274ed9de146d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica2/gui.py:209"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-88fd32249d7fd69d", "level": "note", "message": {"text": "Possibly dead Python function: pause_playback"}, "properties": {"repobilityId": "837f9da8a67d48ad", "scanner": "scanner-primary", "fingerprint": "88fd32249d7fd69d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica2/gui.py:258"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4d03e6b18b44612", "level": "note", "message": {"text": "Possibly dead Python function: continue_playback"}, "properties": {"repobilityId": "cca4822fbe25e020", "scanner": "scanner-primary", "fingerprint": "a4d03e6b18b44612", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica2/gui.py:274"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f2b2eb076eaf7305", "level": "note", "message": {"text": "Possibly dead Python function: process_events"}, "properties": {"repobilityId": "1c2a84fe54410f8f", "scanner": "scanner-primary", "fingerprint": "f2b2eb076eaf7305", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica2/gui.py:393"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-777691efd54c8bc1", "level": "note", "message": {"text": "Possibly dead Python function: buffered_chunks"}, "properties": {"repobilityId": "752e3ac33f29b70a", "scanner": "scanner-primary", "fingerprint": "777691efd54c8bc1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/cliente.py:90"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5161f6f49012e183", "level": "note", "message": {"text": "Possibly dead Python function: transfer_worker"}, "properties": {"repobilityId": "f56c8f6eb006a6c5", "scanner": "scanner-primary", "fingerprint": "5161f6f49012e183", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/cliente.py:244"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d9af4fbfa1797494", "level": "note", "message": {"text": "Possibly dead Python function: playback_worker"}, "properties": {"repobilityId": "dd737e3e30eba4a9", "scanner": "scanner-primary", "fingerprint": "d9af4fbfa1797494", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/cliente.py:253"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f10039097c460d3", "level": "note", "message": {"text": "Possibly dead Python function: stop_audio"}, "properties": {"repobilityId": "2fb27c1b5c6dc6b7", "scanner": "scanner-primary", "fingerprint": "8f10039097c460d3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/cliente.py:294"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8dd6b5f5ac4a285e", "level": "note", "message": {"text": "Possibly dead Python function: play_file"}, "properties": {"repobilityId": "3e9a0a974be2d56c", "scanner": "scanner-primary", "fingerprint": "8dd6b5f5ac4a285e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/cliente.py:373"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-80c22211d7ff9574", "level": "note", "message": {"text": "Possibly dead Python function: pipe_status"}, "properties": {"repobilityId": "f7e12f0d9760b70b", "scanner": "scanner-primary", "fingerprint": "80c22211d7ff9574", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/cliente.py:628"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-acaa3435538a7f49", "level": "note", "message": {"text": "Possibly dead Python function: playback_status"}, "properties": {"repobilityId": "16cb341a3ddcab64", "scanner": "scanner-primary", "fingerprint": "acaa3435538a7f49", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/cliente.py:632"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b1bd47f7c2f41fa0", "level": "note", "message": {"text": "Possibly dead Python function: worker"}, "properties": {"repobilityId": "fbe2b50200068803", "scanner": "scanner-primary", "fingerprint": "b1bd47f7c2f41fa0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:371"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fef8125c5a0741c3", "level": "note", "message": {"text": "Possibly dead Python function: stream_selected"}, "properties": {"repobilityId": "837b2e5e466c7636", "scanner": "scanner-primary", "fingerprint": "fef8125c5a0741c3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:270"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9eb9faea4f3d6586", "level": "note", "message": {"text": "Possibly dead Python function: pipe_status"}, "properties": {"repobilityId": "f7e12f0d9760b70b", "scanner": "scanner-primary", "fingerprint": "9eb9faea4f3d6586", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:305"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92400bf3a45e0035", "level": "note", "message": {"text": "Possibly dead Python function: playback_status"}, "properties": {"repobilityId": "16cb341a3ddcab64", "scanner": "scanner-primary", "fingerprint": "92400bf3a45e0035", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:365"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a23f66497d757fd1", "level": "note", "message": {"text": "Possibly dead Python function: start_seek_drag"}, "properties": {"repobilityId": "4d2f2ab8e34eec4d", "scanner": "scanner-primary", "fingerprint": "a23f66497d757fd1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:327"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-06a2e84f104d25e2", "level": "note", "message": {"text": "Possibly dead Python function: finish_seek_drag"}, "properties": {"repobilityId": "80b2b3696102fb18", "scanner": "scanner-primary", "fingerprint": "06a2e84f104d25e2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:330"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6dfea50e47384b60", "level": "note", "message": {"text": "Possibly dead Python function: play_downloaded"}, "properties": {"repobilityId": "2686407c132d9fd6", "scanner": "scanner-primary", "fingerprint": "6dfea50e47384b60", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:350"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7aef87219391cfdf", "level": "note", "message": {"text": "Possibly dead Python function: pause_audio"}, "properties": {"repobilityId": "bf57454b9ee20aa6", "scanner": "scanner-primary", "fingerprint": "7aef87219391cfdf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:395"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3461d400abd0acf0", "level": "note", "message": {"text": "Possibly dead Python function: resume_audio"}, "properties": {"repobilityId": "c6a89348cbb283df", "scanner": "scanner-primary", "fingerprint": "3461d400abd0acf0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:405"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f33b2590fccc3ab2", "level": "note", "message": {"text": "Possibly dead Python function: stop_stream"}, "properties": {"repobilityId": "6aa54155d18c752d", "scanner": "scanner-primary", "fingerprint": "f33b2590fccc3ab2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:415"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ca085890ed07636", "level": "note", "message": {"text": "Possibly dead Python function: watch_stream"}, "properties": {"repobilityId": "2f1f0bd09066a006", "scanner": "scanner-primary", "fingerprint": "4ca085890ed07636", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:418"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-337ac8a6a24111e1", "level": "note", "message": {"text": "Possibly dead Python function: process_events"}, "properties": {"repobilityId": "1c2a84fe54410f8f", "scanner": "scanner-primary", "fingerprint": "337ac8a6a24111e1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica3/gui.py:467"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92b17aa2d8bc1b05", "level": "note", "message": {"text": "Insecure pattern 'document_write' in Practica4/1/axel/aplicaciones/sockets/c/hilos/http/index2.htm:255"}, "properties": {"repobilityId": "7b87f5ff6af68ffd", "scanner": "scanner-primary", "fingerprint": "92b17aa2d8bc1b05", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica4/1/axel/aplicaciones/sockets/c/hilos/http/index2.htm"}, "region": {"startLine": 255}}}]}, {"ruleId": "scanner-b1e4e0ff321e754b", "level": "note", "message": {"text": "Insecure pattern 'document_write' in Practica4/1/axel/aplicaciones/sockets/c/hilos/http/index2_1.htm:255"}, "properties": {"repobilityId": "da0b95d00a981465", "scanner": "scanner-primary", "fingerprint": "b1e4e0ff321e754b", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica4/1/axel/aplicaciones/sockets/c/hilos/http/index2_1.htm"}, "region": {"startLine": 255}}}]}, {"ruleId": "scanner-49f14c74de5e238e", "level": "note", "message": {"text": "Insecure pattern 'document_write' in Practica4/1/axel/aplicaciones/sockets/java/servidor/index2.htm:255"}, "properties": {"repobilityId": "1a1c99b026ee00ed", "scanner": "scanner-primary", "fingerprint": "49f14c74de5e238e", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica4/1/axel/aplicaciones/sockets/java/servidor/index2.htm"}, "region": {"startLine": 255}}}]}, {"ruleId": "scanner-9e8c81f3a74025fd", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in Practica4/1/axel/aplicaciones/RMI/MD5Checksum.java:10"}, "properties": {"repobilityId": "beb5205da3374449", "scanner": "scanner-primary", "fingerprint": "9e8c81f3a74025fd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Practica4/1/axel/aplicaciones/RMI/MD5Checksum.java"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "bcbb8c1ebfb9d07b", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "40c5cab0ab956033", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "9aa8506437af7586", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "5090e2dbfe3a7283", "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": "1de16889c861d9df", "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": "b837b356a89d18cd", "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": "2fe791702ecfe048", "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": "a4a63878659cd308", "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": "70f025566db4bafd", "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": "3f61f4c0ea6c03ca", "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": "26fd588b22fad2fe", "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": "bd0cfc615b04ac32", "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": "30dee1b5daa06b2a", "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": "f6a1def4b0853631", "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": "71f648e2ebb5cb37", "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": "4fb6c312730c2157", "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": "700efe20efae7053", "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": "52217624d058414c", "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": "7b5cfb25eb2fbb65", "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": "90924d638833b4f6", "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": "d0a8ef2a8bb6a881", "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": "6c54f6128e9e53cc", "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": "352c7193d86c6650", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}