Leaderboard github.com
tude-alt/testrun
hash
AI provenance
0%
possible
- Confidence
- 65%
- Coverage
- 100%
Estimated share of AI-generated code. Explicit attribution is a lower bound.
Code quality
77/100
adequate
- Confidence
- 90%
- Coverage
- 100%
Complexity, duplication, lint density, tests, CI, docs and review process.
Security
46/100
poor
- Confidence
- 85%
- Coverage
- 100%
Secrets, static analysis, vulnerable dependencies, CI and supply-chain posture.
AI provenance
0% possible
Weak signals consistent with AI-assisted development.
How the score is built
- Explicitly attributed share0%
- Unattributed share in AI-pace bursts59%
- Estimated AI-generated share0%
- AI tool configuration files2
- Work sessions at AI pace69
- Releases at AI pacenot measured
- Coding-style index (1.0+ means possible)0.15
Lines added per month all AI-attributed share
- 2024-06292 · 0% AI
- 2024-073 · 0% AI
- 2024-10691 · 0% AI
- 2024-121,170 · 0% AI
- 2025-01106 · 0% AI
- 2025-02350 · 0% AI
- 2025-03223 · 0% AI
- 2025-045 · 0% AI
- 2025-060 · 0% AI
- 2025-072,364 · 0% AI
- 2025-0810,960 · 0% AI
- 2025-098,978 · 0% AI
- 2025-1013 · 0% AI
- 2025-11395 · 0% AI
- 2025-12607 · 0% AI
- 2026-01209 · 0% AI
- 2026-024,358 · 0% AI
- 2026-032,279 · 0% AI
- 2026-046,386 · 0% AI
- 2026-0569,089 · 0% AI
- 2026-0613,871 · 0% AI
- 2026-0761,080 · 0% AI
- 2026-0882,628 · 0% AI
- 2026-09146,393 · 0% AI
- 2026-101,524 · 0% AI
Evidence by analyzer
Explicit AI attributionok
- attributed_commit_share
- 0.0%
- attributed_commits
- 0
- attributed_loc
- 0
- attributed_loc_share
- 0.0%
- commits
- 1,374
- effective_loc
- 413,974
- tools_detected
- 0
AI tool configurationok2 items
- AGENTS.md (generic-agent configuration)
- .github/workflows/claude.yml runs anthropics/claude-code-action
- artifacts
- 1
- earliest_adoption
- 2025-08-23
- tools_configured
- 2
- workflow_agents
- 1
Commit velocityok15 items
- 11,098 lines of first-party code in ~3.2h (3,465 lines/hour, 44 commit session)
- 2,840 lines of first-party code in ~1.0h (2,757 lines/hour, 2 commit session)
- 4,287 lines of first-party code in ~1.6h (2,647 lines/hour, 33 commit session)
- 6,861 lines of first-party code in ~2.7h (2,511 lines/hour, 30 commit session)
- 6,050 lines of first-party code in ~2.4h (2,485 lines/hour, 8 commit session)
- 2,859 lines of first-party code in ~1.4h (2,010 lines/hour, 1 commit session)
- 10,811 lines of first-party code in ~5.4h (1,993 lines/hour, 28 commit session)
- 3,393 lines of first-party code in ~1.7h (1,970 lines/hour, 8 commit session)
- 6,915 lines of first-party code in ~4.0h (1,718 lines/hour, 8 commit session)
- 9,665 lines of first-party code in ~5.6h (1,718 lines/hour, 33 commit session)
- 9,849 lines of first-party code in ~6.0h (1,640 lines/hour, 13 commit session)
- 6,736 lines of first-party code in ~4.3h (1,572 lines/hour, 7 commit session)
- 2,547 lines of first-party code in ~1.6h (1,545 lines/hour, 2 commit session)
- 6,134 lines of first-party code in ~4.0h (1,534 lines/hour, 1 commit session)
- 2,012 lines of first-party code in ~1.4h (1,488 lines/hour, 7 commit session)
- excluded_import_loc
- 75,016
- flagged_loc
- 246,230
- flagged_loc_share
- 72.6%
- flagged_units
- 69
- max_loc_per_hour
- 3,464.52
- measured_loc
- 338,958
- median_loc_per_hour
- 278.66
- pr_timed_units
- 0
- pre_ai_era_burst_loc
- 0
- pre_ai_era_bursts
- 0
- pre_ai_era_measured_loc
- 0
- work_units
- 331
Release velocityskipped
Coding styleok
- count:assistant_voice
- 0
- count:emoji_in_code
- 31
- count:narrated_steps
- 0
- count:placeholder
- 0
- files:assistant_voice
- 0
- files:emoji_in_code
- 15
- files:narrated_steps
- 0
- files:placeholder
- 0
- index
- 0.15
- lines_scanned
- 102,156
- per_kloc:assistant_voice
- 0
- per_kloc:emoji_in_code
- 0.30
- per_kloc:narrated_steps
- 0
- per_kloc:placeholder
- 0
Code quality
77 adequate
Code quality is adequate: test-to-source ratio 1.78, CI runs tests; 6% of function code in complex or long functions; 1% duplicated lines. Weakest area: type safety.
How the score is built
- Complexity84
- Duplication92
- Lint and smells50
- Tests and CI100
- Documentation65
- Type safety0
- Review processnot measured
Evidence by analyzer
Complexity (lizard)ok10 items
- new_wave_summary in metaculus_bot/performance_analysis/round_outputs.py: complexity 37, 55 lines
- sweep_row in metaculus_bot/performance_analysis/clip_threshold_sweep.py: complexity 30, 45 lines
- _type_report in metaculus_bot/performance_analysis/clip_threshold_tables.py: complexity 29, 49 lines
- counts_payload in metaculus_bot/performance_analysis/round_outputs.py: complexity 28, 94 lines
- _ladder_at_stage in metaculus_bot/research/market_retrieval/rendering.py: complexity 28, 30 lines
- _route_question_impl in metaculus_bot/research/ts_routing.py: complexity 25, 65 lines
- binary_summary in metaculus_bot/performance_analysis/analysis.py: complexity 24, 37 lines
- render_snapshot_with_stats in metaculus_bot/research/market_retrieval/rendering.py: complexity 24, 58 lines
- role_costs in scripts/cost_report.py: complexity 23, 38 lines
- _extract_prediction_value in metaculus_bot/ensemble_analysis/correlation_analysis.py: complexity 22, 23 lines
- complex_functions
- 51
- function_nloc
- 47,493
- functions
- 3,421
- long_functions
- 5
- many_param_functions
- 33
- mean_ccn
- 4.26
- p90_ccn
- 9
- risky_nloc_share
- 5.9%
Duplication (jscpd)ok10 items
- 6+ duplicated lines: analyze_correlations.py:435 and community_benchmark.py:502
- 6+ duplicated lines: backtest.py:57 and community_benchmark.py:74
- 6+ duplicated lines: community_benchmark.py:107 and metaculus_bot/backtest/question_prep.py:460
- 6+ duplicated lines: metaculus_bot/ablation/cli.py:261 and metaculus_bot/ablation/cli.py:320
- 6+ duplicated lines: metaculus_bot/ablation/deterministic_arms.py:97 and metaculus_bot/ablation/deterministic_arms.py:107
- 6+ duplicated lines: metaculus_bot/ablation/forecasters.py:172 and metaculus_bot/ablation/run_stacker.py:193
- 6+ duplicated lines: metaculus_bot/ablation/prune.py:269 and metaculus_bot/ablation/qa_iterate.py:198
- 6+ duplicated lines: metaculus_bot/ablation/qa_iterate.py:197 and metaculus_bot/ablation/qa_iterate.py:231
- 6+ duplicated lines: metaculus_bot/ablation/run_pdf.py:125 and metaculus_bot/probabilistic_tools/binary_pooling.py:50
- 6+ duplicated lines: metaculus_bot/ablation/run_simple_agg.py:68 and metaculus_bot/ablation/run_simple_agg.py:138
- compared_lines
- 77,650
- duplicated_lines
- 1,101
- duplicated_share
- 1.4%
- files
- 332
Lintok
- category:best-practice
- 45
- category:correctness
- 142
- category:maintainability
- 85
- findings
- 272
- scanned_lines
- 102,156
- weighted_findings
- 285.25
Tests and CIok12 items
- CI config: .github/workflows/YOUR_EXISTING_MANTIC_WORKFLOW.yml
.github/workflows/YOUR_EXISTING_MANTIC_WORKFLOW.yml - CI config: .github/workflows/ci.yaml
.github/workflows/ci.yaml - CI config: .github/workflows/claude.yml
.github/workflows/claude.yml - CI config: .github/workflows/docker-compose.yml
.github/workflows/docker-compose.yml - CI config: .github/workflows/fetch_diagnostic.yaml
.github/workflows/fetch_diagnostic.yaml - CI config: .github/workflows/run_bot_on_mantic.yaml
.github/workflows/run_bot_on_mantic.yaml - CI config: .github/workflows/run_bot_on_metaculus_cup.yaml
.github/workflows/run_bot_on_metaculus_cup.yaml - CI config: .github/workflows/run_bot_on_minibench.yaml
.github/workflows/run_bot_on_minibench.yaml - CI config: .github/workflows/run_bot_on_tournament.yaml
.github/workflows/run_bot_on_tournament.yaml - CI config: .github/workflows/test_bot.yaml
.github/workflows/test_bot.yaml - CI runs tests (pytest, npm run test)
- CI runs linters (ruff, pyright, pre-commit)
- check:ci_present
- yes
- check:ci_runs_lint
- yes
- check:ci_runs_tests
- yes
- check:has_tests
- yes
- check:test_ratio
- yes
- check:tests_cochange
- yes
- ci_files
- 11
- cochange_commits
- 202
- cochange_share
- 74.8%
- source_lines
- 102,156
- test_lines
- 182,025
- test_ratio
- 1.78
Documentationok2 items
- README.md
README.md - LICENSE
LICENSE
- check:changelog
- no
- check:contributing
- no
- check:license
- yes
- check:readme
- yes
- readme_lines
- 129
Type safetyok
- check:low_escape_density
- no
- check:strict_config
- no
- escapes
- 927
- escapes_per_kloc
- 9.10
Security
46 poor
Security posture is poor: 156 known vulnerabilities in 17 dependencies; 10 high-severity SAST findings; 30 high-severity workflow issues. Weakest area: posture.
How the score is built
- Secrets82
- Static analysis (SAST)97
- Vulnerable dependencies6
- CI workflows0
- Security posture0
- OpenSSF Scorecardnot measured
Evidence by analyzer
OpenSSF Scorecardskipped
no published OpenSSF Scorecard result for this repo
Package registriesok
- checked
- 56
- declared
- 56
- lookup_errors
- 0
- missing
- 0
- recent
- 0
Secrets (gitleaks)ok
- secrets_current
- 0
- secrets_history
- 0
- secrets_low_confidence
- 0
- secrets_nonprod
- 6
Static analysis (opengrep)ok
- findings
- 14
- findings_high
- 10
- findings_low
- 0
- findings_medium
- 4
- parse_errors
- 8
- scanned_lines
- 102,156
- weighted_findings
- 9.55
Dependencies (osv-scanner)ok
- penalty
- 173
- vulnerabilities
- 156
- vulnerable_packages
- 17
- vulns_critical
- 11
- vulns_high
- 81
- vulns_low
- 9
- vulns_medium
- 54
- vulns_unknown
- 1
CI workflows (zizmor)ok
- findings
- 53
- findings_high
- 30
- findings_low
- 0
- findings_medium
- 23
- penalty
- 396
- workflows
- 11
Security postureok
- check:dependency_updates
- no
- check:lockfiles
- yes
- check:security_policy
- no
- check:signed_commits
- no
- signed_commit_share
- 5.0%
- unpinned_manifests
- 0
Release downloadsok1 item
- gives an archive password
README.md
- binary_assets
- 0
- signals
- 1
- suspicious
- 0
Findings
11 critical128 high275 medium15 low
| Severity | Rule | Location | Message | Tool |
|---|---|---|---|---|
| critical | osv/GHSA-332p-7hrc-92wf |
uv.lock | [email protected] (PyPI) is affected by GHSA-332p-7hrc-92wf | Dependencies (osv-scanner) |
| critical | osv/GHSA-5x8w-8jj5-q52h |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4330, GHSA-5x8w-8jj5-q52h | Dependencies (osv-scanner) |
| critical | osv/GHSA-6q48-6c7w-9gw2 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4320, GHSA-6q48-6c7w-9gw2 | Dependencies (osv-scanner) |
| critical | osv/GHSA-7hp6-4w63-5g45 |
uv.lock | [email protected] (PyPI) is affected by GHSA-7hp6-4w63-5g45 | Dependencies (osv-scanner) |
| critical | osv/GHSA-8g5g-8vmr-9782 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4332, GHSA-8g5g-8vmr-9782 | Dependencies (osv-scanner) |
| critical | osv/GHSA-9v8h-qqgm-4m35 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4322, GHSA-9v8h-qqgm-4m35 | Dependencies (osv-scanner) |
| critical | osv/GHSA-ffc3-869f-jxw9 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4145, GHSA-ffc3-869f-jxw9 | Dependencies (osv-scanner) |
| critical | osv/GHSA-p423-j2cm-9vmq |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-36, GHSA-p423-j2cm-9vmq | Dependencies (osv-scanner) |
| critical | osv/GHSA-v9pv-5gc8-w2m6 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4339, GHSA-v9pv-5gc8-w2m6 | Dependencies (osv-scanner) |
| critical | osv/GHSA-w889-685w-c8fh |
uv.lock | [email protected] (PyPI) is affected by GHSA-w889-685w-c8fh | Dependencies (osv-scanner) |
| critical | osv/GHSA-xvh5-g6gv-559v |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4363, GHSA-xvh5-g6gv-559v | Dependencies (osv-scanner) |
| high | opengrep/python.lang.best-practice.arbitrary-sleep |
metaculus_bot/performance_analysis/collector.py:130 | time.sleep() call; did you mean to leave this in? | Lint |
| high | opengrep/python.lang.best-practice.arbitrary-sleep |
metaculus_bot/performance_analysis/collector.py:147 | time.sleep() call; did you mean to leave this in? | Lint |
| high | opengrep/python.lang.maintainability.useless-inner-function |
metaculus_bot/research/providers.py:225 | function `_fetch_impl` is defined inside a function but never used | Lint |
| high | opengrep/python.lang.best-practice.arbitrary-sleep |
scripts/backfill_research_from_comments.py:233 | time.sleep() call; did you mean to leave this in? | Lint |
| high | opengrep/python.lang.best-practice.arbitrary-sleep |
scripts/backfill_research_from_comments.py:71 | time.sleep() call; did you mean to leave this in? | Lint |
| high | opengrep/python.lang.best-practice.arbitrary-sleep |
scripts/cronjob_dispatch_setup.py:209 | time.sleep() call; did you mean to leave this in? | Lint |
| high | opengrep/python.lang.best-practice.arbitrary-sleep |
scripts/supply_probe.py:497 | time.sleep() call; did you mean to leave this in? | Lint |
| high | zizmor/unpinned-uses |
.github/workflows/ci.yaml:20 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/ci.yaml:21 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/ci.yaml:44 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/ci.yaml:50 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/ci.yaml:67 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/ci.yaml:94 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/ci.yaml:95 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/claude.yml:36 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/dangerous-triggers |
.github/workflows/claude.yml:4 | use of fundamentally insecure workflow trigger [confidence medium] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/claude.yml:42 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/fetch_diagnostic.yaml:41 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/fetch_diagnostic.yaml:43 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_mantic.yaml:228 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_mantic.yaml:64 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_mantic.yaml:66 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_metaculus_cup.yaml:203 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_metaculus_cup.yaml:52 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_metaculus_cup.yaml:54 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_minibench.yaml:190 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_minibench.yaml:42 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_minibench.yaml:44 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_tournament.yaml:194 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_tournament.yaml:43 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/run_bot_on_tournament.yaml:45 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/test_bot.yaml:179 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/test_bot.yaml:36 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/test_bot.yaml:38 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/test_bot_basic.yaml:197 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/test_bot_basic.yaml:50 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/test_bot_basic.yaml:52 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | opengrep/python.lang.security.audit.dangerous-asyncio-create-exec-audit |
metaculus_bot/ablation/claude_cli.py:86 | Detected 'create_subprocess_exec' function without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an... | Static analysis (opengrep) |
| high | opengrep/python.lang.security.use-defused-xml |
metaculus_bot/research/fred_rendering.py:22 | The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause... | Static analysis (opengrep) |
| high | opengrep/python.lang.security.use-defused-xml |
metaculus_bot/research/known_api/backends.py:30 | The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause... | Static analysis (opengrep) |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit |
scripts/backfill_research_from_logs.py:140 | Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... | Static analysis (opengrep) |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit |
scripts/backfill_research_from_logs.py:158 | Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... | Static analysis (opengrep) |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit |
scripts/derive_mini_comment_fixture.py:236 | Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... | Static analysis (opengrep) |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit |
scripts/dispatch_watch.py:206 | Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... | Static analysis (opengrep) |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit |
scripts/download_run_logs.py:101 | Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... | Static analysis (opengrep) |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit |
scripts/gha_artifacts.py:134 | Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... | Static analysis (opengrep) |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit |
scripts/gha_artifacts.py:254 | Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... | Static analysis (opengrep) |
| high | osv/GHSA-22hg-r758-rrw9 |
uv.lock | [email protected] (PyPI) is affected by GHSA-22hg-r758-rrw9 | Dependencies (osv-scanner) |
| high | osv/GHSA-27h8-gf7j-v5hc |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4326, GHSA-27h8-gf7j-v5hc | Dependencies (osv-scanner) |
| high | osv/GHSA-2g87-pp6c-29x5 |
uv.lock | [email protected] (PyPI) is affected by GHSA-2g87-pp6c-29x5 | Dependencies (osv-scanner) |
| high | osv/GHSA-2qm8-x737-gmw5 |
uv.lock | [email protected] (PyPI) is affected by GHSA-2qm8-x737-gmw5 | Dependencies (osv-scanner) |
| high | osv/GHSA-394h-qwmc-48pf |
uv.lock | [email protected] (PyPI) is affected by GHSA-394h-qwmc-48pf | Dependencies (osv-scanner) |
| high | osv/GHSA-3j72-p6qg-6xp7 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4341, GHSA-3j72-p6qg-6xp7 | Dependencies (osv-scanner) |
| high | osv/GHSA-42gh-23hr-vphw |
uv.lock | [email protected] (PyPI) is affected by GHSA-42gh-23hr-vphw | Dependencies (osv-scanner) |
| high | osv/GHSA-4558-3h8r-v8xp |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4327, GHSA-4558-3h8r-v8xp | Dependencies (osv-scanner) |
| high | osv/GHSA-45c3-73f7-pv4m |
uv.lock | [email protected] (PyPI) is affected by GHSA-45c3-73f7-pv4m | Dependencies (osv-scanner) |
| high | osv/GHSA-4rr5-89j8-mwwm |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4328, GHSA-4rr5-89j8-mwwm | Dependencies (osv-scanner) |
| high | osv/GHSA-4vqv-7265-gm2w |
uv.lock | [email protected] (PyPI) is affected by GHSA-4vqv-7265-gm2w | Dependencies (osv-scanner) |
| high | osv/GHSA-537c-gmf6-5ccf |
uv.lock | [email protected] (PyPI) is affected by GHSA-537c-gmf6-5ccf | Dependencies (osv-scanner) |
| high | osv/GHSA-5849-834g-hvw5 |
uv.lock | [email protected] (PyPI) is affected by GHSA-5849-834g-hvw5 | Dependencies (osv-scanner) |
| high | osv/GHSA-58r4-6rv3-gfh8 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4329, GHSA-58r4-6rv3-gfh8 | Dependencies (osv-scanner) |
| high | osv/GHSA-5jq2-8x83-x246 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4153, GHSA-5jq2-8x83-x246 | Dependencies (osv-scanner) |
| high | osv/GHSA-5vjq-rrrf-7h2q |
uv.lock | [email protected] (PyPI) is affected by GHSA-5vjq-rrrf-7h2q | Dependencies (osv-scanner) |
| high | osv/GHSA-5wr8-gcqf-gqf3 |
uv.lock | [email protected] (PyPI) is affected by GHSA-5wr8-gcqf-gqf3 | Dependencies (osv-scanner) |
| high | osv/GHSA-5xm2-6676-qcp9 |
uv.lock | [email protected] (PyPI) is affected by GHSA-5xm2-6676-qcp9 | Dependencies (osv-scanner) |
| high | osv/GHSA-62m5-6wh8-28x7 |
uv.lock | [email protected] (PyPI) is affected by GHSA-62m5-6wh8-28x7 | Dependencies (osv-scanner) |
| high | osv/GHSA-65qm-jvmh-6pqg |
uv.lock | [email protected] (PyPI) is affected by GHSA-65qm-jvmh-6pqg | Dependencies (osv-scanner) |
| high | osv/GHSA-6655-6qjp-jx7x |
uv.lock | [email protected] (PyPI) is affected by GHSA-6655-6qjp-jx7x | Dependencies (osv-scanner) |
| high | osv/GHSA-6c7f-9265-g8fw |
uv.lock | [email protected] (PyPI) is affected by GHSA-6c7f-9265-g8fw | Dependencies (osv-scanner) |
| high | osv/GHSA-6w3r-xr62-4xcp |
uv.lock | [email protected] (PyPI) is affected by GHSA-6w3r-xr62-4xcp | Dependencies (osv-scanner) |
| high | osv/GHSA-78g4-xqwv-q3g8 |
uv.lock | [email protected] (PyPI) is affected by GHSA-78g4-xqwv-q3g8 | Dependencies (osv-scanner) |
| high | osv/GHSA-7mwm-ghpf-9vrm |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4331, GHSA-7mwm-ghpf-9vrm | Dependencies (osv-scanner) |
| high | osv/GHSA-84m7-p3x7-pcfv |
uv.lock | [email protected] (PyPI) is affected by GHSA-84m7-p3x7-pcfv | Dependencies (osv-scanner) |
| high | osv/GHSA-8988-9cw3-xx77 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4175, GHSA-8988-9cw3-xx77 | Dependencies (osv-scanner) |
| high | osv/GHSA-8rjx-v5ww-45pp |
uv.lock | [email protected] (PyPI) is affected by GHSA-8rjx-v5ww-45pp | Dependencies (osv-scanner) |
| high | osv/GHSA-94p9-xgh2-xp45 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4011, GHSA-94p9-xgh2-xp45 | Dependencies (osv-scanner) |
| high | osv/GHSA-9j54-fg26-wv3r |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4143, GHSA-9j54-fg26-wv3r | Dependencies (osv-scanner) |
| high | osv/GHSA-9m75-vc3g-4x39 |
uv.lock | [email protected] (PyPI) is affected by GHSA-9m75-vc3g-4x39 | Dependencies (osv-scanner) |
| high | osv/GHSA-9v7f-9g4p-ffgj |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4144, GHSA-9v7f-9g4p-ffgj | Dependencies (osv-scanner) |
| high | osv/GHSA-9v9v-9qvf-h2hj |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4343, GHSA-9v9v-9qvf-h2hj | Dependencies (osv-scanner) |
| high | osv/GHSA-9xw5-w5jj-pvcg |
uv.lock | [email protected] (PyPI) is affected by GHSA-9xw5-w5jj-pvcg | Dependencies (osv-scanner) |
| high | osv/GHSA-c2m8-h5v5-343r |
uv.lock | [email protected] (PyPI) is affected by GHSA-c2m8-h5v5-343r | Dependencies (osv-scanner) |
| high | osv/GHSA-c6hw-5grf-ff96 |
uv.lock | [email protected] (PyPI) is affected by GHSA-c6hw-5grf-ff96 | Dependencies (osv-scanner) |
| high | osv/GHSA-c947-3pg5-gm8q |
uv.lock | [email protected] (PyPI) is affected by GHSA-c947-3pg5-gm8q | Dependencies (osv-scanner) |
| high | osv/GHSA-c978-59m8-c77v |
uv.lock | [email protected] (PyPI) is affected by GHSA-c978-59m8-c77v | Dependencies (osv-scanner) |
| high | osv/GHSA-cggf-277g-3q54 |
uv.lock | [email protected] (PyPI) is affected by GHSA-cggf-277g-3q54 | Dependencies (osv-scanner) |
| high | osv/GHSA-chx6-46f5-w4vp |
uv.lock | [email protected] (PyPI) is affected by GHSA-chx6-46f5-w4vp | Dependencies (osv-scanner) |
| high | osv/GHSA-cp9v-662q-vvx9 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4333, GHSA-cp9v-662q-vvx9 | Dependencies (osv-scanner) |
| high | osv/GHSA-f2g6-542v-9j58 |
uv.lock | [email protected] (PyPI) is affected by GHSA-f2g6-542v-9j58 | Dependencies (osv-scanner) |
| high | osv/GHSA-fm9c-5rcf-2q5p |
uv.lock | [email protected] (PyPI) is affected by GHSA-fm9c-5rcf-2q5p | Dependencies (osv-scanner) |
| high | osv/GHSA-fp3h-c4fm-7vvf |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4154, GHSA-fp3h-c4fm-7vvf | Dependencies (osv-scanner) |
| high | osv/GHSA-g4qv-2jxx-769h |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4342, GHSA-g4qv-2jxx-769h | Dependencies (osv-scanner) |
| high | osv/GHSA-g6cj-pr64-35w5 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-3552, GHSA-g6cj-pr64-35w5 | Dependencies (osv-scanner) |
| high | osv/GHSA-g7cr-3p24-7wf7 |
uv.lock | [email protected] (PyPI) is affected by GHSA-g7cr-3p24-7wf7 | Dependencies (osv-scanner) |
| high | osv/GHSA-g842-9rc4-69pw |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4338, GHSA-g842-9rc4-69pw | Dependencies (osv-scanner) |
| high | osv/GHSA-g9cg-prrw-2r8q |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4155, GHSA-g9cg-prrw-2r8q | Dependencies (osv-scanner) |
| high | osv/GHSA-gg2r-wvfm-q9rx |
uv.lock | [email protected] (PyPI) is affected by GHSA-gg2r-wvfm-q9rx | Dependencies (osv-scanner) |
| high | osv/GHSA-gmh7-3g9r-mjh5 |
uv.lock | [email protected] (PyPI) is affected by GHSA-gmh7-3g9r-mjh5 | Dependencies (osv-scanner) |
| high | osv/GHSA-j4m9-6w36-pw47 |
uv.lock | [email protected] (PyPI) is affected by GHSA-j4m9-6w36-pw47 | Dependencies (osv-scanner) |
| high | osv/GHSA-jg86-v3jv-hrpm |
uv.lock | [email protected] (PyPI) is affected by GHSA-jg86-v3jv-hrpm | Dependencies (osv-scanner) |
| high | osv/GHSA-jr96-gvgh-j3r4 |
uv.lock | [email protected] (PyPI) is affected by GHSA-jr96-gvgh-j3r4 | Dependencies (osv-scanner) |
| high | osv/GHSA-jw7q-gvrg-4vj3 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4156, GHSA-jw7q-gvrg-4vj3 | Dependencies (osv-scanner) |
| high | osv/GHSA-jwv3-5hgf-82ww |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-3553, GHSA-jwv3-5hgf-82ww | Dependencies (osv-scanner) |
| high | osv/GHSA-mfr5-77xh-9j7h |
uv.lock | [email protected] (PyPI) is affected by GHSA-mfr5-77xh-9j7h | Dependencies (osv-scanner) |
| high | osv/GHSA-mm57-4v3p-rchx |
uv.lock | [email protected] (PyPI) is affected by GHSA-mm57-4v3p-rchx | Dependencies (osv-scanner) |
| high | osv/GHSA-mmhr-3c5m-f64f |
uv.lock | [email protected] (PyPI) is affected by GHSA-mmhr-3c5m-f64f | Dependencies (osv-scanner) |
| high | osv/GHSA-mrfp-p49p-3hf2 |
uv.lock | [email protected] (PyPI) is affected by GHSA-mrfp-p49p-3hf2 | Dependencies (osv-scanner) |
| high | osv/GHSA-p4g4-x82p-q773 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4149, GHSA-p4g4-x82p-q773 | Dependencies (osv-scanner) |
| high | osv/GHSA-p4wg-p73j-c528 |
uv.lock | [email protected] (PyPI) is affected by GHSA-p4wg-p73j-c528 | Dependencies (osv-scanner) |
| high | osv/GHSA-p58f-9548-mpm2 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4013, GHSA-p58f-9548-mpm2 | Dependencies (osv-scanner) |
| high | osv/GHSA-pchr-8j38-3x4p |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4334, GHSA-pchr-8j38-3x4p | Dependencies (osv-scanner) |
| high | osv/GHSA-php9-fj8v-98fj |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4157, GHSA-php9-fj8v-98fj | Dependencies (osv-scanner) |
| high | osv/GHSA-pxh4-856f-4h89 |
uv.lock | [email protected] (PyPI) is affected by GHSA-pxh4-856f-4h89 | Dependencies (osv-scanner) |
| high | osv/GHSA-q45j-58j2-45rg |
uv.lock | [email protected] (PyPI) is affected by GHSA-q45j-58j2-45rg | Dependencies (osv-scanner) |
| high | osv/GHSA-qv6h-rv94-w285 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4158, GHSA-qv6h-rv94-w285 | Dependencies (osv-scanner) |
| high | osv/GHSA-r6x4-923q-g947 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4150, GHSA-r6x4-923q-g947 | Dependencies (osv-scanner) |
| high | osv/GHSA-v247-6f48-mgcj |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4159, GHSA-v247-6f48-mgcj | Dependencies (osv-scanner) |
| high | osv/GHSA-v4x8-3wr5-3wq8 |
uv.lock | [email protected] (PyPI) is affected by GHSA-v4x8-3wr5-3wq8 | Dependencies (osv-scanner) |
| high | osv/GHSA-vvf4-9x63-8xvv |
uv.lock | [email protected] (PyPI) is affected by GHSA-vvf4-9x63-8xvv | Dependencies (osv-scanner) |
| high | osv/GHSA-vxj4-q4g9-crj7 |
uv.lock | [email protected] (PyPI) is affected by GHSA-vxj4-q4g9-crj7 | Dependencies (osv-scanner) |
| high | osv/GHSA-vxq7-64xx-v4gw |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4177, GHSA-vxq7-64xx-v4gw | Dependencies (osv-scanner) |
| high | osv/GHSA-w23x-9jrw-r45c |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4160, GHSA-w23x-9jrw-r45c | Dependencies (osv-scanner) |
| high | osv/GHSA-w2cx-738m-mc7w |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4151, GHSA-w2cx-738m-mc7w | Dependencies (osv-scanner) |
| high | osv/GHSA-x33g-cr3x-6449 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4183, GHSA-x33g-cr3x-6449 | Dependencies (osv-scanner) |
| high | osv/GHSA-x3rh-gjgm-fmqc |
uv.lock | [email protected] (PyPI) is affected by GHSA-x3rh-gjgm-fmqc | Dependencies (osv-scanner) |
| high | osv/GHSA-x78j-v8h9-3j2q |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4014, GHSA-x78j-v8h9-3j2q | Dependencies (osv-scanner) |
| high | osv/GHSA-xcvg-w56q-r89m |
uv.lock | [email protected] (PyPI) is affected by GHSA-xcvg-w56q-r89m | Dependencies (osv-scanner) |
| high | osv/GHSA-xgh8-jp6q-p5x8 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4335, GHSA-xgh8-jp6q-p5x8 | Dependencies (osv-scanner) |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
analyze_correlations.py:561 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
analyze_correlations.py:58 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.logging-error-without-handling |
community_benchmark.py:130 | Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. | Lint |
| medium | opengrep/python.lang.best-practice.logging-error-without-handling |
community_benchmark.py:131 | Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/ablation/scoring.py:625 | Is "is_saturated_stack" a function or an attribute? If it is a function, you may have meant score.is_saturated_stack() because score.is_saturated_stack is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/ablation/scoring.py:627 | Is "is_saturated_stack_aug" a function or an attribute? If it is a function, you may have meant score.is_saturated_stack_aug() because score.is_saturated_stack_aug is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/ablation/scoring.py:629 | Is "is_saturated_pdf_min1" a function or an attribute? If it is a function, you may have meant score.is_saturated_pdf_min1() because score.is_saturated_pdf_min1 is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/ablation/scoring.py:631 | Is "is_saturated_pdf_min2" a function or an attribute? If it is a function, you may have meant score.is_saturated_pdf_min2() because score.is_saturated_pdf_min2 is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/ablation/scoring.py:633 | Is "is_saturated_median" a function or an attribute? If it is a function, you may have meant score.is_saturated_median() because score.is_saturated_median is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/ablation/scoring.py:635 | Is "is_saturated_mean" a function or an attribute? If it is a function, you may have meant score.is_saturated_mean() because score.is_saturated_mean is always true. | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:120 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:124 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:131 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:135 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/ablation/scoring_report.py:166 | Is "is_saturated_stack" a function or an attribute? If it is a function, you may have meant s.is_saturated_stack() because s.is_saturated_stack is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/ablation/scoring_report.py:167 | Is "is_saturated_stack_aug" a function or an attribute? If it is a function, you may have meant s.is_saturated_stack_aug() because s.is_saturated_stack_aug is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/ablation/scoring_report.py:168 | Is "is_saturated_median" a function or an attribute? If it is a function, you may have meant s.is_saturated_median() because s.is_saturated_median is always true. | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:314 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:318 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:320 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:323 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:362 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:47 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ablation/scoring_report.py:51 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/aggregation_pipeline.py:81 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.best-practice.logging-error-without-handling |
metaculus_bot/backtest/question_prep.py:500 | Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/credit_telemetry.py:707 | Is "is_byok" a function or an attribute? If it is a function, you may have meant usage.is_byok() because usage.is_byok is always true. | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ensemble_analysis/correlation_analysis.py:626 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/ensemble_analysis/correlation_analysis.py:665 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/ensemble_analysis/correlation_analysis.py:711 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.logging-error-without-handling |
metaculus_bot/fallback_openrouter.py:586 | Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/forecaster.py:180 | Is "is_benchmarking" a function or an attribute? If it is a function, you may have meant self.is_benchmarking() because self.is_benchmarking is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/forecaster.py:649 | Is "is_exhausted" a function or an attribute? If it is a function, you may have meant time_budget.is_exhausted() because time_budget.is_exhausted is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/forecaster.py:743 | Is "is_benchmarking" a function or an attribute? If it is a function, you may have meant self.is_benchmarking() because self.is_benchmarking is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/forecaster_runners.py:501 | Is "is_discrete_integer" a function or an attribute? If it is a function, you may have meant outcome_result.is_discrete_integer() because outcome_result.is_discrete_integer is always true. | Lint |
| medium | opengrep/python.requests.best-practice.use-raise-for-status |
metaculus_bot/mantic.py:190 | There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a... | Lint |
| medium | opengrep/python.lang.best-practice.manual-defaultdict-list-create |
metaculus_bot/performance_analysis/analysis.py:198 | manually creating a defaultdict - use collections.defaultdict(list) | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/analysis.py:256 | Is "is_interval" a function or an attribute? If it is a function, you may have meant self.is_interval() because self.is_interval is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/analysis.py:373 | Is "is_interval" a function or an attribute? If it is a function, you may have meant reading.is_interval() because reading.is_interval is always true. | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/analysis.py:844 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/analysis.py:849 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/analysis.py:933 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/clip_threshold.py:94 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:100 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:120 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:123 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:125 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:128 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:130 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:136 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:140 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:144 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:149 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:162 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:171 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:302 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:342 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:398 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:423 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:442 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:474 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:487 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:567 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:620 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:706 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:717 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/clip_threshold_report.py:98 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_sweep.py:214 | Is "is_binary" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_sweep.py:224 | Is "is_binary" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_sweep.py:246 | Is "is_binary" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_sweep.py:255 | Is "is_binary" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_sweep.py:440 | Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_sweep.py:470 | Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_sweep.py:490 | Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_sweep.py:497 | Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_tables.py:512 | Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_tables.py:671 | Is "is_binary" a function or an attribute? If it is a function, you may have meant r.is_binary() because r.is_binary is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_windows.py:172 | Is "is_era_slice" a function or an attribute? If it is a function, you may have meant w.is_era_slice() because w.is_era_slice is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/performance_analysis/clip_threshold_windows.py:80 | Is "is_era_slice" a function or an attribute? If it is a function, you may have meant self.is_era_slice() because self.is_era_slice is always true. | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/cluster_structure.py:138 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/cluster_structure.py:370 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/cluster_structure.py:413 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/cluster_structure.py:422 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/collector.py:600 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/collector.py:661 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.requests.best-practice.use-raise-for-status |
metaculus_bot/performance_analysis/collector.py:77 | There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a... | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/era_gap.py:130 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.maintainability.code-after-unconditional-return |
metaculus_bot/performance_analysis/era_gap.py:412 | code after return statement will not be executed | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/performance_analysis/era_gap.py:412 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.code-after-unconditional-return |
metaculus_bot/performance_analysis/era_gap.py:419 | code after return statement will not be executed | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/performance_analysis/era_gap.py:419 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/performance_analysis/era_gap.py:419 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/performance_analysis/era_gap.py:437 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.code-after-unconditional-return |
metaculus_bot/performance_analysis/era_gap.py:438 | code after return statement will not be executed | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/performance_analysis/era_gap.py:438 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/performance_analysis/era_gap.py:438 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.code-after-unconditional-return |
metaculus_bot/performance_analysis/era_gap.py:458 | code after return statement will not be executed | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/performance_analysis/era_gap.py:458 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/performance_analysis/era_gap.py:458 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/era_gap.py:671 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/era_gap.py:678 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/era_gap.py:689 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/era_gap.py:704 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/era_gap.py:719 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/era_gap.py:729 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/era_gap.py:809 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/outer_tail.py:495 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/outer_tail.py:505 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/outer_tail.py:509 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/outer_tail.py:515 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/outer_tail.py:521 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/performance_analysis/rescore_diff.py:244 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/round_dataset.py:190 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/round_dataset.py:253 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/round_dataset.py:415 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/round_dataset.py:429 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/round_dataset.py:642 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/round_outputs.py:182 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.manual-defaultdict-list-create |
metaculus_bot/performance_analysis/stacker_detection.py:189 | manually creating a defaultdict - use collections.defaultdict(list) | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/width_monitor.py:621 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
metaculus_bot/performance_analysis/width_monitor.py:626 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/prompts.py:1230 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/prompts.py:1233 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/prompts.py:1283 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/prompts.py:1286 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/prompts.py:626 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/prompts.py:632 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/prompts.py:638 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/agentic/gates.py:341 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/agentic/tool_schemas.py:171 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/agentic/tool_schemas.py:177 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/currency_pegs.py:118 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/currency_pegs.py:150 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/currency_pegs.py:87 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/document_text.py:468 | Is "is_encrypted" a function or an attribute? If it is a function, you may have meant reader.is_encrypted() because reader.is_encrypted is always true. | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/research/fetch_ladder/context.py:127 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/fetch_ladder/guard.py:80 | Is "is_private" a function or an attribute? If it is a function, you may have meant ip.is_private() because ip.is_private is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/fetch_ladder/guard.py:81 | Is "is_loopback" a function or an attribute? If it is a function, you may have meant ip.is_loopback() because ip.is_loopback is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/fetch_ladder/guard.py:82 | Is "is_link_local" a function or an attribute? If it is a function, you may have meant ip.is_link_local() because ip.is_link_local is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/fetch_ladder/guard.py:83 | Is "is_reserved" a function or an attribute? If it is a function, you may have meant ip.is_reserved() because ip.is_reserved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/fetch_ladder/guard.py:84 | Is "is_multicast" a function or an attribute? If it is a function, you may have meant ip.is_multicast() because ip.is_multicast is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/fetch_ladder/guard.py:85 | Is "is_unspecified" a function or an attribute? If it is a function, you may have meant ip.is_unspecified() because ip.is_unspecified is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/fetch_ladder/guard.py:86 | Is "is_global" a function or an attribute? If it is a function, you may have meant ip.is_global() because ip.is_global is always true. | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/fetch_markers.py:58 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/financial_data.py:453 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/fred_rendering.py:136 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/fred_rendering.py:149 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/fred_rendering.py:155 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.best-practice.logging-error-without-handling |
metaculus_bot/research/image_persistence.py:173 | Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. | Lint |
| medium | opengrep/python.lang.best-practice.logging-error-without-handling |
metaculus_bot/research/image_persistence.py:181 | Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. | Lint |
| medium | opengrep/python.lang.best-practice.logging-error-without-handling |
metaculus_bot/research/image_persistence.py:191 | Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/ranking.py:280 | Is "is_resolved" a function or an attribute? If it is a function, you may have meant match.is_resolved() because match.is_resolved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/rendering.py:466 | Is "is_resolved" a function or an attribute? If it is a function, you may have meant match.is_resolved() because match.is_resolved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/rendering.py:497 | Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/rendering.py:549 | Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/rendering.py:631 | Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/rendering.py:645 | Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/rendering.py:705 | Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/rendering.py:706 | Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/research/market_retrieval/session_state.py:217 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/types.py:112 | Is "is_log_scale" a function or an attribute? If it is a function, you may have meant self.is_log_scale() because self.is_log_scale is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/market_retrieval/venues/_shared.py:50 | Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/provider_health.py:345 | Is "is_alertable" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/provider_health.py:365 | Is "is_alertable" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/provider_health.py:366 | Is "is_alertable" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/provider_health.py:390 | Is "is_alertable" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true. | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/timeseries_anchor.py:131 | Is "is_max" a function or an attribute? If it is a function, you may have meant route.is_max() because route.is_max is always true. | Lint |
| medium | opengrep/python.requests.best-practice.use-raise-for-status |
metaculus_bot/research/ts_fetch.py:284 | There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a... | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/ts_render.py:289 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/ts_render.py:339 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.maintainability.is-function-without-parentheses |
metaculus_bot/research/ts_render.py:383 | Is "is_max" a function or an attribute? If it is a function, you may have meant route.is_max() because route.is_max is always true. | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/research/ts_render.py:513 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/tool_runner.py:308 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
metaculus_bot/tool_runner.py:327 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:199 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:203 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:207 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:211 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:215 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:219 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:224 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.code-after-unconditional-return |
metaculus_bot/value_extraction.py:233 | code after return statement will not be executed | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:233 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:291 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.maintainability.return-not-in-function |
metaculus_bot/value_extraction.py:309 | `return` only makes sense inside a function | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
scripts/backfill_research_from_comments.py:191 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
scripts/backfill_research_from_comments.py:280 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
scripts/backfill_research_from_logs.py:171 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
scripts/backfill_research_from_logs.py:242 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
scripts/cost_report.py:295 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.correctness.common-mistakes.string-concat-in-list |
scripts/dispatch_watch.py:177 | Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
scripts/download_research.py:412 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | opengrep/python.lang.best-practice.unspecified-open-encoding |
scripts/download_research.py:417 | Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). | Lint |
| medium | zizmor/excessive-permissions |
.github/workflows/ci.yaml:16 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/ci.yaml:2 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/ci.yaml:20 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/ci.yaml:40 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/ci.yaml:44 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/ci.yaml:67 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/ci.yaml:90 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/ci.yaml:94 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/claude.yml:35 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/fetch_diagnostic.yaml:31 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/fetch_diagnostic.yaml:40 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/run_bot_on_mantic.yaml:32 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/run_bot_on_mantic.yaml:63 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/run_bot_on_metaculus_cup.yaml:30 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/run_bot_on_metaculus_cup.yaml:51 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/run_bot_on_minibench.yaml:20 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/run_bot_on_minibench.yaml:41 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/run_bot_on_tournament.yaml:21 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/run_bot_on_tournament.yaml:42 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/test_bot.yaml:14 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/test_bot.yaml:35 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/test_bot_basic.yaml:28 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/artipacked |
.github/workflows/test_bot_basic.yaml:49 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| medium | opengrep/python.lang.security.audit.logging.python-logger-credential-disclosure |
metaculus_bot/akash_router.py:216 | Detected a python logger call with a potential hardcoded secret "LLM_ROUTE_SUCCESS role=%s slot=%s provider=%s model=%s prompt_tokens=%s completion_tokens=%s" being logged. This may lead to secret credentials being exposed. Make sure... | Static analysis (opengrep) |
| medium | opengrep/python.lang.security.audit.logging.python-logger-credential-disclosure |
metaculus_bot/gemini_routing.py:167 | Detected a python logger call with a potential hardcoded secret "GEMINI_VERTEX_USAGE: role=%s model=%s prompt_tokens=%s output_tokens=%s cost_usd=unknown" being logged. This may lead to secret credentials being exposed. Make sure that... | Static analysis (opengrep) |
| medium | opengrep/python.lang.security.audit.logging.python-logger-credential-disclosure |
metaculus_bot/research/fetch_ladder/rungs.py:1052 | Detected a python logger call with a potential hardcoded secret "resolution_source: url_context rung is enabled but GCP_API_KEY_1 is not set — skipping %s" being logged. This may lead to secret credentials being exposed. Make sure that... | Static analysis (opengrep) |
| medium | opengrep/python.lang.security.audit.regex_dos |
metaculus_bot/research/gemini_search.py:174 | Detected usage of re.compile with an inefficient regular expression. This can lead to regular expression denial of service, which can result in service down time. Instead, check all regexes or use safer alternatives such as pyre2.... | Static analysis (opengrep) |
| medium | osv/GHSA-24rc-8hj2-v98c |
uv.lock | [email protected] (PyPI) is affected by GHSA-24rc-8hj2-v98c | Dependencies (osv-scanner) |
| medium | osv/GHSA-254f-3936-288h |
uv.lock | [email protected] (PyPI) is affected by GHSA-254f-3936-288h | Dependencies (osv-scanner) |
| medium | osv/GHSA-2gx3-rcp4-g85q |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4140, GHSA-2gx3-rcp4-g85q | Dependencies (osv-scanner) |
| medium | osv/GHSA-39mj-jf6j-2qj3 |
uv.lock | [email protected] (PyPI) is affected by GHSA-39mj-jf6j-2qj3 | Dependencies (osv-scanner) |
| medium | osv/GHSA-3hv7-mjh2-fv65 |
uv.lock | [email protected] (PyPI) is affected by GHSA-3hv7-mjh2-fv65 | Dependencies (osv-scanner) |
| medium | osv/GHSA-42vr-xj54-vc7v |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4141, GHSA-42vr-xj54-vc7v | Dependencies (osv-scanner) |
| medium | osv/GHSA-43mp-35q3-x3fq |
uv.lock | [email protected] (PyPI) is affected by GHSA-43mp-35q3-x3fq | Dependencies (osv-scanner) |
| medium | osv/GHSA-462x-pgg6-55fp |
uv.lock | [email protected] (PyPI) is affected by GHSA-462x-pgg6-55fp | Dependencies (osv-scanner) |
| medium | osv/GHSA-494j-54xm-rwp3 |
uv.lock | [email protected] (PyPI) is affected by GHSA-494j-54xm-rwp3 | Dependencies (osv-scanner) |
| medium | osv/GHSA-4j63-6c4x-wfg4 |
uv.lock | [email protected] (PyPI) is affected by GHSA-4j63-6c4x-wfg4 | Dependencies (osv-scanner) |
| medium | osv/GHSA-4rm8-3hmm-39fg |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4340, GHSA-4rm8-3hmm-39fg | Dependencies (osv-scanner) |
| medium | osv/GHSA-54p9-h82j-f925 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4244, GHSA-54p9-h82j-f925 | Dependencies (osv-scanner) |
| medium | osv/GHSA-558c-9hv2-4prj |
uv.lock | [email protected] (PyPI) is affected by GHSA-558c-9hv2-4prj | Dependencies (osv-scanner) |
| medium | osv/GHSA-5h93-6whr-6q8j |
uv.lock | [email protected] (PyPI) is affected by GHSA-5h93-6whr-6q8j | Dependencies (osv-scanner) |
| medium | osv/GHSA-654x-cwwv-5j9c |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4336, GHSA-654x-cwwv-5j9c | Dependencies (osv-scanner) |
| medium | osv/GHSA-6627-m3xw-93mp |
uv.lock | [email protected] (PyPI) is affected by GHSA-6627-m3xw-93mp | Dependencies (osv-scanner) |
| medium | osv/GHSA-69hj-f68j-2879 |
uv.lock | [email protected] (PyPI) is affected by GHSA-69hj-f68j-2879 | Dependencies (osv-scanner) |
| medium | osv/GHSA-6cjc-53gc-5rqm |
uv.lock | [email protected] (PyPI) is affected by GHSA-6cjc-53gc-5rqm | Dependencies (osv-scanner) |
| medium | osv/GHSA-6vvc-x485-93v7 |
uv.lock | [email protected] (PyPI) is affected by GHSA-6vvc-x485-93v7 | Dependencies (osv-scanner) |
| medium | osv/GHSA-74r2-7ff9-mjj2 |
uv.lock | [email protected] (PyPI) is affected by GHSA-74r2-7ff9-mjj2 | Dependencies (osv-scanner) |
| medium | osv/GHSA-7g44-g9rc-x53w |
uv.lock | [email protected] (PyPI) is affected by GHSA-7g44-g9rc-x53w | Dependencies (osv-scanner) |
| medium | osv/GHSA-7mh2-4gg2-979f |
uv.lock | [email protected] (PyPI) is affected by GHSA-7mh2-4gg2-979f | Dependencies (osv-scanner) |
| medium | osv/GHSA-8mx5-7m5m-r77g |
uv.lock | [email protected] (PyPI) is affected by GHSA-8mx5-7m5m-r77g | Dependencies (osv-scanner) |
| medium | osv/GHSA-8wjv-2p76-3863 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4142, GHSA-8wjv-2p76-3863 | Dependencies (osv-scanner) |
| medium | osv/GHSA-9c4x-gm8v-wgc4 |
uv.lock | [email protected] (PyPI) is affected by GHSA-9c4x-gm8v-wgc4 | Dependencies (osv-scanner) |
| medium | osv/GHSA-9h9j-4vrj-gf7g |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4012, GHSA-9h9j-4vrj-gf7g | Dependencies (osv-scanner) |
| medium | osv/GHSA-9mx8-4j7g-633p |
uv.lock | [email protected] (PyPI) is affected by GHSA-9mx8-4j7g-633p | Dependencies (osv-scanner) |
| medium | osv/GHSA-cgf9-327m-v77c |
uv.lock | [email protected] (PyPI) is affected by GHSA-cgf9-327m-v77c | Dependencies (osv-scanner) |
| medium | osv/GHSA-cw65-gx24-rc82 |
uv.lock | [email protected] (PyPI) is affected by GHSA-cw65-gx24-rc82 | Dependencies (osv-scanner) |
| medium | osv/GHSA-cwqr-hh33-gh44 |
uv.lock | [email protected] (PyPI) is affected by GHSA-cwqr-hh33-gh44 | Dependencies (osv-scanner) |
| medium | osv/GHSA-f54x-cmq8-qg57 |
uv.lock | [email protected] (PyPI) is affected by GHSA-f54x-cmq8-qg57 | Dependencies (osv-scanner) |
| medium | osv/GHSA-f9xw-jh8m-3mwq |
uv.lock | [email protected] (PyPI) is affected by GHSA-f9xw-jh8m-3mwq | Dependencies (osv-scanner) |
| medium | osv/GHSA-fc2g-4w5p-6whm |
uv.lock | [email protected] (PyPI) is affected by GHSA-fc2g-4w5p-6whm | Dependencies (osv-scanner) |
| medium | osv/GHSA-fc9g-5qg7-mf45 |
uv.lock | [email protected] (PyPI) is affected by GHSA-fc9g-5qg7-mf45 | Dependencies (osv-scanner) |
| medium | osv/GHSA-fq56-3cx3-fjxp |
uv.lock | [email protected] (PyPI) is affected by GHSA-fq56-3cx3-fjxp | Dependencies (osv-scanner) |
| medium | osv/GHSA-gh4c-6fx4-qh6g |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4176, GHSA-gh4c-6fx4-qh6g | Dependencies (osv-scanner) |
| medium | osv/GHSA-gvp8-978c-rx2q |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4146, GHSA-gvp8-978c-rx2q | Dependencies (osv-scanner) |
| medium | osv/GHSA-hhxq-47xx-j5xx |
uv.lock | [email protected] (PyPI) is affected by GHSA-hhxq-47xx-j5xx | Dependencies (osv-scanner) |
| medium | osv/GHSA-hxm8-2xgr-2p9m |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4147, GHSA-hxm8-2xgr-2p9m | Dependencies (osv-scanner) |
| medium | osv/GHSA-j8f7-rjxc-mr56 |
uv.lock | [email protected] (PyPI) is affected by GHSA-j8f7-rjxc-mr56 | Dependencies (osv-scanner) |
| medium | osv/GHSA-jwrc-g2q2-pq5p |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4148, GHSA-jwrc-g2q2-pq5p | Dependencies (osv-scanner) |
| medium | osv/GHSA-m2h6-j472-rp4c |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-3554, GHSA-m2h6-j472-rp4c | Dependencies (osv-scanner) |
| medium | osv/GHSA-m462-7rxw-wvpg |
uv.lock | [email protected] (PyPI) is affected by GHSA-m462-7rxw-wvpg | Dependencies (osv-scanner) |
| medium | osv/GHSA-p8hx-v2p6-rp84 |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4337, GHSA-p8hx-v2p6-rp84 | Dependencies (osv-scanner) |
| medium | osv/GHSA-pcg2-g6cj-q92c |
uv.lock | [email protected] (PyPI) is affected by GHSA-pcg2-g6cj-q92c | Dependencies (osv-scanner) |
| medium | osv/GHSA-pqxq-w44r-73xw |
uv.lock | [email protected] (PyPI) is affected by GHSA-pqxq-w44r-73xw | Dependencies (osv-scanner) |
| medium | osv/GHSA-qfv9-64jg-mh7p |
uv.lock | [email protected] (PyPI) is affected by GHSA-qfv9-64jg-mh7p | Dependencies (osv-scanner) |
| medium | osv/GHSA-r4j5-9xpp-3985 |
uv.lock | [email protected] (PyPI) is affected by GHSA-r4j5-9xpp-3985 | Dependencies (osv-scanner) |
| medium | osv/GHSA-rfgq-q3w2-pmv2 |
uv.lock | [email protected] (PyPI) is affected by GHSA-rfgq-q3w2-pmv2 | Dependencies (osv-scanner) |
| medium | osv/GHSA-rfpc-qcw5-3pc4 |
uv.lock | [email protected] (PyPI) is affected by GHSA-rfpc-qcw5-3pc4 | Dependencies (osv-scanner) |
| medium | osv/GHSA-rwrf-2pqf-9j8j |
uv.lock | [email protected] (PyPI) is affected by GHSA-rwrf-2pqf-9j8j | Dependencies (osv-scanner) |
| medium | osv/GHSA-vx6w-vv9f-6gvg |
uv.lock | [email protected] (PyPI) is affected by GHSA-vx6w-vv9f-6gvg | Dependencies (osv-scanner) |
| medium | osv/GHSA-w4fh-qvv9-3v23 |
uv.lock | [email protected] (PyPI) is affected by GHSA-w4fh-qvv9-3v23 | Dependencies (osv-scanner) |
| medium | osv/GHSA-w6j9-cwv2-h6wq |
uv.lock | [email protected] (PyPI) is affected by PYSEC-2026-4152, GHSA-w6j9-cwv2-h6wq | Dependencies (osv-scanner) |
| medium | osv/GHSA-wqgw-9xfh-qf2g |
uv.lock | [email protected] (PyPI) is affected by GHSA-wqgw-9xfh-qf2g | Dependencies (osv-scanner) |
| low | gitleaks/generic-api-key |
tests/data/manifold_multi_outcome_2026_08_05.json:52 | Possible generic-api-key secret in the current tree (test/docs/example file) | Secrets (gitleaks) |
| low | gitleaks/generic-api-key |
tests/data/manifold_pseudo_numeric_2026_08_05.json:26 | Possible generic-api-key secret in the current tree (test/docs/example file) | Secrets (gitleaks) |
| low | gitleaks/generic-api-key |
tests/data/prediction_market_venue_payloads.json:719 | Possible generic-api-key secret in the current tree (test/docs/example file) | Secrets (gitleaks) |
| low | gitleaks/generic-api-key |
tests/test_check_openrouter_credits.py:18 | Possible generic-api-key secret in the current tree (test/docs/example file) | Secrets (gitleaks) |
| low | gitleaks/generic-api-key |
tests/test_credit_role_spend.py:523 | Possible generic-api-key secret in the current tree (test/docs/example file) | Secrets (gitleaks) |
| low | gitleaks/generic-api-key |
tests/test_credit_telemetry.py:58 | Possible generic-api-key secret in the current tree (test/docs/example file) | Secrets (gitleaks) |
| low | osv/GHSA-494p-63j8-28p3 |
uv.lock | [email protected] (PyPI) is affected by GHSA-494p-63j8-28p3 | Dependencies (osv-scanner) |
| low | osv/GHSA-567q-5qvw-pf92 |
uv.lock | [email protected] (PyPI) is affected by GHSA-567q-5qvw-pf92 | Dependencies (osv-scanner) |
| low | osv/GHSA-5cjw-f85j-cv6r |
uv.lock | [email protected] (PyPI) is affected by GHSA-5cjw-f85j-cv6r | Dependencies (osv-scanner) |
| low | osv/GHSA-5hx5-vpf9-5wcv |
uv.lock | [email protected] (PyPI) is affected by GHSA-5hx5-vpf9-5wcv | Dependencies (osv-scanner) |
| low | osv/GHSA-9vhv-jxww-xfm5 |
uv.lock | [email protected] (PyPI) is affected by GHSA-9vhv-jxww-xfm5 | Dependencies (osv-scanner) |
| low | osv/GHSA-cx28-75q4-x26q |
uv.lock | [email protected] (PyPI) is affected by GHSA-cx28-75q4-x26q | Dependencies (osv-scanner) |
| low | osv/GHSA-gx76-c99x-2c96 |
uv.lock | [email protected] (PyPI) is affected by GHSA-gx76-c99x-2c96 | Dependencies (osv-scanner) |
| low | osv/GHSA-pw9p-v7r6-gx4p |
uv.lock | [email protected] (PyPI) is affected by GHSA-pw9p-v7r6-gx4p | Dependencies (osv-scanner) |
| low | osv/GHSA-qmx5-4p3x-wvqf |
uv.lock | [email protected] (PyPI) is affected by GHSA-qmx5-4p3x-wvqf | Dependencies (osv-scanner) |
Tools and coverage
Every analyzer that ran on this commit. A failed or skipped tool is a coverage gap: its share of the score is left out and the coverage figure drops.
| Analyzer | Pillar | Status | Version | Findings | Note |
|---|---|---|---|---|---|
| AI tool configuration | AI provenance | ok | signatures-v1 | 0 | |
| Explicit AI attribution | AI provenance | ok | signatures-v1 | 0 | |
| Release velocity | AI provenance | skipped | — | 0 | |
| Coding style | AI provenance | ok | — | 0 | |
| Commit velocity | AI provenance | ok | prov-4 | 0 | |
| Complexity (lizard) | Code quality | ok | lizard 1.25.1 | 0 | |
| Documentation | Code quality | ok | — | 0 | |
| Duplication (jscpd) | Code quality | ok | repotrust-dup-w6 | 0 | |
| Lint | Code quality | ok | opengrep 1.33.1; rules f1d2b562b414 | 200 | |
| Tests and CI | Code quality | ok | — | 0 | |
| Type safety | Code quality | ok | — | 0 | |
| CI workflows (zizmor) | Security | ok | zizmor 1.32.0 | 53 | |
| Dependencies (osv-scanner) | Security | ok | osv-scanner version: 2.7.1 | 156 | |
| Release downloads | Security | ok | — | 0 | |
| Security posture | Security | ok | — | 0 | |
| Package registries | Security | ok | — | 0 | |
| Static analysis (opengrep) | Security | ok | opengrep 1.33.1; rules f1d2b562b414 | 14 | |
| OpenSSF Scorecard | Security | skipped | — | 0 | no published OpenSSF Scorecard result for this repo |
| Secrets (gitleaks) | Security | ok | gitleaks 8.30.1 | 6 |
Score history
Scores from different scoring versions aren't directly comparable.
| Scored | Commit | Scoring | AI provenance | Quality | Security |
|---|---|---|---|---|---|
| 2026-11-14 | 26e86c3f8732 | prov-5+qual-2+sec-2 | 0% | 77 | 46 |
| 2026-11-14 | 26e86c3f8732 | prov-4+qual-2+sec-2 | 0% | 77 | 46 |
Full text report
- Repository: https://github.com/tude-alt/testrun
- Commit:
26e86c3f8732b70fe673456bf74108a716ad1863 - Generated: 2026-11-14T14:52:08+00:00
- Scorer 0.1.0, scoring prov-5+qual-2+sec-2, report schema v2
Scores
| Pillar | Score | Signal | Confidence | Coverage |
|---|---|---|---|---|
| AI provenance (estimated AI-generated share) | 0 | possible | 65% | 100% |
| Code quality | 77 | adequate | 90% | 100% |
| Security | 46 | poor | 85% | 100% |
AI provenance
Weak signals consistent with AI-assisted development.
-
Explicitly attributed share (lower bound): 0.0%
-
Unattributed share in AI-consistent velocity bursts: 59.5%
-
Estimated AI-generated share: 0.0%
-
AI tooling configured in repo: claude-code, generic-agent
-
Stylometry index: 0.15 per 1,000 lines (narrated steps 0, placeholders 0, assistant phrasing 0, emoji 31). Reported as a signal, not scored.
| Month | Lines added | Attributed to AI |
|---|---|---|
| 2025-11 | 395 | 0% |
| 2025-12 | 607 | 0% |
| 2026-01 | 209 | 0% |
| 2026-02 | 4,358 | 0% |
| 2026-03 | 2,279 | 0% |
| 2026-04 | 6,386 | 0% |
| 2026-05 | 69,089 | 0% |
| 2026-06 | 13,871 | 0% |
| 2026-07 | 61,080 | 0% |
| 2026-08 | 82,628 | 0% |
| 2026-09 | 146,393 | 0% |
| 2026-10 | 1,524 | 0% |
Evidence
- .github/workflows/claude.yml runs anthropics/claude-code-action (.github/work)
- 11,098 lines of first-party code in ~3.2h (3,465 lines/hour, 44 commit session) (c3bd3efc04e1)
- 2,840 lines of first-party code in ~1.0h (2,757 lines/hour, 2 commit session) (f213025f7e8c)
- 4,287 lines of first-party code in ~1.6h (2,647 lines/hour, 33 commit session) (e12135d87d0c)
- 6,861 lines of first-party code in ~2.7h (2,511 lines/hour, 30 commit session) (ea1b29a6cc8f)
- 6,050 lines of first-party code in ~2.4h (2,485 lines/hour, 8 commit session) (d30a9c4ea297)
- 2,859 lines of first-party code in ~1.4h (2,010 lines/hour, 1 commit session) (2b4690978e1f)
- 10,811 lines of first-party code in ~5.4h (1,993 lines/hour, 28 commit session) (820b1a701f90)
- 3,393 lines of first-party code in ~1.7h (1,970 lines/hour, 8 commit session) (6638350ac2bd)
- 6,915 lines of first-party code in ~4.0h (1,718 lines/hour, 8 commit session) (ff20e5e552ce)
- 9,665 lines of first-party code in ~5.6h (1,718 lines/hour, 33 commit session) (972e4d6212e5)
- AGENTS.md (generic-agent configuration) (AGENTS.md)
- 9,849 lines of first-party code in ~6.0h (1,640 lines/hour, 13 commit session) (a61c53d1c3ae)
- 6,736 lines of first-party code in ~4.3h (1,572 lines/hour, 7 commit session) (3e484edcc1a4)
- 2,547 lines of first-party code in ~1.6h (1,545 lines/hour, 2 commit session) (f852f8a53e53)
AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.
Code quality
Code quality is adequate: test-to-source ratio 1.78, CI runs tests; 6% of function code in complex or long functions; 1% duplicated lines. Weakest area: type safety.
| Area | Score |
|---|---|
| Complexity (lizard) | 84 |
| Duplication | 92 |
| Code smells (Opengrep) | 50 |
| Tests and CI | 100 |
| Documentation | 65 |
| Type safety | 0 |
| Process (Scorecard review/maintenance) | n/a |
- Functions: 3,421; mean complexity 4.3, 90th percentile 9; 51 complex and 5 long functions
- Duplicated lines: 1.4% of 77,650 compared
- Tests: 182,025 test lines for 102,156 source lines (ratio 1.78); CI test commands: pytest, npm run test; 75% of recent source commits also change tests
- Docs missing or thin: contributing, changelog
Most complex functions:
- new_wave_summary in metaculus_bot/performance_analysis/round_outputs.py: complexity 37, 55 lines
- sweep_row in metaculus_bot/performance_analysis/clip_threshold_sweep.py: complexity 30, 45 lines
- _type_report in metaculus_bot/performance_analysis/clip_threshold_tables.py: complexity 29, 49 lines
- counts_payload in metaculus_bot/performance_analysis/round_outputs.py: complexity 28, 94 lines
- _ladder_at_stage in metaculus_bot/research/market_retrieval/rendering.py: complexity 28, 30 lines
Security
Security posture is poor: 156 known vulnerabilities in 17 dependencies; 10 high-severity SAST findings; 30 high-severity workflow issues. Weakest area: posture.
| Area | Score |
|---|---|
| Secrets (gitleaks, tree + history) | 82 |
| Static analysis (Opengrep) | 97 |
| Vulnerable dependencies (OSV) | 6 |
| CI workflows (zizmor) | 0 |
| Posture (policy, updates, signing, lockfiles) | 0 |
| OpenSSF Scorecard | n/a |
-
Known vulnerabilities: 156 in 17 packages (critical 11, high 81, medium 54, low 9)
-
Posture checks passed: lockfiles; missing: security policy, dependency updates, signed commits
Top findings
| Severity | Finding | Location |
|---|---|---|
| critical | osv/GHSA-9v8h-qqgm-4m35: [email protected] (PyPI) is affected by PYSEC-2026-4322, GHSA-9v8h-qqgm-4m35 |
uv.lock |
| critical | osv/GHSA-6q48-6c7w-9gw2: [email protected] (PyPI) is affected by PYSEC-2026-4320, GHSA-6q48-6c7w-9gw2 |
uv.lock |
| critical | osv/GHSA-p423-j2cm-9vmq: [email protected] (PyPI) is affected by PYSEC-2026-36, GHSA-p423-j2cm-9vmq |
uv.lock |
| critical | osv/GHSA-7hp6-4w63-5g45: [email protected] (PyPI) is affected by GHSA-7hp6-4w63-5g45 |
uv.lock |
| critical | osv/GHSA-5x8w-8jj5-q52h: [email protected] (PyPI) is affected by PYSEC-2026-4330, GHSA-5x8w-8jj5-q52h |
uv.lock |
| critical | osv/GHSA-8g5g-8vmr-9782: [email protected] (PyPI) is affected by PYSEC-2026-4332, GHSA-8g5g-8vmr-9782 |
uv.lock |
| critical | osv/GHSA-v9pv-5gc8-w2m6: [email protected] (PyPI) is affected by PYSEC-2026-4339, GHSA-v9pv-5gc8-w2m6 |
uv.lock |
| critical | osv/GHSA-xvh5-g6gv-559v: [email protected] (PyPI) is affected by PYSEC-2026-4363, GHSA-xvh5-g6gv-559v |
uv.lock |
| critical | osv/GHSA-332p-7hrc-92wf: [email protected] (PyPI) is affected by GHSA-332p-7hrc-92wf |
uv.lock |
| critical | osv/GHSA-w889-685w-c8fh: [email protected] (PyPI) is affected by GHSA-w889-685w-c8fh |
uv.lock |
| critical | osv/GHSA-ffc3-869f-jxw9: [email protected] (PyPI) is affected by PYSEC-2026-4145, GHSA-ffc3-869f-jxw9 |
uv.lock |
| high | opengrep/python.lang.security.audit.dangerous-asyncio-create-exec-audit: Detected 'create_subprocess_exec' function without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] |
metaculus_bot/ablation/claude_cli.py:86 |
| high | opengrep/python.lang.security.use-defused-xml: The Python documentation recommends using defusedxml instead of xml because the native Python xml library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. [confidence low] |
metaculus_bot/research/fred_rendering.py:22 |
| high | opengrep/python.lang.security.use-defused-xml: The Python documentation recommends using defusedxml instead of xml because the native Python xml library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. [confidence low] |
metaculus_bot/research/known_api/backends.py:30 |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] |
scripts/backfill_research_from_logs.py:140 |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] |
scripts/backfill_research_from_logs.py:158 |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] |
scripts/derive_mini_comment_fixture.py:236 |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] |
scripts/dispatch_watch.py:206 |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] |
scripts/download_run_logs.py:101 |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] |
scripts/gha_artifacts.py:134 |
| high | opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] |
scripts/gha_artifacts.py:254 |
| high | osv/GHSA-2g87-pp6c-29x5: [email protected] (PyPI) is affected by GHSA-2g87-pp6c-29x5 |
uv.lock |
| high | osv/GHSA-5wr8-gcqf-gqf3: [email protected] (PyPI) is affected by GHSA-5wr8-gcqf-gqf3 |
uv.lock |
| high | osv/GHSA-9xw5-w5jj-pvcg: [email protected] (PyPI) is affected by GHSA-9xw5-w5jj-pvcg |
uv.lock |
| high | osv/GHSA-g6cj-pr64-35w5: [email protected] (PyPI) is affected by PYSEC-2026-3552, GHSA-g6cj-pr64-35w5 |
uv.lock |
Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.
Distribution signals
- readme-download-lure: gives an archive password
Signals consistent with a repository that exists to distribute a download. They are heuristics, not a verdict; release files were not downloaded or inspected.
Repository profile
- Source lines: 102,156; test lines: 182,025
| Language | Lines |
|---|---|
| Python | 283,907 |
| Shell | 274 |