{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:26:40.596559Z","repo":{"ref":{"host":"github.com","owner":"mehrdadrad","name":"mylg"},"default_branch":"master","clone_url":"https://github.com/mehrdadrad/mylg.git","html_url":"https://github.com/mehrdadrad/mylg","description":"Network Diagnostic Tool","stars":2719,"forks":234,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":29111,"primary_language":"Go","license_spdx":"MIT","created_at":"2016-06-21T19:39:58Z","pushed_at":"2020-02-26T22:39:02Z","security_policy_url":null,"distribution":{"owner_created_at":"2015-07-13T01:05:55Z","owner_type":"User","release_assets":[]}},"commit_sha":"faba8672ef9f2693ca9093d2a3a671114401e55a","profile":{"lines_by_language":{"Go":10232,"TypeScript":689,"JavaScript":317},"files_by_category":{"vendored":322,"source":43,"test":11,"other":10,"config":3,"docs":2,"oversized":1},"source_lines":10639,"test_lines":599},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"none-detected","breakdown":{"attributed_share":0.0,"suspected_share":0.0,"estimated_share":0.0,"ai_artifacts":0.0,"flagged_work_units":0.0,"flagged_releases":0.0},"summary":"No AI attribution or AI-consistent velocity signals detected."},"quality":{"score":63.1,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":95.9,"duplication":58.7,"lint":92.1,"testing":59.3,"docs":65.0,"type_safety":0.0,"process":0.0},"summary":"Code quality is weak: test-to-source ratio 0.06, CI runs tests; 1% of function code in complex or long functions; 9% duplicated lines. Weakest area: type safety."},"security":{"score":69.6,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":68.2,"dependencies":87.5,"ci_actions":null,"posture":0.0,"scorecard":30.0},"summary":"Security posture is weak: 30 known vulnerabilities in 1 dependencies; 1 high-severity SAST findings. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"ok","tool_version":"scorecard v5.6.0","metrics":{"aggregate":2.3,"check:Maintained":0.0,"check:Code-Review":0.0,"check:Binary-Artifacts":10.0,"check:CII-Best-Practices":0.0,"check:Pinned-Dependencies":5.0,"check:Security-Policy":0.0,"check:Fuzzing":0.0,"check:License":10.0,"check:Branch-Protection":0.0,"check:SAST":0.0},"findings":[],"evidence":[{"kind":"scorecard-check","description":"Scorecard Maintained: 0/10 (0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0)","ref":"Maintained","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":1.0},{"kind":"scorecard-check","description":"Scorecard Code-Review: 0/10 (Found 2/27 approved changesets -- score normalized to 0)","ref":"Code-Review","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":1.0},{"kind":"scorecard-check","description":"Scorecard Binary-Artifacts: 10/10 (no binaries found in the repo)","ref":"Binary-Artifacts","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":0.0},{"kind":"scorecard-check","description":"Scorecard CII-Best-Practices: 0/10 (no effort to earn an OpenSSF best practices badge detected)","ref":"CII-Best-Practices","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":1.0},{"kind":"scorecard-check","description":"Scorecard Pinned-Dependencies: 5/10 (dependency not pinned by hash detected -- score normalized to 5)","ref":"Pinned-Dependencies","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":0.5},{"kind":"scorecard-check","description":"Scorecard Security-Policy: 0/10 (security policy file not detected)","ref":"Security-Policy","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":1.0},{"kind":"scorecard-check","description":"Scorecard Fuzzing: 0/10 (project is not fuzzed)","ref":"Fuzzing","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":1.0},{"kind":"scorecard-check","description":"Scorecard License: 10/10 (license file detected)","ref":"License","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":0.0},{"kind":"scorecard-check","description":"Scorecard Branch-Protection: 0/10 (branch protection not enabled on development/release branches)","ref":"Branch-Protection","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":1.0},{"kind":"scorecard-check","description":"Scorecard SAST: 0/10 (SAST tool is not run on all commits -- score normalized to 0)","ref":"SAST","url":"https://scorecard.dev/viewer/?uri=github.com/mehrdadrad/mylg","weight":1.0}],"data":{"date":"2026-11-09","commit":"faba8672ef9f2693ca9093d2a3a671114401e55a","matches_head":true},"error":null},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":21.0,"checked":21.0,"missing":0.0,"recent":0.0,"lookup_errors":0.0},"findings":[],"evidence":[],"data":{"phantom":false},"error":null},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":622.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":23769.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2016-06":{"loc":921,"attributed_loc":0},"2016-07":{"loc":4600,"attributed_loc":0},"2016-08":{"loc":2777,"attributed_loc":0},"2016-09":{"loc":4019,"attributed_loc":0},"2016-10":{"loc":8808,"attributed_loc":0},"2016-11":{"loc":1452,"attributed_loc":0},"2016-12":{"loc":1186,"attributed_loc":0},"2017-03":{"loc":3,"attributed_loc":0},"2017-04":{"loc":1,"attributed_loc":0},"2017-08":{"loc":1,"attributed_loc":0},"2020-02":{"loc":1,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":240.0,"flagged_units":0.0,"pre_ai_era_bursts":1.0,"pre_ai_era_measured_loc":23769.0,"pre_ai_era_burst_loc":6698.0,"measured_loc":23769.0,"flagged_loc":0.0,"flagged_loc_share":0.0,"max_loc_per_hour":1604.6316630065883,"median_loc_per_hour":45.14802631578947,"pr_timed_units":0.0,"excluded_import_loc":0.0},"findings":[],"evidence":[],"data":{"flagged_loc_by_commit":{},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"releases":12.0,"flagged_releases":0.0,"max_loc_per_day":435.3},"findings":[],"evidence":[],"data":{"releases":[{"from":"0.1.0","to":"v0.1.0","loc":1775,"days":9.2,"loc_per_day":193.0,"flagged":false},{"from":"v0.1.0","to":"v0.1.6","loc":277,"days":0.93,"loc_per_day":298.0,"flagged":false},{"from":"v0.1.6","to":"v0.1.7","loc":505,"days":5.0,"loc_per_day":101.1,"flagged":false},{"from":"v0.1.7","to":"v0.1.8","loc":946,"days":6.19,"loc_per_day":152.9,"flagged":false},{"from":"v0.1.8","to":"v0.1.9","loc":1037,"days":8.01,"loc_per_day":129.5,"flagged":false},{"from":"v0.1.9","to":"v0.2.0","loc":610,"days":5.94,"loc_per_day":102.7,"flagged":false},{"from":"v0.2.0","to":"v0.2.1","loc":517,"days":2.81,"loc_per_day":184.3,"flagged":false},{"from":"v0.2.1","to":"v0.2.2","loc":859,"days":13.13,"loc_per_day":65.4,"flagged":false},{"from":"v0.2.2","to":"v0.2.3","loc":1137,"days":11.95,"loc_per_day":95.1,"flagged":false},{"from":"v0.2.3","to":"v0.2.4","loc":2419,"days":23.2,"loc_per_day":104.3,"flagged":false},{"from":"v0.2.4","to":"v0.2.5","loc":9129,"days":20.97,"loc_per_day":435.3,"flagged":false},{"from":"v0.2.5","to":"v0.2.6","loc":2424,"days":35.16,"loc_per_day":68.9,"flagged":false}]},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":10639.0,"index":0.0,"count:narrated_steps":0.0,"per_kloc:narrated_steps":0.0,"files:narrated_steps":0.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":0.0,"per_kloc:emoji_in_code":0.0,"files:emoji_in_code":0.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":29.0,"findings_high":1.0,"findings_medium":28.0,"findings_low":0.0,"weighted_findings":11.65,"scanned_lines":10639.0,"parse_errors":0.0},"findings":[{"rule_id":"opengrep/dockerfile.security.missing-user","severity":"high","message":"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]","path":"Dockerfile","line":5,"fingerprint":"dockerfile.security.missing-user:Dockerfile:5"},{"rule_id":"opengrep/go.lang.security.audit.unsafe-reflect-by-name","severity":"medium","message":"If an attacker can supply values that the application then uses to determine which method or field to invoke, the potential exists for the attacker to create control flow paths through the application that were not intended by the application developers. This attack vector may allow the attacker to  [confidence low]","path":"cli/config.go","line":330,"fingerprint":"go.lang.security.audit.unsafe-reflect-by-name:cli/config.go:330"},{"rule_id":"opengrep/go.lang.security.bad-tmp-file-creation","severity":"medium","message":"File creation in shared tmp directory without using ioutil.Tempfile [confidence low]","path":"disc/disc.go","line":362,"fingerprint":"go.lang.security.bad-tmp-file-creation:disc/disc.go:362"},{"rule_id":"opengrep/go.lang.security.audit.crypto.missing-ssl-minversion","severity":"medium","message":"`MinVersion` is missing from this TLS configuration.  By default, TLS 1.2 is currently used as the minimum when acting as a client, and TLS 1.0 when acting as a server. General purpose web applications should default to TLS 1.3 with all other protocols disabled.  Only where it is known that a web se [confidence high]","path":"http/ping/ping.go","line":312,"fingerprint":"go.lang.security.audit.crypto.missing-ssl-minversion:http/ping/ping.go:312"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"icmp/icmp.go","line":9,"fingerprint":"go.lang.security.audit.crypto.math-random-used:icmp/icmp.go:9"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"icmp/ping.go","line":10,"fingerprint":"go.lang.security.audit.crypto.math-random-used:icmp/ping.go:10"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"icmp/trace.go","line":11,"fingerprint":"go.lang.security.audit.crypto.math-random-used:icmp/trace.go:11"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"lg/cogent.go","line":32,"fingerprint":"go.lang.security.shared-url-struct-mutation:lg/cogent.go:32"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"lg/kpn.go","line":29,"fingerprint":"go.lang.security.shared-url-struct-mutation:lg/kpn.go:29"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"lg/level3.go","line":51,"fingerprint":"go.lang.security.shared-url-struct-mutation:lg/level3.go:51"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"lg/level3.go","line":54,"fingerprint":"go.lang.security.shared-url-struct-mutation:lg/level3.go:54"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"lg/ntt.go","line":29,"fingerprint":"go.lang.security.shared-url-struct-mutation:lg/ntt.go:29"},{"rule_id":"opengrep/go.lang.security.shared-url-struct-mutation","severity":"medium","message":"Shared URL struct may have been accidentally mutated. Ensure that this behavior is intended. [confidence low]","path":"lg/telia.go","line":30,"fingerprint":"go.lang.security.shared-url-struct-mutation:lg/telia.go:30"},{"rule_id":"opengrep/go.lang.security.bad-tmp-file-creation","severity":"medium","message":"File creation in shared tmp directory without using ioutil.Tempfile [confidence low]","path":"ns/ns.go","line":319,"fingerprint":"go.lang.security.bad-tmp-file-creation:ns/ns.go:319"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"scan/scan.go","line":7,"fingerprint":"go.lang.security.audit.crypto.math-random-used:scan/scan.go:7"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/geo.go","line":55,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/geo.go:55"},{"rule_id":"opengrep/go.lang.security.audit.net.use-tls","severity":"medium","message":"Found an HTTP server without TLS. Use 'http.ListenAndServeTLS' instead. See https://golang.org/pkg/net/http/#ListenAndServeTLS for more information. [confidence medium]","path":"services/httpd/httpd.go","line":81,"fingerprint":"go.lang.security.audit.net.use-tls:services/httpd/httpd.go:81"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/ping.go","line":19,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/ping.go:19"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/ping.go","line":33,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/ping.go:33"},{"rule_id":"opengrep/go.lang.security.audit.crypto.math-random-used","severity":"medium","message":"Do not use `math/rand`. Use `crypto/rand` instead. [confidence medium]","path":"services/httpd/trace.go","line":5,"fingerprint":"go.lang.security.audit.crypto.math-random-used:services/httpd/trace.go:5"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/trace.go","line":23,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/trace.go:23"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/trace.go","line":43,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/trace.go:43"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/trace.go","line":54,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/trace.go:54"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/trace.go","line":59,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/trace.go:59"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/trace.go","line":64,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/trace.go:64"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/trace.go","line":66,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/trace.go:66"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/trace.go","line":78,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/trace.go:78"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/trace.go","line":83,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/trace.go:83"},{"rule_id":"opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter","severity":"medium","message":"Detected 'Fprintf' or similar writing to 'http.ResponseWriter'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package to render data to users. [confidence low]","path":"services/httpd/trace.go","line":90,"fingerprint":"go.lang.security.audit.xss.no-fprintf-to-responsewriter:services/httpd/trace.go:90"}],"evidence":[],"data":{"rulesets":["go","typescript","javascript","dockerfile"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":1.0,"vulnerabilities":30.0,"vulns_critical":0.0,"vulns_high":4.0,"vulns_medium":8.0,"vulns_low":0.0,"vulns_unknown":18.0,"penalty":8.0},"findings":[{"rule_id":"osv/GHSA-83g2-8m93-v3w7","severity":"high","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2021-0238, GHSA-83g2-8m93-v3w7","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-83g2-8m93-v3w7"},{"rule_id":"osv/GHSA-69cg-p879-7622","severity":"high","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2022-0969, GHSA-69cg-p879-7622","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-69cg-p879-7622"},{"rule_id":"osv/GHSA-vvpx-j8f3-3w6h","severity":"high","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2023-1571, GHSA-vvpx-j8f3-3w6h","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-vvpx-j8f3-3w6h"},{"rule_id":"osv/GHSA-4374-p667-p6c8","severity":"high","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2023-2102, GHSA-4374-p667-p6c8","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-4374-p667-p6c8"},{"rule_id":"osv/GHSA-h86h-8ppg-mxmh","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2022-0236, GHSA-h86h-8ppg-mxmh","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-h86h-8ppg-mxmh"},{"rule_id":"osv/GO-2022-0288","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2022-0288","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2022-0288"},{"rule_id":"osv/GHSA-xrjj-mj9h-534m","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2022-1144, GHSA-xrjj-mj9h-534m","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-xrjj-mj9h-534m"},{"rule_id":"osv/GHSA-2wrh-6pvc-2jm9","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2023-1988, GHSA-2wrh-6pvc-2jm9","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-2wrh-6pvc-2jm9"},{"rule_id":"osv/GHSA-4v7x-pqxf-cx7m","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2024-2687, GHSA-4v7x-pqxf-cx7m","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-4v7x-pqxf-cx7m"},{"rule_id":"osv/GO-2024-3333","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2024-3333","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2024-3333"},{"rule_id":"osv/GHSA-qxp5-gwg8-xv66","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2025-3503, GHSA-qxp5-gwg8-xv66","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-qxp5-gwg8-xv66"},{"rule_id":"osv/GHSA-vvgc-356p-c3xw","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2025-3595, GHSA-vvgc-356p-c3xw","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-vvgc-356p-c3xw"},{"rule_id":"osv/GO-2026-4440","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-4440","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-4440"},{"rule_id":"osv/GO-2026-4441","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-4441","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-4441"},{"rule_id":"osv/GO-2026-4918","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-4918","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-4918"},{"rule_id":"osv/GO-2026-5025","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-5025","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-5025"},{"rule_id":"osv/GO-2026-5026","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-5026","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-5026"},{"rule_id":"osv/GO-2026-5027","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-5027","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-5027"},{"rule_id":"osv/GHSA-5cv4-jp36-h3mw","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-5028, GHSA-5cv4-jp36-h3mw","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-5cv4-jp36-h3mw"},{"rule_id":"osv/GO-2026-5029","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-5029","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-5029"},{"rule_id":"osv/GO-2026-5030","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-5030","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-5030"},{"rule_id":"osv/GO-2026-5942","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-5942","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-5942"},{"rule_id":"osv/GO-2026-6603","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-6603","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-6603"},{"rule_id":"osv/GO-2026-6610","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-6610","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-6610"},{"rule_id":"osv/GO-2026-6611","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-6611","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-6611"},{"rule_id":"osv/GO-2026-6612","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-6612","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-6612"},{"rule_id":"osv/GO-2026-6617","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-6617","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-6617"},{"rule_id":"osv/GO-2026-6860","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-6860","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-6860"},{"rule_id":"osv/GO-2026-6866","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GO-2026-6866","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GO-2026-6866"},{"rule_id":"osv/GHSA-qppj-fm5r-hxr3","severity":"medium","message":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go) is affected by GHSA-qppj-fm5r-hxr3","path":"go.mod","line":null,"fingerprint":"golang.org/x/net@0.0.0-20200219183655-46282727080f (Go):GHSA-qppj-fm5r-hxr3"}],"evidence":[],"data":{"ecosystems":["Go"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":0.0,"signed_commit_share":0.005,"unpinned_manifests":2.0},"findings":[],"evidence":[{"kind":"posture","description":"go.mod has no lockfile alongside it (unpinned dependencies)","ref":"go.mod","url":null,"weight":0.3},{"kind":"posture","description":"services/dashboard/assets-dev/package.json has no lockfile alongside it (unpinned dependencies)","ref":"services/dashboard/assets-dev/package.json","url":null,"weight":0.3}],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":0.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[],"data":{"signals":[],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":473.0,"function_nloc":7576.0,"mean_ccn":3.39,"p90_ccn":8.0,"complex_functions":2.0,"long_functions":0.0,"many_param_functions":0.0,"risky_nloc_share":0.0141},"findings":[],"evidence":[{"kind":"complex-function","description":"PrintPretty in icmp/trace.go: complexity 25, 62 lines","ref":"icmp/trace.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/icmp/trace.go#L538","weight":0.4166666666666667},{"kind":"complex-function","description":"Recv in icmp/trace.go: complexity 16, 45 lines","ref":"icmp/trace.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/icmp/trace.go#L297","weight":0.26666666666666666}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":7624.0,"duplicated_lines":676.0,"duplicated_share":0.0887,"files":43.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: disc/disc.go:14 and icmp/icmp.go:12","ref":"disc/disc.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/disc/disc.go#L14","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: disc/disc.go:67 and icmp/ping.go:510","ref":"disc/disc.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/disc/disc.go#L67","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: disc/disc.go:206 and disc/disc.go:256","ref":"disc/disc.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/disc/disc.go#L206","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: icmp/trace.go:403 and icmp/trace.go:449","ref":"icmp/trace.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/icmp/trace.go#L403","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: icmp/trace_termui.go:432 and services/httpd/geo.go:27","ref":"icmp/trace_termui.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/icmp/trace_termui.go#L432","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lg/cogent.go:8 and lg/level3.go:9","ref":"lg/cogent.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/lg/cogent.go#L8","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lg/cogent.go:62 and lg/kpn.go:58","ref":"lg/cogent.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/lg/cogent.go#L62","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lg/cogent.go:114 and lg/cogent.go:148","ref":"lg/cogent.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/lg/cogent.go#L114","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lg/kpn.go:8 and lg/telia.go:9","ref":"lg/kpn.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/lg/kpn.go#L8","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: lg/kpn.go:9 and lg/ntt.go:10","ref":"lg/kpn.go","url":"https://github.com/mehrdadrad/mylg/blob/faba8672ef9f2693ca9093d2a3a671114401e55a/lg/kpn.go#L9","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":5.0,"weighted_findings":3.5,"scanned_lines":10639.0,"category:correctness":5.0},"findings":[{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"disc/disc.go","line":362,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:disc/disc.go:362"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"ns/ns.go","line":319,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:ns/ns.go:319"},{"rule_id":"opengrep/go.lang.correctness.permissions.incorrect-default-permission","severity":"medium","message":"Detected file permissions that are set to more than `0600` (user/owner can read and write). Setting file permissions to higher than `0600` is most likely unnecessary and violates the principle of least privilege. Instead, set permissions to be `0600` or less for os.Chmod, os.Mkdir, os.OpenFile, os.M","path":"peeringdb/pdb.go","line":106,"fingerprint":"go.lang.correctness.permissions.incorrect-default-permission:peeringdb/pdb.go:106"},{"rule_id":"opengrep/javascript.lang.correctness.eqeq-is-bad","severity":"low","message":"Detected a useless comparison operation `counter == counter` or `counter != counter`. This operation is always true. If testing for floating point NaN, use `math.isnan`, or `cmath.isnan` if the number is complex.","path":"services/dashboard/assets-dev/js/ping.js","line":71,"fingerprint":"javascript.lang.correctness.eqeq-is-bad:services/dashboard/assets-dev/js/ping.js:71"},{"rule_id":"opengrep/javascript.lang.correctness.eqeq-is-bad","severity":"low","message":"Detected a useless comparison operation `counter == counter` or `counter != counter`. This operation is always true. If testing for floating point NaN, use `math.isnan`, or `cmath.isnan` if the number is complex.","path":"services/dashboard/assets/js/ping.js","line":71,"fingerprint":"javascript.lang.correctness.eqeq-is-bad:services/dashboard/assets/js/ping.js:71"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.1126,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.1475,"test_lines":599.0,"source_lines":10639.0,"test_ratio":0.0563,"ci_files":1.0,"cochange_share":0.0369,"cochange_commits":244.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .travis.yml","ref":".travis.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (go test)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["go test"],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":325.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"LICENSE","ref":"LICENSE","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":0.0,"check:low_escape_density":0.0,"escapes":10.0,"escapes_per_kloc":10.0},"findings":[],"evidence":[],"data":{},"error":null}],"flags":[]}