{"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-166dff3c3df6a10e", "name": "ORM models found but no DB engine detected", "shortDescription": {"text": "ORM models found but no DB engine detected"}, "fullDescription": {"text": "The repo defines tables/models but no DB connection string was found. Likely lives in env vars or a config file the scanner didn't read."}, "properties": {"scanner": "scanner-primary", "layer": "data", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c59324d20c55064a", "name": "Insecure pattern 'direct_innerhtml_assignment' in ingreso.html:768", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in ingreso.html:768"}, "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-70f7faf29ae39d8e", "name": "Insecure pattern 'local_storage_auth_token' in login.html:439", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in login.html:439"}, "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-53925da72fc84772", "name": "Insecure pattern 'direct_innerhtml_assignment' in index.html:240", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in index.html:240"}, "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-b9126fc68e725b88", "name": "Insecure pattern 'direct_innerhtml_assignment' in confirmacion.html:451", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in confirmacion.html:451"}, "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-a184fee5a9c013dd", "name": "Insecure pattern 'direct_innerhtml_assignment' in portal.html:762", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in portal.html:762"}, "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-f4de85faf1d0ab6b", "name": "Insecure pattern 'direct_innerhtml_assignment' in admin/configuracion.html:345", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin/configuracion.html:345"}, "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-2a738ba58bd87531", "name": "Insecure pattern 'direct_innerhtml_assignment' in admin/precios.html:477", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin/precios.html:477"}, "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-bf2f4a567bfe2b34", "name": "Insecure pattern 'direct_innerhtml_assignment' in admin/index.html:912", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin/index.html:912"}, "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-38b9ef71bf0feb80", "name": "Insecure pattern 'direct_innerhtml_assignment' in recepcion/nuevo-ticket.html:382", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in recepcion/nuevo-ticket.html:382"}, "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-91c4534888824452", "name": "Insecure pattern 'direct_innerhtml_assignment' in recepcion/index.html:702", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in recepcion/index.html:702"}, "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-3b82758aa577adc4", "name": "Insecure pattern 'direct_innerhtml_assignment' in recepcion/ticket.html:938", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in recepcion/ticket.html:938"}, "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-f2ab87645fa81441", "name": "Insecure pattern 'direct_innerhtml_assignment' in tecnico/index.html:370", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tecnico/index.html:370"}, "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-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-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "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-17d866d91a7c451e", "name": "Agent instruction/config may expose a secret: CLAUDE.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: CLAUDE.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}}]}}, "automationDetails": {"id": "repobility/22142"}, "properties": {"repository": "ventas806/soporte", "repoUrl": "https://github.com/ventas806/soporte", "branch": "main"}, "results": [{"ruleId": "scanner-166dff3c3df6a10e", "level": "warning", "message": {"text": "ORM models found but no DB engine detected"}, "properties": {"repobilityId": "cda36de65e114635", "scanner": "scanner-primary", "fingerprint": "166dff3c3df6a10e", "layer": "data", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-c59324d20c55064a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in ingreso.html:768"}, "properties": {"repobilityId": "d4038b348a192769", "scanner": "scanner-primary", "fingerprint": "c59324d20c55064a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ingreso.html"}, "region": {"startLine": 768}}}]}, {"ruleId": "scanner-70f7faf29ae39d8e", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in login.html:439"}, "properties": {"repobilityId": "eafd762f754dc2fc", "scanner": "scanner-primary", "fingerprint": "70f7faf29ae39d8e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "login.html"}, "region": {"startLine": 439}}}]}, {"ruleId": "scanner-53925da72fc84772", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in index.html:240"}, "properties": {"repobilityId": "f91708437a3a5445", "scanner": "scanner-primary", "fingerprint": "53925da72fc84772", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "index.html"}, "region": {"startLine": 240}}}]}, {"ruleId": "scanner-b9126fc68e725b88", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in confirmacion.html:451"}, "properties": {"repobilityId": "84712dec5e28182a", "scanner": "scanner-primary", "fingerprint": "b9126fc68e725b88", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "confirmacion.html"}, "region": {"startLine": 451}}}]}, {"ruleId": "scanner-a184fee5a9c013dd", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in portal.html:762"}, "properties": {"repobilityId": "69708622a939e054", "scanner": "scanner-primary", "fingerprint": "a184fee5a9c013dd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "portal.html"}, "region": {"startLine": 762}}}]}, {"ruleId": "scanner-f4de85faf1d0ab6b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin/configuracion.html:345"}, "properties": {"repobilityId": "68743b7989d75a7c", "scanner": "scanner-primary", "fingerprint": "f4de85faf1d0ab6b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "admin/configuracion.html"}, "region": {"startLine": 345}}}]}, {"ruleId": "scanner-2a738ba58bd87531", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin/precios.html:477"}, "properties": {"repobilityId": "4da9ebae97a5afde", "scanner": "scanner-primary", "fingerprint": "2a738ba58bd87531", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "admin/precios.html"}, "region": {"startLine": 477}}}]}, {"ruleId": "scanner-bf2f4a567bfe2b34", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin/index.html:912"}, "properties": {"repobilityId": "d75ddf931ed139f4", "scanner": "scanner-primary", "fingerprint": "bf2f4a567bfe2b34", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "admin/index.html"}, "region": {"startLine": 912}}}]}, {"ruleId": "scanner-38b9ef71bf0feb80", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in recepcion/nuevo-ticket.html:382"}, "properties": {"repobilityId": "b0b368df75caa654", "scanner": "scanner-primary", "fingerprint": "38b9ef71bf0feb80", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "recepcion/nuevo-ticket.html"}, "region": {"startLine": 382}}}]}, {"ruleId": "scanner-91c4534888824452", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in recepcion/index.html:702"}, "properties": {"repobilityId": "dba27d58ae5d1812", "scanner": "scanner-primary", "fingerprint": "91c4534888824452", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "recepcion/index.html"}, "region": {"startLine": 702}}}]}, {"ruleId": "scanner-3b82758aa577adc4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in recepcion/ticket.html:938"}, "properties": {"repobilityId": "b5e0126d07eaca5e", "scanner": "scanner-primary", "fingerprint": "3b82758aa577adc4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "recepcion/ticket.html"}, "region": {"startLine": 938}}}]}, {"ruleId": "scanner-f2ab87645fa81441", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tecnico/index.html:370"}, "properties": {"repobilityId": "9e5656742efcef25", "scanner": "scanner-primary", "fingerprint": "f2ab87645fa81441", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tecnico/index.html"}, "region": {"startLine": 370}}}]}, {"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-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "ff34e8f92d597acb", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-17d866d91a7c451e", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: CLAUDE.md"}, "properties": {"repobilityId": "ccce5984e58a48f0", "scanner": "scanner-primary", "fingerprint": "17d866d91a7c451e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 37}}}]}]}]}