RepoTrust

campoy/go-tooling-workshop

A workshop covering all the tools gophers use in their day to day life

https://github.com/campoy/go-tooling-workshop · commit 1c4da099e211 · scored 2026-11-13 · scoring prov-4+qual-2+sec-2

RepoTrust ai badge RepoTrust quality badge RepoTrust security badge

Dispute this score or request a re-score Full report JSON

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 0 none-detected 59% 100%
Code quality 80 adequate 90% 100%
Security 56 weak 85% 100%

AI provenance

No AI attribution or AI-consistent velocity signals detected.

Month Lines added Attributed to AI
2017-06 402 0%
2017-07 157 0%
2017-08 2 0%
2017-10 22 0%
2018-05 32 0%
2018-06 14 0%
2018-08 1 0%

AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.

Code quality

Code quality is adequate: test-to-source ratio 0.48, CI runs tests; 0% of function code in complex or long functions; 54% duplicated lines. Weakest area: duplication.

Area Score
Complexity (lizard) 100
Duplication 4
Code smells (Opengrep) 100
Tests and CI 96
Documentation 80
Type safety n/a
Process (Scorecard review/maintenance) n/a

Security

Security posture is weak: no high-impact findings. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 100
Static analysis (Opengrep) 29
Vulnerable dependencies (OSV) n/a
CI workflows (zizmor) n/a
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard n/a

Top findings

Severity Finding Location
medium opengrep/go.lang.security.audit.net.use-tls: Found an HTTP server without TLS. Use 'http.ListenAndServeTLS' instead. See https://golang.org/pkg/net/http/#ListenAndServeTLS for more information. [confidence medium] 1-source-code/2-writing/errcheck/main.go:24
medium opengrep/go.lang.security.audit.net.fs-directory-listing: Detected usage of 'http.FileServer' as handler: this allows directory listing and an attacker could navigate through directories looking for sensitive files. Be sure to disable directory listing or restrict access to specific directories/files. [confidence medium] 2-building-artifacts/web-server/main.go:27
medium opengrep/go.lang.security.audit.net.use-tls: Found an HTTP server without TLS. Use 'http.ListenAndServeTLS' instead. See https://golang.org/pkg/net/http/#ListenAndServeTLS for more information. [confidence medium] 2-building-artifacts/web-server/main.go:29
medium opengrep/go.lang.security.audit.net.use-tls: Found an HTTP server without TLS. Use 'http.ListenAndServeTLS' instead. See https://golang.org/pkg/net/http/#ListenAndServeTLS for more information. [confidence medium] 3-dynamic-analysis/3-profiling/webserver/main.go:27
medium opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter: 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] 3-dynamic-analysis/3-profiling/webserver/main.go:35
medium opengrep/go.lang.security.audit.net.use-tls: Found an HTTP server without TLS. Use 'http.ListenAndServeTLS' instead. See https://golang.org/pkg/net/http/#ListenAndServeTLS for more information. [confidence medium] 3-dynamic-analysis/webserver/main.go:26
medium opengrep/go.lang.security.audit.xss.no-fprintf-to-responsewriter: 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] 3-dynamic-analysis/webserver/main.go:36

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

Language Lines
Go 681
Shell 8

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/campoy/go-tooling-workshop/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/campoy/go-tooling-workshop/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/campoy/go-tooling-workshop/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/campoy/go-tooling-workshop/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/campoy/go-tooling-workshop/security.svg)](https://repotrust.synapticcyber.com/r/github.com/campoy/go-tooling-workshop/)