Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

damionrashford/RivalSearchMCP

https://github.com/damionrashford/RivalSearchMCP · scanned 2026-05-15 06:14 UTC (3 weeks ago) · 10 languages

105 findings (50 legacy + 55 scanner) 89th percentile · Python · small (2-20K LoC) Scanner says 91 (lower by 6)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 3 weeks ago · v1 · 47 findings from 1 source. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.

JSON
Score breakdown â 2026-05-17-v4 calibration-aware
Component Sub-score Weight Contribution
structure_score 100.0 0.15 15.00
security_score 96.3 0.25 24.07
testing_score 87.0 0.20 17.40
documentation_score 74.0 0.15 11.10
practices_score 65.0 0.15 9.75
code_quality 71.0 0.10 7.10
Overall 1.00 84.4
Calibrated penalty buckets (security_score): web: 1.6 · agent: 2.1
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all
Corpus Intelligence Cross-corpus context (cohort percentile, top patterns, fix plan) is shown only on repositories you own. Sign up and connect your repo to view it.
Scan summary Repository scanned at 90.9/100 with 100.0% coverage. It contains 768 nodes across 0 cross-layer flows, written primarily in mixed languages. Engine surfaced 0 findings. Risk profile is low: 0 critical, 0 high, 0 medium. Recommended next step: open the software layer findings first — that's where the highest-impact wins live.

Showing 33 of 47 findings. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

high Legacy software dependency [BINARY] scipy: compound risk score 2194 (CVEs: 0, binary findings: 550)
Review binary security profile of scipy — consider alternatives with lower binary attack surface
dependencylegacy
high Legacy quality error_handling conf 0.85 Bare except: pass — silent failure
except: pass or except Exception: pass — silently swallows everything including KeyboardInterrupt and bugs.
src/core/content/extractors.py:92 error_handlinglegacy bare-except-pass · CWE-755
high Legacy quality error_handling conf 0.85 Bare except: pass — silent failure
except: pass or except Exception: pass — silently swallows everything including KeyboardInterrupt and bugs.
src/core/content/extractors.py:165 error_handlinglegacy bare-except-pass · CWE-755
high Legacy quality error_handling conf 0.85 Bare except: pass — silent failure
except: pass or except Exception: pass — silently swallows everything including KeyboardInterrupt and bugs.
src/core/content/extractors.py:154 error_handlinglegacy bare-except-pass · CWE-755
high Legacy quality error_handling conf 0.85 Bare except: pass — silent failure
except: pass or except Exception: pass — silently swallows everything including KeyboardInterrupt and bugs.
src/core/content/extractors.py:141 error_handlinglegacy bare-except-pass · CWE-755
high Legacy quality error_handling conf 0.85 Bare except: pass — silent failure
except: pass or except Exception: pass — silently swallows everything including KeyboardInterrupt and bugs.
src/core/metrics/metrics.py:176 error_handlinglegacy bare-except-pass · CWE-755
high Legacy quality error_handling conf 0.85 Bare except: pass — silent failure
except: pass or except Exception: pass — silently swallows everything including KeyboardInterrupt and bugs.
src/core/metrics/metrics.py:166 error_handlinglegacy bare-except-pass · CWE-755
high Legacy security crypto conf 0.85 Crypto — weak hash or cipher (MD5, SHA1, DES, RC4)
MD5/SHA1/DES/RC4 used for security context (not just checksums).
src/routes/pagination.py:106 cryptolegacy weak-crypto · CWE-327 · A02:2021
high Legacy security crypto conf 0.85 Crypto — weak hash or cipher (MD5, SHA1, DES, RC4)
MD5/SHA1/DES/RC4 used for security context (not just checksums).
src/routes/pagination.py:76 cryptolegacy weak-crypto · CWE-327 · A02:2021
high Legacy security crypto conf 0.85 Crypto — weak hash or cipher (MD5, SHA1, DES, RC4)
MD5/SHA1/DES/RC4 used for security context (not just checksums).
src/core/cache/cache_manager.py:270 cryptolegacy weak-crypto · CWE-327 · A02:2021
high Legacy security crypto conf 0.85 Crypto — weak hash or cipher (MD5, SHA1, DES, RC4)
MD5/SHA1/DES/RC4 used for security context (not just checksums).
src/core/security/security.py:59 cryptolegacy weak-crypto · CWE-327 · A02:2021
high Legacy security crypto conf 0.85 Crypto — weak hash or cipher (MD5, SHA1, DES, RC4)
MD5/SHA1/DES/RC4 used for security context (not just checksums).
src/performance/performance.py:34 cryptolegacy weak-crypto · CWE-327 · A02:2021
high Legacy software test_quality conf 0.85 Phantom test coverage — test files without real assertions
Test function that runs code but contains no assert/expect/should — passes regardless of behaviour.
src/core/bypass/proxy.py:79 test_qualitylegacy phantom-test-coverage · CWE-1126
medium Legacy quality error_handling conf 1.00 [ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG level.
Log the error: `except Exception: logger.debug('cleanup failed', exc_info=True)`. Or handle specific exception types.
src/core/content/extractors.py:92 error_handlinglegacy
medium Legacy quality error_handling conf 1.00 [ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG level.
Log the error: `except Exception: logger.debug('cleanup failed', exc_info=True)`. Or handle specific exception types.
src/tools/analysis.py:563 error_handlinglegacy
medium Legacy quality error_handling conf 1.00 [ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG level.
Log the error: `except Exception: logger.debug('cleanup failed', exc_info=True)`. Or handle specific exception types.
src/tools/traversal.py:56 error_handlinglegacy
high Legacy quality quality conf 0.72 Agent control bridge may listen on a network interface without visible auth
Agent, MCP, sidecar, and command bridge servers often start as local helpers. Binding them to 0.0.0.0 or a default all-interface listener without an authorization guard can expose tool execution or session data to the LAN.
server.py:183 qualitylegacy
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
src/middleware/cors_validation.py:38 cryptolegacy http-not-https · CWE-319 · A02:2021
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
src/utils/content.py:132 cryptolegacy http-not-https · CWE-319 · A02:2021
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
src/core/bypass/proxy.py:84 cryptolegacy http-not-https · CWE-319 · A02:2021
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
src/core/bypass/proxy.py:82 cryptolegacy http-not-https · CWE-319 · A02:2021
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
src/core/fetch/base.py:140 cryptolegacy http-not-https · CWE-319 · A02:2021
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
src/core/fetch/enhanced.py:36 cryptolegacy http-not-https · CWE-319 · A02:2021
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
src/core/scientific/search/providers/arxiv.py:17 cryptolegacy http-not-https · CWE-319 · A02:2021
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
src/core/scientific/search/providers/arxiv.py:16 cryptolegacy http-not-https · CWE-319 · A02:2021
high Legacy security crypto conf 0.85 Crypto — plaintext HTTP for sensitive endpoint
Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
src/tools/conflict.py:122 cryptolegacy http-not-https · CWE-319 · A02:2021
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
src/core/search/engines/yahoo/yahoo_engine.py:34 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
src/core/search/engines/mojeek/mojeek_engine.py:32 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
src/core/search/engines/duckduckgo/duckduckgo_engine.py:34 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations.
src/core/scientific/search/orchestrator.py:39 qualitylegacy
medium Legacy quality quality conf 0.78 Public web service has no security.txt
security.txt gives researchers and customers a safe disclosure channel. Public web apps and APIs should publish it under /.well-known/security.txt.
.well-known/security.txt qualitylegacy
medium Legacy quality quality conf 0.85 Python mutable default argument
def f(x=[]) — Python gotcha; mutates across calls.
src/tools/social_media.py:54 qualitylegacy mutable-default-arg · CWE-1023
high Legacy software dependency conf 0.70 Remote install command pipes network code directly to a shell
Agent helper projects often publish one-line installers. `curl | sh` style commands are convenient, but they bypass review unless the script is pinned, signed, or checksum-verified.
README.md:84 dependencylegacy
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/5be3fdcd-0b1f-43ce-af67-f7e88193ce14/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/5be3fdcd-0b1f-43ce-af67-f7e88193ce14/

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.