Scan timing: clone 2.74s · analysis 1.33s · 24.8 MB · GitHub API rate-limit (preflight)
https://github.com/microsoft/markitdown.git
· scanned 2026-05-27 03:30 UTC (2 weeks, 3 days ago)
· 10 languages
278 raw signals (115 security + 163 graph) 67th percentile · Python · small (2-20K LoC) System graph score 89 (lower by 13)
Last scanned 2 weeks, 3 days ago · v3 · 82 actionable findings from 2 signal sources. 82 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
55.0 | 0.15 | 8.25 |
security_score |
94.7 | 0.25 | 23.68 |
testing_score |
85.0 | 0.20 | 17.00 |
documentation_score |
80.0 | 0.15 | 12.00 |
practices_score |
75.0 | 0.15 | 11.25 |
code_quality |
43.6 | 0.10 | 4.36 |
| Overall | 1.00 | 76.5 |
Showing 64 of 82 actionable findings. 164 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.
packages/markitdown/src/markitdown/converters/_rss_converter.py:68
packages/markitdown/src/markitdown/_markitdown.py:182, 185, 188, 191, 192, 193, 194, 195 (8 hits)packages/markitdown-ocr/src/markitdown_ocr/_pptx_converter_with_ocr.py:91, 141, 142, 146 (4 hits)packages/markitdown-ocr/src/markitdown_ocr/_xlsx_converter_with_ocr.py:82, 86, 139, 191 (4 hits)packages/markitdown-ocr/src/markitdown_ocr/_docx_converter_with_ocr.py:88, 99 (2 hits)packages/markitdown-ocr/src/markitdown_ocr/_pdf_converter_with_ocr.py:193, 309 (2 hits)packages/markitdown-mcp/Dockerfile:1
Dockerfile:1
.github/workflows/pre-commit.yml:8, 10 (3 hits).github/workflows/tests.yml:8, 9 (2 hits).pre-commit-config.yaml:2
packages/markitdown-ocr/src/markitdown_ocr/_docx_converter_with_ocr.py:155packages/markitdown-ocr/src/markitdown_ocr/_pptx_converter_with_ocr.py:121packages/markitdown-ocr/src/markitdown_ocr/_xlsx_converter_with_ocr.py:211packages/markitdown-mcp/src/markitdown_mcp/__main__.py:129
packages/markitdown/src/markitdown/converters/_llm_caption.py:22
packages/markitdown/src/markitdown/converters/_image_converter.py:110
packages/markitdown-ocr/src/markitdown_ocr/_pdf_converter_with_ocr.py:120, 297, 302, 380, 386, 413, 419 (7 hits)packages/markitdown/src/markitdown/_markitdown.py:79, 268, 630 (3 hits)packages/markitdown/src/markitdown/converters/_youtube_converter.py:114, 176, 232 (3 hits)packages/markitdown-ocr/src/markitdown_ocr/_ocr_service.py:78, 107 (2 hits)packages/markitdown-ocr/src/markitdown_ocr/_docx_converter_with_ocr.py:152packages/markitdown-ocr/src/markitdown_ocr/_pptx_converter_with_ocr.py:248packages/markitdown-ocr/src/markitdown_ocr/_xlsx_converter_with_ocr.py:208packages/markitdown/src/markitdown/converter_utils/docx/pre_process.py:150packages/markitdown-mcp/Dockerfile:17
CI/CD securitycontainers
Dockerfile:22
CI/CD securitycontainers
packages/markitdown/src/markitdown/converters/_doc_intel_converter.py:133
.dockerignore
CI/CD securitycontainers
packages/markitdown-mcp/Dockerfile:10
CI/CD securitycontainers
Dockerfile:8
CI/CD securitycontainers
packages/markitdown/src/markitdown/converters/_pdf_converter.py:342, 350, 354 (3 hits)packages/markitdown/src/markitdown/converters/_pptx_converter.py:26, 30, 41 (3 hits)packages/markitdown/src/markitdown/converters/_docx_converter.py:26, 37 (2 hits)packages/markitdown/src/markitdown/converters/_epub_converter.py:22, 26 (2 hits)packages/markitdown/src/markitdown/converters/_html_converter.py:4, 18 (2 hits)packages/markitdown/src/markitdown/converters/_image_converter.py:15, 23 (2 hits)packages/markitdown/src/markitdown/converters/_youtube_converter.py:41, 42 (2 hits)packages/markitdown-ocr/src/markitdown_ocr/_pdf_converter_with_ocr.py:105Dockerfile:1
containersPinned dependencies
packages/markitdown-mcp/Dockerfile:1
containersPinned dependencies
packages/markitdown-mcp/src/markitdown_mcp/__main__.py:129
Debug true
repo-level (5 hits)packages/markitdown/src/markitdown/converters/_markdownify.py:39
packages/markitdown/src/markitdown/converters/_markdownify.py:85
packages/markitdown/src/markitdown/converters/_markdownify.py:112
packages/markitdown/src/markitdown/_markitdown.py:409
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:200
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:210
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:149
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:153
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:219
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:302
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:248
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:265
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:257
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:281
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:330
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:312
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:323
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:336
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:348
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:356
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:369
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:290
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:234
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:240
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:244
packages/markitdown-mcp/src/markitdown_mcp/__main__.py:43
packages/markitdown-mcp/src/markitdown_mcp/__main__.py:55
packages/markitdown/src/markitdown/converter_utils/docx/math/omml.py:49
packages/markitdown/src/markitdown/_markitdown.py:656
packages/markitdown-ocr/src/markitdown_ocr/_docx_converter_with_ocr.py:175
This page is publicly accessible at:
https://repobility.com/scan/1d43486e-77ff-4a8a-83a6-48892d32677a/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/1d43486e-77ff-4a8a-83a6-48892d32677a/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.