RepoTrust

Leaderboard github.com

ccieblogger/netraven

AI coded multi-service, containerized platform

  • View repository ↗
  • Python
  • ★ 1
  • commit 2f641cca30c2
  • scored 2026-11-14
  • scoring prov-5+qual-2+sec-2

AI provenance

0%

possible

Confidence
65%
Coverage
100%

Estimated share of AI-generated code. Explicit attribution is a lower bound.

Code quality

50/100

weak

Confidence
90%
Coverage
100%

Complexity, duplication, lint density, tests, CI, docs and review process.

Security

34/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. 2 commit(s) carry explicit AI attribution, too few to characterize the codebase. Comments and strings use phrasing typical of LLM-written code (see the coding style evidence).

How the score is built

  • Explicitly attributed share0%
  • Unattributed share in AI-pace bursts60%
  • Estimated AI-generated share0%
  • AI tool configuration files3
  • Work sessions at AI pace7
  • Releases at AI pace0
  • Coding-style index (1.0+ means possible)1.26

Attributed AI tools

ToolCommitsLines addedFirst seenLast seen
GitHub Copilot coding agent222025-04-172025-04-17

Lines added per month all AI-attributed share

  1. 2025-0460,112 · 0% AI
  2. 2025-059,917 · 0% AI

Findings in AI-attributed lines vs the rest

From git blame: 2 lines trace to AI-attributed commits, 24,959 to others. Too few lines in one group for a fair comparison. Reported, not scored.

Findings per 1,000 linesAI-attributedOtherRatio
Code quality0.003.37—
Security0.000.20—

Evidence by analyzer

Explicit AI attributionok3 items
attributed_commit_share
0.4%
attributed_commits
2
attributed_loc
2
attributed_loc_share
0.0%
commits
457
effective_loc
70,029
tools_detected
1
AI tool configurationok3 items
artifacts
3
earliest_adoption
2025-04-13
tools_configured
2
workflow_agents
0
Commit velocityok7 items
excluded_import_loc
0
flagged_loc
42,128
flagged_loc_share
60.2%
flagged_units
7
max_loc_per_hour
6,057
measured_loc
70,029
median_loc_per_hour
103.72
pr_timed_units
0
pre_ai_era_burst_loc
0
pre_ai_era_bursts
0
pre_ai_era_measured_loc
0
work_units
127
Release velocityok
flagged_releases
0
max_loc_per_day
65,142.90
releases
13
Coding styleok7 items
count:assistant_voice
3
count:emoji_in_code
37
count:narrated_steps
1
count:placeholder
3
files:assistant_voice
3
files:emoji_in_code
10
files:narrated_steps
1
files:placeholder
3
index
1.26
lines_scanned
24,961
per_kloc:assistant_voice
0.12
per_kloc:emoji_in_code
1.48
per_kloc:narrated_steps
0.04
per_kloc:placeholder
0.12
Findings in AI-written linesok
ai_lines
2
blame_failures
0
files_blamed
229
other_lines
24,959
quality:ai_findings
0
quality:ai_per_kloc
0
quality:other_findings
84
quality:other_per_kloc
3.37
security:ai_findings
0
security:ai_per_kloc
0
security:other_findings
5
security:other_per_kloc
0.20

Code quality

50 weak

Code quality is weak: test-to-source ratio 0.29, no CI test run detected; 20% of function code in complex or long functions; 8% duplicated lines. Weakest area: type safety.

How the score is built

  • Complexity56
  • Duplication61
  • Lint and smells61
  • Tests and CI38
  • Documentation65
  • Type safety0
  • Review processnot measured

Evidence by analyzer

Complexity (lizard)ok10 items
complex_functions
14
function_nloc
8,631
functions
846
long_functions
7
many_param_functions
6
mean_ccn
2.95
p90_ccn
6
risky_nloc_share
19.6%
Duplication (jscpd)ok10 items
compared_lines
19,181
duplicated_lines
1,599
duplicated_share
8.3%
files
229
Lintok
category:best-practice
7
category:correctness
50
category:maintainability
27
findings
84
scanned_lines
24,961
weighted_findings
50
Tests and CIok
check:ci_present
no
check:ci_runs_lint
no
check:ci_runs_tests
no
check:has_tests
yes
check:test_ratio
no
check:tests_cochange
no
ci_files
0
cochange_commits
243
cochange_share
9.0%
source_lines
24,961
test_lines
7,288
test_ratio
0.29
Documentationok2 items
  • README.md README.md
  • LICENSE LICENSE
check:changelog
no
check:contributing
no
check:license
yes
check:readme
yes
readme_lines
115
Type safetyok
check:low_escape_density
no
check:strict_config
no
escapes
95
escapes_per_kloc
8.56

Security

34 poor

Security posture is poor: 0 possible secret(s) in the tree, 3 only in history; 181 known vulnerabilities in 41 dependencies; 8 high-severity SAST findings. Weakest area: posture.

How the score is built

  • Secrets37
  • Static analysis (SAST)82
  • Vulnerable dependencies1
  • CI workflowsnot measured
  • Security posture0
  • OpenSSF Scorecardnot measured

Evidence by analyzer

OpenSSF Scorecardskipped

no published OpenSSF Scorecard result for this repo

Package registriesok
checked
46
declared
46
lookup_errors
0
missing
0
recent
0
Secrets (gitleaks)ok
secrets_current
0
secrets_history
3
secrets_low_confidence
1
secrets_nonprod
14
Static analysis (opengrep)ok
findings
12
findings_high
8
findings_low
1
findings_medium
3
parse_errors
0
scanned_lines
24,961
weighted_findings
14.16
Dependencies (osv-scanner)ok
penalty
311
vulnerabilities
181
vulnerable_packages
41
vulns_critical
8
vulns_high
99
vulns_low
11
vulns_medium
62
vulns_unknown
1
CI workflows (zizmor)skipped
Security postureok1 item
  • package.json has no lockfile alongside it (unpinned dependencies) package.json
check:dependency_updates
no
check:lockfiles
no
check:security_policy
no
check:signed_commits
no
signed_commit_share
0.0%
unpinned_manifests
1
Release downloadsok
binary_assets
0
signals
0
suspicious
0

Findings

8 critical108 high104 medium75 low

SeverityRuleLocationMessageTool
critical osv/GHSA-fjxv-7rqg-78g4 frontend/package-lock.json [email protected] (npm) is affected by GHSA-fjxv-7rqg-78g4 Dependencies (osv-scanner)
critical osv/GHSA-wf6x-7x77-mvgw frontend/package-lock.json [email protected] (npm) is affected by GHSA-wf6x-7x77-mvgw Dependencies (osv-scanner)
critical osv/GHSA-284h-m62q-gf8w poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3786, GHSA-284h-m62q-gf8w Dependencies (osv-scanner)
critical osv/GHSA-3qf3-8w2g-rqmx poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-4298, GHSA-3qf3-8w2g-rqmx Dependencies (osv-scanner)
critical osv/GHSA-6q48-6c7w-9gw2 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-4320, GHSA-6q48-6c7w-9gw2 Dependencies (osv-scanner)
critical osv/GHSA-82r6-8w77-94w6 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-4025, GHSA-82r6-8w77-94w6 Dependencies (osv-scanner)
critical osv/GHSA-vqfr-h8mv-ghfj poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-348, GHSA-vqfr-h8mv-ghfj Dependencies (osv-scanner)
critical osv/GHSA-x2qx-6953-8485 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2161, GHSA-x2qx-6953-8485 Dependencies (osv-scanner)
high opengrep/python.lang.best-practice.arbitrary-sleep netraven/worker/backends/paramiko_driver.py:152 time.sleep() call; did you mean to leave this in? Lint
high opengrep/dockerfile.security.missing-user docker/api/Dockerfile:43 By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile... Static analysis (opengrep)
high opengrep/dockerfile.security.missing-user-entrypoint docker/api/Dockerfile:47 By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile... Static analysis (opengrep)
high opengrep/dockerfile.security.missing-user docker/frontend/Dockerfile:38 By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile... Static analysis (opengrep)
high opengrep/dockerfile.security.missing-user docker/frontend/Dockerfile:41 By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile... Static analysis (opengrep)
high opengrep/dockerfile.security.missing-user-entrypoint docker/rq_scheduler/Dockerfile:41 By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile... Static analysis (opengrep)
high opengrep/dockerfile.security.missing-user-entrypoint docker/scheduler/Dockerfile:41 By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile... Static analysis (opengrep)
high opengrep/dockerfile.security.missing-user-entrypoint docker/worker/Dockerfile:48 By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile... Static analysis (opengrep)
high osv/GHSA-23c5-xmqv-rm74 frontend/package-lock.json [email protected] (npm) is affected by GHSA-23c5-xmqv-rm74 Dependencies (osv-scanner)
high osv/GHSA-28wg-ghj8-5hjv frontend/package-lock.json [email protected] (npm) is affected by GHSA-28wg-ghj8-5hjv Dependencies (osv-scanner)
high osv/GHSA-28wg-ghj8-5hjv frontend/package-lock.json [email protected] (npm) is affected by GHSA-28wg-ghj8-5hjv Dependencies (osv-scanner)
high osv/GHSA-2v37-7h3g-55p8 frontend/package-lock.json [email protected] (npm) is affected by GHSA-2v37-7h3g-55p8 Dependencies (osv-scanner)
high osv/GHSA-2v37-7h3g-55p8 frontend/package-lock.json [email protected] (npm) is affected by GHSA-2v37-7h3g-55p8 Dependencies (osv-scanner)
high osv/GHSA-35jp-ww65-95wh frontend/package-lock.json [email protected] (npm) is affected by GHSA-35jp-ww65-95wh Dependencies (osv-scanner)
high osv/GHSA-3g43-6gmg-66jw frontend/package-lock.json [email protected] (npm) is affected by GHSA-3g43-6gmg-66jw Dependencies (osv-scanner)
high osv/GHSA-3jxr-9vmj-r5cp frontend/package-lock.json [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp Dependencies (osv-scanner)
high osv/GHSA-3ppc-4f35-3m26 frontend/package-lock.json [email protected] (npm) is affected by GHSA-3ppc-4f35-3m26 Dependencies (osv-scanner)
high osv/GHSA-43fc-jf86-j433 frontend/package-lock.json [email protected] (npm) is affected by GHSA-43fc-jf86-j433 Dependencies (osv-scanner)
high osv/GHSA-4hjh-wcwx-xvwj frontend/package-lock.json [email protected] (npm) is affected by GHSA-4hjh-wcwx-xvwj Dependencies (osv-scanner)
high osv/GHSA-587h-7wmj-h5pm frontend/package-lock.json [email protected] (npm) is affected by GHSA-587h-7wmj-h5pm Dependencies (osv-scanner)
high osv/GHSA-5j98-mcp5-4vw2 frontend/package-lock.json [email protected] (npm) is affected by GHSA-5j98-mcp5-4vw2 Dependencies (osv-scanner)
high osv/GHSA-62hf-57xw-28j9 frontend/package-lock.json [email protected] (npm) is affected by GHSA-62hf-57xw-28j9 Dependencies (osv-scanner)
high osv/GHSA-68fv-2mgg-jv7q frontend/package-lock.json [email protected] (npm) is affected by GHSA-68fv-2mgg-jv7q Dependencies (osv-scanner)
high osv/GHSA-6chq-wfr3-2hj9 frontend/package-lock.json [email protected] (npm) is affected by GHSA-6chq-wfr3-2hj9 Dependencies (osv-scanner)
high osv/GHSA-6g55-p6wh-862q frontend/package-lock.json [email protected] (npm) is affected by GHSA-6g55-p6wh-862q Dependencies (osv-scanner)
high osv/GHSA-6j4f-fj2g-mc7p frontend/package-lock.json [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p Dependencies (osv-scanner)
high osv/GHSA-73wf-gq98-2v4g frontend/package-lock.json [email protected] (npm) is affected by GHSA-73wf-gq98-2v4g Dependencies (osv-scanner)
high osv/GHSA-777c-7fjr-54vf frontend/package-lock.json [email protected] (npm) is affected by GHSA-777c-7fjr-54vf Dependencies (osv-scanner)
high osv/GHSA-7r86-cg39-jmmj frontend/package-lock.json [email protected] (npm) is affected by GHSA-7r86-cg39-jmmj Dependencies (osv-scanner)
high osv/GHSA-c2c7-rcm5-vvqj frontend/package-lock.json [email protected] (npm) is affected by GHSA-c2c7-rcm5-vvqj Dependencies (osv-scanner)
high osv/GHSA-c2c7-rcm5-vvqj frontend/package-lock.json [email protected] (npm) is affected by GHSA-c2c7-rcm5-vvqj Dependencies (osv-scanner)
high osv/GHSA-c83g-rgw3-j3cx frontend/package-lock.json [email protected] (npm) is affected by GHSA-c83g-rgw3-j3cx Dependencies (osv-scanner)
high osv/GHSA-g2v6-rqmx-r4w6 frontend/package-lock.json @vue/[email protected] (npm) is affected by GHSA-g2v6-rqmx-r4w6 Dependencies (osv-scanner)
high osv/GHSA-hfxv-24rg-xrqf frontend/package-lock.json [email protected] (npm) is affected by GHSA-hfxv-24rg-xrqf Dependencies (osv-scanner)
high osv/GHSA-hmw2-7cc7-3qxx frontend/package-lock.json [email protected] (npm) is affected by GHSA-hmw2-7cc7-3qxx Dependencies (osv-scanner)
high osv/GHSA-j5f8-grm9-p9fc frontend/package-lock.json [email protected] (npm) is affected by GHSA-j5f8-grm9-p9fc Dependencies (osv-scanner)
high osv/GHSA-mh99-v99m-4gvg frontend/package-lock.json [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg Dependencies (osv-scanner)
high osv/GHSA-mw96-cpmx-2vgc frontend/package-lock.json [email protected] (npm) is affected by GHSA-mw96-cpmx-2vgc Dependencies (osv-scanner)
high osv/GHSA-p92q-9vqr-4j8v frontend/package-lock.json [email protected] (npm) is affected by GHSA-p92q-9vqr-4j8v Dependencies (osv-scanner)
high osv/GHSA-pf86-5x62-jrwf frontend/package-lock.json [email protected] (npm) is affected by GHSA-pf86-5x62-jrwf Dependencies (osv-scanner)
high osv/GHSA-pmwg-cvhr-8vh7 frontend/package-lock.json [email protected] (npm) is affected by GHSA-pmwg-cvhr-8vh7 Dependencies (osv-scanner)
high osv/GHSA-q8qp-cvcw-x6jj frontend/package-lock.json [email protected] (npm) is affected by GHSA-q8qp-cvcw-x6jj Dependencies (osv-scanner)
high osv/GHSA-qhr7-859c-m2p7 frontend/package-lock.json [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 Dependencies (osv-scanner)
high osv/GHSA-r28c-9q8g-f849 frontend/package-lock.json [email protected] (npm) is affected by GHSA-r28c-9q8g-f849 Dependencies (osv-scanner)
high osv/GHSA-rgw5-rvv9-x895 frontend/package-lock.json [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 Dependencies (osv-scanner)
high osv/GHSA-v56q-mh7h-f735 frontend/package-lock.json [email protected] (npm) is affected by GHSA-v56q-mh7h-f735 Dependencies (osv-scanner)
high osv/GHSA-xvcm-6775-5m9r frontend/package-lock.json [email protected] (npm) is affected by GHSA-xvcm-6775-5m9r Dependencies (osv-scanner)
high osv/GHSA-xwg4-73v4-xw9w frontend/package-lock.json [email protected] (npm) is affected by GHSA-xwg4-73v4-xw9w Dependencies (osv-scanner)
high osv/GHSA-xwg4-73v4-xw9w frontend/package-lock.json [email protected] (npm) is affected by GHSA-xwg4-73v4-xw9w Dependencies (osv-scanner)
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit netraven/worker/jobs/reachability.py:51 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-239g-whfq-7xj9 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3982, GHSA-239g-whfq-7xj9 Dependencies (osv-scanner)
high osv/GHSA-23mf-xhv8-69c2 poetry.lock [email protected] (PyPI) is affected by GHSA-23mf-xhv8-69c2 Dependencies (osv-scanner)
high osv/GHSA-2f96-g7mh-g2hx poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3836, GHSA-2f96-g7mh-g2hx Dependencies (osv-scanner)
high osv/GHSA-2h4p-vjrc-8xpq poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2617, GHSA-2h4p-vjrc-8xpq Dependencies (osv-scanner)
high osv/GHSA-2qm8-x737-gmw5 poetry.lock [email protected] (PyPI) is affected by GHSA-2qm8-x737-gmw5 Dependencies (osv-scanner)
high osv/GHSA-2xpw-w6gg-jr37 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1994, GHSA-2xpw-w6gg-jr37 Dependencies (osv-scanner)
high osv/GHSA-38jv-5279-wg99 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1996, GHSA-38jv-5279-wg99 Dependencies (osv-scanner)
high osv/GHSA-3f7w-8rr8-f37f poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3949, GHSA-3f7w-8rr8-f37f Dependencies (osv-scanner)
high osv/GHSA-3rp5-jjmw-4wv2 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3981, GHSA-3rp5-jjmw-4wv2 Dependencies (osv-scanner)
high osv/GHSA-45c3-73f7-pv4m poetry.lock [email protected] (PyPI) is affected by GHSA-45c3-73f7-pv4m Dependencies (osv-scanner)
high osv/GHSA-4gmw-gg2m-w46p poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3838, GHSA-4gmw-gg2m-w46p Dependencies (osv-scanner)
high osv/GHSA-537c-gmf6-5ccf poetry.lock [email protected] (PyPI) is affected by GHSA-537c-gmf6-5ccf Dependencies (osv-scanner)
high osv/GHSA-539m-9xh6-q6rr poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3948, GHSA-539m-9xh6-q6rr Dependencies (osv-scanner)
high osv/GHSA-5rvq-cxj2-64vf poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3036, GHSA-5rvq-cxj2-64vf Dependencies (osv-scanner)
high osv/GHSA-5xxx-qhh7-9287 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3788, GHSA-5xxx-qhh7-9287 Dependencies (osv-scanner)
high osv/GHSA-6p8h-3wgx-97gf poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3952, GHSA-6p8h-3wgx-97gf Dependencies (osv-scanner)
high osv/GHSA-7545-fcxq-7j24 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2162, GHSA-7545-fcxq-7j24 Dependencies (osv-scanner)
high osv/GHSA-7833-fr7j-v32q poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3785, GHSA-7833-fr7j-v32q Dependencies (osv-scanner)
high osv/GHSA-7f5h-v6xp-fcq8 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1942, GHSA-7f5h-v6xp-fcq8 Dependencies (osv-scanner)
high osv/GHSA-82w8-qh3p-5jfq poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-249, GHSA-82w8-qh3p-5jfq Dependencies (osv-scanner)
high osv/GHSA-83vg-56qc-22m7 poetry.lock [email protected] (PyPI) is affected by GHSA-83vg-56qc-22m7 Dependencies (osv-scanner)
high osv/GHSA-8988-9cw3-xx77 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-4175, GHSA-8988-9cw3-xx77 Dependencies (osv-scanner)
high osv/GHSA-8mcc-hrx5-hvxc poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3787, GHSA-8mcc-hrx5-hvxc Dependencies (osv-scanner)
high osv/GHSA-8ppf-4f7h-5ppj poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3456, GHSA-8ppf-4f7h-5ppj Dependencies (osv-scanner)
high osv/GHSA-94p4-4cq8-9g67 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3951, GHSA-94p4-4cq8-9g67 Dependencies (osv-scanner)
high osv/GHSA-956x-8gvw-wg5v poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3839, GHSA-956x-8gvw-wg5v Dependencies (osv-scanner)
high osv/GHSA-9m75-vc3g-4x39 poetry.lock [email protected] (PyPI) is affected by GHSA-9m75-vc3g-4x39 Dependencies (osv-scanner)
high osv/GHSA-9rj7-rf2p-w77r poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3840, GHSA-9rj7-rf2p-w77r Dependencies (osv-scanner)
high osv/GHSA-f9j4-qggq-h239 poetry.lock [email protected] (PyPI) is affected by GHSA-f9j4-qggq-h239 Dependencies (osv-scanner)
high osv/GHSA-fjr4-x663-mwxc poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3995, GHSA-fjr4-x663-mwxc Dependencies (osv-scanner)
high osv/GHSA-fm9c-5rcf-2q5p poetry.lock [email protected] (PyPI) is affected by GHSA-fm9c-5rcf-2q5p Dependencies (osv-scanner)
high osv/GHSA-g5vv-9gxw-82hx poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3984, GHSA-g5vv-9gxw-82hx Dependencies (osv-scanner)
high osv/GHSA-g6cj-pr64-35w5 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3552, GHSA-g6cj-pr64-35w5 Dependencies (osv-scanner)
high osv/GHSA-gm62-xv2j-4w53 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1998, GHSA-gm62-xv2j-4w53 Dependencies (osv-scanner)
high osv/GHSA-hm4w-wwcw-mr6r poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3457, GHSA-hm4w-wwcw-mr6r Dependencies (osv-scanner)
high osv/GHSA-hmq2-w58f-27jc poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3784, GHSA-hmq2-w58f-27jc Dependencies (osv-scanner)
high osv/GHSA-jm78-9fvv-mhgr poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3783, GHSA-jm78-9fvv-mhgr Dependencies (osv-scanner)
high osv/GHSA-jr27-m4p2-rc6r poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2263, GHSA-jr27-m4p2-rc6r Dependencies (osv-scanner)
high osv/GHSA-jwv3-5hgf-82ww poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3553, GHSA-jwv3-5hgf-82ww Dependencies (osv-scanner)
high osv/GHSA-m4p7-r5rc-7g4j poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3455, GHSA-m4p7-r5rc-7g4j Dependencies (osv-scanner)
high osv/GHSA-m64x-33q8-m5h7 poetry.lock [email protected] (PyPI) is affected by GHSA-m64x-33q8-m5h7 Dependencies (osv-scanner)
high osv/GHSA-mm57-4v3p-rchx poetry.lock [email protected] (PyPI) is affected by GHSA-mm57-4v3p-rchx Dependencies (osv-scanner)
high osv/GHSA-mv93-w799-cj2w poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3980, GHSA-mv93-w799-cj2w Dependencies (osv-scanner)
high osv/GHSA-pp6c-gr5w-3c5g poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3039, GHSA-pp6c-gr5w-3c5g Dependencies (osv-scanner)
high osv/GHSA-qccp-gfcp-xxvc poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-141, GHSA-qccp-gfcp-xxvc Dependencies (osv-scanner)
high osv/GHSA-r6ph-v2qm-q3c2 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2141, GHSA-r6ph-v2qm-q3c2 Dependencies (osv-scanner)
high osv/GHSA-r9mr-m37c-5fr3 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3953, GHSA-r9mr-m37c-5fr3 Dependencies (osv-scanner)
high osv/GHSA-rpm5-65cw-6hj4 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2160, GHSA-rpm5-65cw-6hj4 Dependencies (osv-scanner)
high osv/GHSA-rwj8-pgh3-r573 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3842, GHSA-rwj8-pgh3-r573 Dependencies (osv-scanner)
high osv/GHSA-v87r-6q3f-2j67 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2163, GHSA-v87r-6q3f-2j67 Dependencies (osv-scanner)
high osv/GHSA-v92g-xgxw-vvmm poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-88, GHSA-v92g-xgxw-vvmm Dependencies (osv-scanner)
high osv/GHSA-vvf4-9x63-8xvv poetry.lock [email protected] (PyPI) is affected by GHSA-vvf4-9x63-8xvv Dependencies (osv-scanner)
high osv/GHSA-vxq7-64xx-v4gw poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-4177, GHSA-vxq7-64xx-v4gw Dependencies (osv-scanner)
high osv/GHSA-w8jc-g24h-crhw poetry.lock [email protected] (PyPI) is affected by GHSA-w8jc-g24h-crhw Dependencies (osv-scanner)
high osv/GHSA-wj6h-64fc-37mp poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1325, GHSA-wj6h-64fc-37mp Dependencies (osv-scanner)
high osv/GHSA-wp53-j4wj-2cfg poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1852, GHSA-wp53-j4wj-2cfg Dependencies (osv-scanner)
high osv/GHSA-wqp7-x3pw-xc5r poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2281, GHSA-wqp7-x3pw-xc5r Dependencies (osv-scanner)
high osv/GHSA-wvpp-8hx9-p66j poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3843, GHSA-wvpp-8hx9-p66j Dependencies (osv-scanner)
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/dependencies.py:66 Is "is_active" a function or an attribute? If it is a function, you may have meant current_user.is_active() because current_user.is_active is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/auth_router.py:131 Is "is_active" a function or an attribute? If it is a function, you may have meant user.is_active() because user.is_active is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/credentials.py:187 Is "is_system" a function or an attribute? If it is a function, you may have meant db_credential.is_system() because db_credential.is_system is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:133 Is "is_enabled" a function or an attribute? If it is a function, you may have meant models.Job.is_enabled() because models.Job.is_enabled is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:167 Is "is_enabled" a function or an attribute? If it is a function, you may have meant models.Job.is_enabled() because models.Job.is_enabled is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:198 Is "is_enabled" a function or an attribute? If it is a function, you may have meant job.is_enabled() because job.is_enabled is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:198 Is "is_enabled" a function or an attribute? If it is a function, you may have meant job.is_enabled() because job.is_enabled is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:199 Is "is_system_job" a function or an attribute? If it is a function, you may have meant job.is_system_job() because job.is_system_job is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:199 Is "is_system_job" a function or an attribute? If it is a function, you may have meant job.is_system_job() because job.is_system_job is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:241 Is "is_system_job" a function or an attribute? If it is a function, you may have meant job.is_system_job() because job.is_system_job is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:241 Is "is_system_job" a function or an attribute? If it is a function, you may have meant job.is_system_job() because job.is_system_job is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:393 Is "is_system_job" a function or an attribute? If it is a function, you may have meant db_job.is_system_job() because db_job.is_system_job is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/jobs.py:447 Is "is_system_job" a function or an attribute? If it is a function, you may have meant db_job.is_system_job() because db_job.is_system_job is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/api/routers/users.py:117 Is "is_active" a function or an attribute? If it is a function, you may have meant models.User.is_active() because models.User.is_active is always true. Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding netraven/config/loader.py:77 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 netraven/config/loader.py:88 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 netraven/config/logger_config.py:17 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.is-function-without-parentheses netraven/db/init_data.py:191 Is "is_system" a function or an attribute? If it is a function, you may have meant new_cred.is_system() because new_cred.is_system is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/db/init_data.py:328 Is "is_system_job" a function or an attribute? If it is a function, you may have meant Job.is_system_job() because Job.is_system_job is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/scheduler/job_registration.py:110 Is "is_enabled" a function or an attribute? If it is a function, you may have meant db_job.is_enabled() because db_job.is_enabled is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/scheduler/job_registration.py:66 Is "is_enabled" a function or an attribute? If it is a function, you may have meant Job.is_enabled() because Job.is_enabled is always true. Lint
medium opengrep/python.lang.correctness.use-sys-exit netraven/scheduler/scheduler_runner.py:75 Detected use of `exit`. Use `sys.exit` over the python shell `exit` built-in. `exit` is a helper for the interactive shell and may not be available on all Python implementations. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/worker/dispatcher.py:441 Is "is_retriable" a function or an attribute? If it is a function, you may have meant error_info.is_retriable() because error_info.is_retriable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/worker/dispatcher.py:500 Is "is_retriable" a function or an attribute? If it is a function, you may have meant error_info.is_retriable() because error_info.is_retriable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/worker/error_handler.py:119 Is "is_retriable" a function or an attribute? If it is a function, you may have meant self.is_retriable() because self.is_retriable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/worker/error_handler.py:136 Is "is_retriable" a function or an attribute? If it is a function, you may have meant self.is_retriable() because self.is_retriable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/worker/error_handler.py:149 Is "is_retriable" a function or an attribute? If it is a function, you may have meant self.is_retriable() because self.is_retriable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/worker/error_handler.py:168 Is "is_retriable" a function or an attribute? If it is a function, you may have meant self.is_retriable() because self.is_retriable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/worker/error_handler.py:189 Is "is_retriable" a function or an attribute? If it is a function, you may have meant self.is_retriable() because self.is_retriable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/worker/error_handler.py:218 Is "is_retriable" a function or an attribute? If it is a function, you may have meant self.is_retriable() because self.is_retriable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses netraven/worker/error_handler.py:387 Is "is_retriable" a function or an attribute? If it is a function, you may have meant error_info.is_retriable() because error_info.is_retriable is always true. Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding netraven/worker/job_registry.py:26 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.use-sys-exit scripts/seed_dev_data.py:16 Detected use of `exit`. Use `sys.exit` over the python shell `exit` built-in. `exit` is a helper for the interactive shell and may not be available on all Python implementations. Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding scripts/seed_dev_data.py:80 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/seed_dev_data.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 osv/GHSA-3g3m-2fjr-6pw4 frontend/package-lock.json [email protected] (npm) is affected by GHSA-3g3m-2fjr-6pw4 Dependencies (osv-scanner)
medium osv/GHSA-3p68-rc4w-qgx5 frontend/package-lock.json [email protected] (npm) is affected by GHSA-3p68-rc4w-qgx5 Dependencies (osv-scanner)
medium osv/GHSA-3v7f-55p6-f55p frontend/package-lock.json [email protected] (npm) is affected by GHSA-3v7f-55p6-f55p Dependencies (osv-scanner)
medium osv/GHSA-3v7f-55p6-f55p frontend/package-lock.json [email protected] (npm) is affected by GHSA-3v7f-55p6-f55p Dependencies (osv-scanner)
medium osv/GHSA-3w6x-2g7m-8v23 frontend/package-lock.json [email protected] (npm) is affected by GHSA-3w6x-2g7m-8v23 Dependencies (osv-scanner)
medium osv/GHSA-42h9-826w-cgv3 frontend/package-lock.json [email protected] (npm) is affected by GHSA-42h9-826w-cgv3 Dependencies (osv-scanner)
medium osv/GHSA-445q-vr5w-6q77 frontend/package-lock.json [email protected] (npm) is affected by GHSA-445q-vr5w-6q77 Dependencies (osv-scanner)
medium osv/GHSA-48c2-rrv3-qjmp frontend/package-lock.json [email protected] (npm) is affected by GHSA-48c2-rrv3-qjmp Dependencies (osv-scanner)
medium osv/GHSA-4w7w-66w2-5vf9 frontend/package-lock.json [email protected] (npm) is affected by GHSA-4w7w-66w2-5vf9 Dependencies (osv-scanner)
medium osv/GHSA-5c9x-8gcm-mpgx frontend/package-lock.json [email protected] (npm) is affected by GHSA-5c9x-8gcm-mpgx Dependencies (osv-scanner)
medium osv/GHSA-67mh-4wv8-2f99 frontend/package-lock.json [email protected] (npm) is affected by GHSA-67mh-4wv8-2f99 Dependencies (osv-scanner)
medium osv/GHSA-698v-4r3x-3vcv frontend/package-lock.json [email protected] (npm) is affected by GHSA-698v-4r3x-3vcv Dependencies (osv-scanner)
medium osv/GHSA-7q8q-rj6j-mhjq frontend/package-lock.json [email protected] (npm) is affected by GHSA-7q8q-rj6j-mhjq Dependencies (osv-scanner)
medium osv/GHSA-859w-5945-r5v3 frontend/package-lock.json [email protected] (npm) is affected by GHSA-859w-5945-r5v3 Dependencies (osv-scanner)
medium osv/GHSA-898c-q2cr-xwhg frontend/package-lock.json [email protected] (npm) is affected by GHSA-898c-q2cr-xwhg Dependencies (osv-scanner)
medium osv/GHSA-93m4-6634-74q7 frontend/package-lock.json [email protected] (npm) is affected by GHSA-93m4-6634-74q7 Dependencies (osv-scanner)
medium osv/GHSA-9fr6-4gfg-395g frontend/package-lock.json [email protected] (npm) is affected by GHSA-9fr6-4gfg-395g Dependencies (osv-scanner)
medium osv/GHSA-f886-m6hf-6m8v frontend/package-lock.json [email protected] (npm) is affected by GHSA-f886-m6hf-6m8v Dependencies (osv-scanner)
medium osv/GHSA-fvcv-3m26-pcqx frontend/package-lock.json [email protected] (npm) is affected by GHSA-fvcv-3m26-pcqx Dependencies (osv-scanner)
medium osv/GHSA-fx2h-pf6j-xcff frontend/package-lock.json [email protected] (npm) is affected by GHSA-fx2h-pf6j-xcff Dependencies (osv-scanner)
medium osv/GHSA-fxqj-rqcc-2cmp frontend/package-lock.json [email protected] (npm) is affected by GHSA-fxqj-rqcc-2cmp Dependencies (osv-scanner)
medium osv/GHSA-g3hv-75wg-m249 frontend/package-lock.json [email protected] (npm) is affected by GHSA-g3hv-75wg-m249 Dependencies (osv-scanner)
medium osv/GHSA-j8rh-479h-cp32 frontend/package-lock.json [email protected] (npm) is affected by GHSA-j8rh-479h-cp32 Dependencies (osv-scanner)
medium osv/GHSA-jqh4-m9w3-8hp9 frontend/package-lock.json [email protected] (npm) is affected by GHSA-jqh4-m9w3-8hp9 Dependencies (osv-scanner)
medium osv/GHSA-m7pr-hjqh-92cm frontend/package-lock.json [email protected] (npm) is affected by GHSA-m7pr-hjqh-92cm Dependencies (osv-scanner)
medium osv/GHSA-mmx7-hfxf-jppx frontend/package-lock.json [email protected] (npm) is affected by GHSA-mmx7-hfxf-jppx Dependencies (osv-scanner)
medium osv/GHSA-pmv8-rq9r-6j72 frontend/package-lock.json [email protected] (npm) is affected by GHSA-pmv8-rq9r-6j72 Dependencies (osv-scanner)
medium osv/GHSA-q2hr-2g5m-vwhr frontend/package-lock.json [email protected] (npm) is affected by GHSA-q2hr-2g5m-vwhr Dependencies (osv-scanner)
medium osv/GHSA-qx2v-qp2m-jg93 frontend/package-lock.json [email protected] (npm) is affected by GHSA-qx2v-qp2m-jg93 Dependencies (osv-scanner)
medium osv/GHSA-r4q5-vmmm-2653 frontend/package-lock.json [email protected] (npm) is affected by GHSA-r4q5-vmmm-2653 Dependencies (osv-scanner)
medium osv/GHSA-r825-w8mm-5pxw frontend/package-lock.json [email protected] (npm) is affected by GHSA-r825-w8mm-5pxw Dependencies (osv-scanner)
medium osv/GHSA-rj75-hqrm-r3gf frontend/package-lock.json [email protected] (npm) is affected by GHSA-rj75-hqrm-r3gf Dependencies (osv-scanner)
medium osv/GHSA-rq7h-c2jc-7f22 frontend/package-lock.json [email protected] (npm) is affected by GHSA-rq7h-c2jc-7f22 Dependencies (osv-scanner)
medium osv/GHSA-v6wh-96g9-6wx3 frontend/package-lock.json [email protected] (npm) is affected by GHSA-v6wh-96g9-6wx3 Dependencies (osv-scanner)
medium osv/GHSA-vf2m-468p-8v99 frontend/package-lock.json [email protected] (npm) is affected by GHSA-vf2m-468p-8v99 Dependencies (osv-scanner)
medium osv/GHSA-vh66-26gq-q6x8 frontend/package-lock.json [email protected] (npm) is affected by GHSA-vh66-26gq-q6x8 Dependencies (osv-scanner)
medium osv/GHSA-w9j2-pvgh-6h63 frontend/package-lock.json [email protected] (npm) is affected by GHSA-w9j2-pvgh-6h63 Dependencies (osv-scanner)
medium osv/GHSA-w9m9-85wc-3x92 frontend/package-lock.json [email protected] (npm) is affected by GHSA-w9m9-85wc-3x92 Dependencies (osv-scanner)
medium osv/GHSA-xx6v-rp6x-q39c frontend/package-lock.json [email protected] (npm) is affected by GHSA-xx6v-rp6x-q39c Dependencies (osv-scanner)
medium opengrep/javascript.vue.security.audit.xss.templates.avoid-v-html frontend/src/components/ui/MarkdownRenderer.vue:2 Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to XSS vulnerabilities. Only use HTML interpolation on trusted content and never on user-provided content. [confidence low] Static analysis (opengrep)
medium opengrep/python.lang.security.audit.non-literal-import netraven/worker/job_registry.py:33 Untrusted user input in `importlib.import_module()` function allows an attacker to load arbitrary code. Avoid dynamic values in `importlib.import_module()` or use a whitelist to prevent running untrusted code. [confidence low] Static analysis (opengrep)
medium osv/GHSA-2c2j-9gv5-cj73 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1941, GHSA-2c2j-9gv5-cj73 Dependencies (osv-scanner)
medium osv/GHSA-3wxw-xv34-2frg poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3837, GHSA-3wxw-xv34-2frg Dependencies (osv-scanner)
medium osv/GHSA-48p4-8xcf-vxj5 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1997, GHSA-48p4-8xcf-vxj5 Dependencies (osv-scanner)
medium osv/GHSA-5639-2j2p-m4mx poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-4243, GHSA-5639-2j2p-m4mx Dependencies (osv-scanner)
medium osv/GHSA-59cr-6r3x-644w poetry.lock [email protected] (PyPI) is affected by GHSA-59cr-6r3x-644w Dependencies (osv-scanner)
medium osv/GHSA-5p39-cfhj-2xmp poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-4024, GHSA-5p39-cfhj-2xmp Dependencies (osv-scanner)
medium osv/GHSA-65pc-fj4g-8rjx poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-215, GHSA-65pc-fj4g-8rjx Dependencies (osv-scanner)
medium osv/GHSA-6w46-j5rx-g56g poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1845, GHSA-6w46-j5rx-g56g Dependencies (osv-scanner)
medium osv/GHSA-86qp-5c8j-p5mr poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-161, GHSA-86qp-5c8j-p5mr Dependencies (osv-scanner)
medium osv/GHSA-9f5j-8jwj-x28g poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2467, GHSA-9f5j-8jwj-x28g Dependencies (osv-scanner)
medium osv/GHSA-9hjg-9r4m-mvj7 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1872, GHSA-9hjg-9r4m-mvj7 Dependencies (osv-scanner)
medium osv/GHSA-fx3j-rwgx-fr94 poetry.lock [email protected] (PyPI) is affected by GHSA-fx3j-rwgx-fr94 Dependencies (osv-scanner)
medium osv/GHSA-gc5v-m9x4-r6x2 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2275, GHSA-gc5v-m9x4-r6x2 Dependencies (osv-scanner)
medium osv/GHSA-gq48-pqfc-9p58 poetry.lock [email protected] (PyPI) is affected by GHSA-gq48-pqfc-9p58 Dependencies (osv-scanner)
medium osv/GHSA-hh9p-6wh2-4mfc poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3841, GHSA-hh9p-6wh2-4mfc Dependencies (osv-scanner)
medium osv/GHSA-jp82-jpqv-5vv3 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-248, GHSA-jp82-jpqv-5vv3 Dependencies (osv-scanner)
medium osv/GHSA-m959-cc7f-wv43 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-35, GHSA-m959-cc7f-wv43 Dependencies (osv-scanner)
medium osv/GHSA-mf9w-mj56-hr94 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2270, GHSA-mf9w-mj56-hr94 Dependencies (osv-scanner)
medium osv/GHSA-mj87-hwqh-73pj poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3038, GHSA-mj87-hwqh-73pj Dependencies (osv-scanner)
medium osv/GHSA-mrfv-m5wm-5w6w poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3002, GHSA-mrfv-m5wm-5w6w Dependencies (osv-scanner)
medium osv/GHSA-p538-c434-8v24 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3950, GHSA-p538-c434-8v24 Dependencies (osv-scanner)
medium osv/GHSA-pq67-6m6q-mj2v poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-1999, GHSA-pq67-6m6q-mj2v Dependencies (osv-scanner)
medium osv/GHSA-x746-7m8f-x49c poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2280, GHSA-x746-7m8f-x49c Dependencies (osv-scanner)
medium osv/PYSEC-2026-3554 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3554 Dependencies (osv-scanner)
medium gitleaks/curl-auth-header scripts/test_gateway_integration.sh:79 Possible curl-auth-header secret in history (commit ff87e6e509); removed from the current tree but still retrievable Secrets (gitleaks)
medium opengrep/bash.curl.security.curl-pipe-bash setup/manage_netraven.sh:102 Data is being piped into `bash` from a `curl` command. An attacker with control of the server in the `curl` command could inject malicious code into the pipe, resulting in a system compromise. Avoid piping untrusted data into `bash` or... Static analysis (opengrep)
medium gitleaks/jwt token.json:1 Possible jwt secret in history (commit 7541742295); removed from the current tree but still retrievable Secrets (gitleaks)
medium gitleaks/jwt tokens.json:4 Possible jwt secret in history (commit 9d95e8040a); removed from the current tree but still retrievable Secrets (gitleaks)
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command docker/api/entrypoint.sh:33 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command docker/setup/generate_fernet_key.sh:6 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/check_api_container.sh:64 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/check_postgres_container.sh:53 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/check_postgres_container.sh:63 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/check_postgres_container.sh:70 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/check_postgres_container.sh:70 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/check_postgres_container.sh:77 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/check_postgres_container.sh:88 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/check_postgres_container.sh:98 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/check_postgres_container.sh:98 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:139 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:140 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-command-substitution-in-command setup/manage_netraven.sh:144 The result of command substitution $(...) or `...`, if unquoted, is split on whitespace or other separators specified by the IFS variable. You should surround it with double quotes to avoid splitting the result. Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:148 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:180 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:186 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:235 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:240 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:245 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:250 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:272 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:295 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:307 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:345 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:349 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:392 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:404 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:410 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:415 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:426 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:431 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:438 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:447 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:498 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:499 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/manage_netraven.sh:502 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/setup_postgres.sh:66 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/setup_postgres.sh:72 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-command-substitution-in-command setup/start_netraven.sh:130 The result of command substitution $(...) or `...`, if unquoted, is split on whitespace or other separators specified by the IFS variable. You should surround it with double quotes to avoid splitting the result. Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/start_netraven.sh:131 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/start_netraven.sh:136 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/start_netraven.sh:138 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/start_netraven.sh:142 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/stop_netraven.sh:17 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/stop_netraven.sh:19 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/stop_netraven.sh:22 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command setup/stop_netraven.sh:24 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low gitleaks/curl-auth-header DEVELOPER.md:253 Possible curl-auth-header secret in history (commit e2f6c1a71b); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/curl-auth-header README.md:265 Possible curl-auth-header secret in history (commit 8862e1bf81); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/curl-auth-header docs/api.md:24 Possible curl-auth-header secret in history (commit 475640d0eb); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key docs/architecture/netraven_api_spec.md:111 Possible generic-api-key secret in the current tree (test/docs/example file) Secrets (gitleaks)
low gitleaks/generic-api-key docs/developer-guide/api-reference.md:42 Possible generic-api-key secret in history (commit 77f3db9382); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/curl-auth-header docs/developer-guide/api-reference.md:47 Possible curl-auth-header secret in history (commit 77f3db9382); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key docs/reference/configuration-options.md:25 Possible generic-api-key secret in history (commit 25f6e5b128); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/curl-auth-header docs/troubleshooting.md:391 Possible curl-auth-header secret in history (commit 3624023ee6); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key docs/troubleshooting.md:51 Possible generic-api-key secret in history (commit 88d1982e34); removed from the current tree but still retrievable Secrets (gitleaks)
low osv/GHSA-4x5r-pxfx-6jf8 frontend/package-lock.json @babel/[email protected] (npm) is affected by GHSA-4x5r-pxfx-6jf8 Dependencies (osv-scanner)
low osv/GHSA-9jrq-w75r-8gcw frontend/package-lock.json [email protected] (npm) is affected by GHSA-9jrq-w75r-8gcw Dependencies (osv-scanner)
low osv/GHSA-g4jq-h2w9-997c frontend/package-lock.json [email protected] (npm) is affected by GHSA-g4jq-h2w9-997c Dependencies (osv-scanner)
low osv/GHSA-jqfw-vq24-v9c3 frontend/package-lock.json [email protected] (npm) is affected by GHSA-jqfw-vq24-v9c3 Dependencies (osv-scanner)
low osv/GHSA-v6h2-p8h4-qcjw frontend/package-lock.json [email protected] (npm) is affected by GHSA-v6h2-p8h4-qcjw Dependencies (osv-scanner)
low osv/GHSA-xhjh-pmcv-23jw frontend/package-lock.json [email protected] (npm) is affected by GHSA-xhjh-pmcv-23jw Dependencies (osv-scanner)
low opengrep/javascript.lang.security.audit.unsafe-formatstring frontend/src/store/job.js:100 Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string.... Static analysis (opengrep)
low gitleaks/generic-api-key netraven/web/models/auth.py:76 Possible generic-api-key secret in history (commit 03c76c2dfd); removed from the current tree but still retrievable Secrets (gitleaks)
low osv/GHSA-5239-wwwm-4pmq poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2987, GHSA-5239-wwwm-4pmq Dependencies (osv-scanner)
low osv/GHSA-6jv3-5f52-599m poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3037, GHSA-6jv3-5f52-599m Dependencies (osv-scanner)
low osv/GHSA-r374-rxx8-8654 poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-2858, GHSA-r374-rxx8-8654 Dependencies (osv-scanner)
low osv/GHSA-v9pg-7xvm-68hf poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3040, GHSA-v9pg-7xvm-68hf Dependencies (osv-scanner)
low osv/GHSA-vffw-93wf-4j4q poetry.lock [email protected] (PyPI) is affected by PYSEC-2026-3041, GHSA-vffw-93wf-4j4q Dependencies (osv-scanner)
low gitleaks/curl-auth-header scripts/tests/test_gateway_integration.sh:79 Possible curl-auth-header secret in history (commit f7b71093cd); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/jwt tests/integration/test_auth_advanced.py:585 Possible jwt secret in history (commit 7541742295); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key tests/integration/test_credential_store_integration.py:186 Possible generic-api-key secret in history (commit 7541742295); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/jwt tests/integration/test_security_features.py:81 Possible jwt secret in history (commit 7541742295); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/jwt tests/test_core_auth.py:86 Possible jwt secret in history (commit 9fa193de1c); removed from the current tree but still retrievable Secrets (gitleaks)

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.

AnalyzerPillarStatusVersionFindingsNote
AI tool configurationAI provenanceoksignatures-v10
Explicit AI attributionAI provenanceoksignatures-v10
Release velocityAI provenanceokprov-40
Coding styleAI provenanceok—0
Commit velocityAI provenanceokprov-40
Findings in AI-written linesAI provenanceokgit-blame0
Complexity (lizard)Code qualityoklizard 1.25.10
DocumentationCode qualityok—0
Duplication (jscpd)Code qualityokrepotrust-dup-w60
LintCode qualityokopengrep 1.33.1; rules f1d2b562b41484
Tests and CICode qualityok—0
Type safetyCode qualityok—0
CI workflows (zizmor)Securityskipped—0
Dependencies (osv-scanner)Securityokosv-scanner version: 2.7.1181
Release downloadsSecurityok—0
Security postureSecurityok—0
Package registriesSecurityok—0
Static analysis (opengrep)Securityokopengrep 1.33.1; rules f1d2b562b41412
OpenSSF ScorecardSecurityskipped—0no published OpenSSF Scorecard result for this repo
Secrets (gitleaks)Securityokgitleaks 8.30.118

Score history

Scores from different scoring versions aren't directly comparable.

ScoredCommitScoringAI provenanceQualitySecurity
2026-11-142f641cca30c2prov-5+qual-2+sec-20%5034
2026-11-142f641cca30c2prov-4+qual-2+sec-20%5034

Embed a badge

Maintainers can show these in a README. Badges update when the repository is re-scored.

[![RepoTrust ai](https://repotrust.synapticcyber.com/badge/github.com/ccieblogger/netraven/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/ccieblogger/netraven/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/ccieblogger/netraven/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/ccieblogger/netraven/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/ccieblogger/netraven/security.svg)](https://repotrust.synapticcyber.com/r/github.com/ccieblogger/netraven/)
Full text report
  • Repository: https://github.com/ccieblogger/netraven
  • Commit: 2f641cca30c2238ba78c37dcd2c0fa1bea0189ce
  • Generated: 2026-11-14T14:52:03+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 50 weak 90% 100%
Security 34 poor 85% 100%

AI provenance

Weak signals consistent with AI-assisted development. 2 commit(s) carry explicit AI attribution, too few to characterize the codebase. Comments and strings use phrasing typical of LLM-written code (see the coding style evidence).

  • Explicitly attributed share (lower bound): 0.0%
  • Unattributed share in AI-consistent velocity bursts: 60.2%
  • Estimated AI-generated share: 0.0%
AI tool Attributed commits Lines added
GitHub Copilot coding agent 2 2
  • AI tooling configured in repo: cursor, github-copilot

Current source lines last changed by AI-attributed commits: 2 of 24,961.

Too few lines in one group to compare finding densities.

  • Stylometry index: 1.26 per 1,000 lines (narrated steps 1, placeholders 3, assistant phrasing 3, emoji 37). Reported as a signal, not scored.
Month Lines added Attributed to AI
2025-04 60,112 0%
2025-05 9,917 0%

Evidence

  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (d11ef0ede6d6)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (2e20607c7b07)
  • 24,228 lines of first-party code in ~4.0h (6,057 lines/hour, 1 commit session) (759634d49243)
  • 2,769 lines of first-party code in ~1.5h (1,824 lines/hour, 1 commit session) (588c77c07d33)
  • 6,181 lines of first-party code in ~3.5h (1,783 lines/hour, 9 commit session) (d587e2101e4d)
  • .cursor/rules/tech-stack.mdc (cursor configuration) (.cursor/rule)
  • .cursor/rules/utility-scripts.mdc (cursor configuration) (.cursor/rule)
  • .github/copilot-instructions.md (github-copilot configuration) (.github/copi)
  • 1,289 lines of first-party code in ~1.0h (1,351 lines/hour, 1 commit session) (90f8cdcf0784)
  • 4,392 lines of first-party code in ~5.0h (871 lines/hour, 6 commit session) (ac129623200e)
  • 1,147 lines of first-party code in ~1.4h (801 lines/hour, 2 commit session) (243aa04bb62c)
  • 2,122 lines of first-party code in ~3.1h (683 lines/hour, 18 commit session) (a74c06d0682a)
  • placeholder or demo-only phrasing: icon: 'NetworkCheckIcon', // Placeholder, replace with actual icon component if needed (frontend/src)
  • placeholder or demo-only phrasing: # In a real system, this would push config_data to the device. (netraven/api)
  • step-by-step narration comment: # Next, try .password property (not a method) (netraven/ser)

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 weak: test-to-source ratio 0.29, no CI test run detected; 20% of function code in complex or long functions; 8% duplicated lines. Weakest area: type safety.

Area Score
Complexity (lizard) 56
Duplication 61
Code smells (Opengrep) 61
Tests and CI 38
Documentation 65
Type safety 0
Process (Scorecard review/maintenance) n/a
  • Functions: 846; mean complexity 3.0, 90th percentile 6; 14 complex and 7 long functions
  • Duplicated lines: 8.3% of 19,181 compared
  • Tests: 7,288 test lines for 24,961 source lines (ratio 0.29); CI test commands: none detected; 9% of recent source commits also change tests
  • Docs missing or thin: contributing, changelog

Most complex functions:

Security

Security posture is poor: 0 possible secret(s) in the tree, 3 only in history; 181 known vulnerabilities in 41 dependencies; 8 high-severity SAST findings. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 37
Static analysis (Opengrep) 82
Vulnerable dependencies (OSV) 1
CI workflows (zizmor) n/a
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard n/a
  • Known vulnerabilities: 181 in 41 packages (critical 8, high 99, medium 62, low 11)

  • Posture checks passed: none; missing: security policy, dependency updates, signed commits, lockfiles

Top findings

Severity Finding Location
critical osv/GHSA-fjxv-7rqg-78g4: [email protected] (npm) is affected by GHSA-fjxv-7rqg-78g4 frontend/package-lock.json
critical osv/GHSA-wf6x-7x77-mvgw: [email protected] (npm) is affected by GHSA-wf6x-7x77-mvgw frontend/package-lock.json
critical osv/GHSA-82r6-8w77-94w6: [email protected] (PyPI) is affected by PYSEC-2026-4025, GHSA-82r6-8w77-94w6 poetry.lock
critical osv/GHSA-6q48-6c7w-9gw2: [email protected] (PyPI) is affected by PYSEC-2026-4320, GHSA-6q48-6c7w-9gw2 poetry.lock
critical osv/GHSA-x2qx-6953-8485: [email protected] (PyPI) is affected by PYSEC-2026-2161, GHSA-x2qx-6953-8485 poetry.lock
critical osv/GHSA-284h-m62q-gf8w: [email protected] (PyPI) is affected by PYSEC-2026-3786, GHSA-284h-m62q-gf8w poetry.lock
critical osv/GHSA-vqfr-h8mv-ghfj: [email protected] (PyPI) is affected by PYSEC-2026-348, GHSA-vqfr-h8mv-ghfj poetry.lock
critical osv/GHSA-3qf3-8w2g-rqmx: [email protected] (PyPI) is affected by PYSEC-2026-4298, GHSA-3qf3-8w2g-rqmx poetry.lock
high opengrep/dockerfile.security.missing-user: By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium] docker/api/Dockerfile:43
high opengrep/dockerfile.security.missing-user-entrypoint: By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium] docker/api/Dockerfile:47
high opengrep/dockerfile.security.missing-user: By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium] docker/frontend/Dockerfile:38
high opengrep/dockerfile.security.missing-user: By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium] docker/frontend/Dockerfile:41
high opengrep/dockerfile.security.missing-user-entrypoint: By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium] docker/rq_scheduler/Dockerfile:41
high opengrep/dockerfile.security.missing-user-entrypoint: By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium] docker/scheduler/Dockerfile:41
high opengrep/dockerfile.security.missing-user-entrypoint: By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium] docker/worker/Dockerfile:48
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] netraven/worker/jobs/reachability.py:51
high osv/GHSA-g2v6-rqmx-r4w6: @vue/[email protected] (npm) is affected by GHSA-g2v6-rqmx-r4w6 frontend/package-lock.json
high osv/GHSA-35jp-ww65-95wh: [email protected] (npm) is affected by GHSA-35jp-ww65-95wh frontend/package-lock.json
high osv/GHSA-3g43-6gmg-66jw: [email protected] (npm) is affected by GHSA-3g43-6gmg-66jw frontend/package-lock.json
high osv/GHSA-43fc-jf86-j433: [email protected] (npm) is affected by GHSA-43fc-jf86-j433 frontend/package-lock.json
high osv/GHSA-4hjh-wcwx-xvwj: [email protected] (npm) is affected by GHSA-4hjh-wcwx-xvwj frontend/package-lock.json
high osv/GHSA-62hf-57xw-28j9: [email protected] (npm) is affected by GHSA-62hf-57xw-28j9 frontend/package-lock.json
high osv/GHSA-6chq-wfr3-2hj9: [email protected] (npm) is affected by GHSA-6chq-wfr3-2hj9 frontend/package-lock.json
high osv/GHSA-777c-7fjr-54vf: [email protected] (npm) is affected by GHSA-777c-7fjr-54vf frontend/package-lock.json
high osv/GHSA-hfxv-24rg-xrqf: [email protected] (npm) is affected by GHSA-hfxv-24rg-xrqf frontend/package-lock.json

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.

Repository profile

  • Source lines: 24,961; test lines: 7,288
Language Lines
Python 17,841
Vue 9,877
JavaScript 2,621
Shell 1,910