Add dependency risk review report under docs/security [S2BMQ4R] - #25
Merged
Conversation
added 2 commits
August 25, 2026 05:07
Inventories the direct dependencies of every manifest across all five ecosystems present, rating each on version age, advisories, project health and the API surface this repo actually calls. Three findings drove the ratings: - The GoReleaser CLI is the one unpinned third-party executable, floating on "~> v2" in the two jobs that hold contents: write. - markdownlint-cli2 0.18.1 declares js-yaml and markdown-it as exact versions, so npm cannot resolve away six transitive advisories. - The go 1.26.0 directive admits a toolchain with six symbol-reachable stdlib advisories; CI floats past it, local builds do not. Report only — no manifest, lockfile, source file or CI config is touched.
cameronnewman
marked this pull request as ready for review
August 25, 2026 05:19
Greptile SummaryThe PR adds a comprehensive dependency-risk report covering repository-managed Go, npm, GitHub Actions, CI tools, and container dependencies.
Confidence Score: 5/5The documentation-only PR appears safe to merge, with no concrete inaccuracies or CI failures identified. The report accurately reflects the repository-managed dependency declarations and relevant code paths, explicitly distinguishes verified from unverified reachability, and complies with the applicable Markdown lint configuration. Reviews (1): Last reviewed commit: "docs(deps): dependency risk review for t..." | Re-trigger Greptile |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The whole branch diff against
mainis one added file. Work is complete and pushed.Summary
Adds
docs/security/DEPENDENCY-RISK.md, a dependency risk review covering every manifest in the repo.go.modis the only conventional manifest, so the review also inventories the third-party code declared inline in.github/workflows/ci.yml,action.yml, and.goreleaser.yaml— Go tools, GitHub Actions, an npm package, and a container image — because those execute with repository credentials. 12 direct dependencies are rated: 0 Critical, 1 High, 3 Medium, 8 Low. Three findings are called out at the top of the report.Urgent findings
version: "~> v2",.github/workflows/ci.yml:179and:245), floating to the latestv2.xin the two jobs holdingcontents: writethat publish consumer-downloaded binaries. Everything else in the repo is SHA-, tag-, or digest-pinned. Rated High.markdownlint-cli2@0.18.1hard-pinsjs-yaml4.1.0 andmarkdown-it14.1.0 as exact versions, so npm cannot resolve away six advisories (2 High, CVSS 7.5). Bumping to0.23.2clears all six — verified by auditing a resolved0.23.2tree.go 1.26.0admits a toolchain with six symbol-reachable stdlib advisories (4×html/templateXSS viarender.HTML,encoding/xmlrecursion via both parsers). Not a CI or release exposure — every build path floatsgo-version: "1.26"to go1.26.7 — so it's rated Medium, not High.Two checks de-escalated rather than escalated: all four GitHub Actions SHA pins were verified against their upstream tag objects (all match, all latest), and the
aquasec/trivydigest matches the official0.72.0manifest in the registry, which bounds the open GO-2026-4919 supply-chain advisory that OSV matches to that version.Changes
docs/security/DEPENDENCY-RISK.md— new. Summary (per-ecosystem totals, risk counts, tools and versions, date), a seven-column table per ecosystem, a subsection per Medium-and-above dependency with reasoning, call sites, and a recommended action, plus full evidence for the Low-rated ones and a method/limitations note. Reachability is marked verified only for Go and unverified everywhere else.Validation
govulncheck ./...(v1.7.0, DB 2026-08-21) — 6 symbol-reachable, 5 imported-not-called, 22 required-not-imported, all stdlib.npm auditon a--package-lock-onlytree formarkdownlint-cli2@0.18.1— 1 high, 2 moderate groups; the same for0.23.2— zero.npx --yes markdownlint-cli2@0.18.1(the repo's own pinned linter) —Summary: 0 error(s)across 16 files.file:linewas checked against the file withsed -n; six citations had drifted and were corrected.git diff --name-status main...HEAD— a singleAentry.Not verified: CI was not waited on. I expect
build,security-scan,lint, andreleaseto run; nothing is known red.Ergates task:
06G3EKQ8AZC7MTAD3KNS2BMQ4R