Skip to content

Security: align with OWASP 2025 (supply chain, logging, info-leak, deserialization)#9

Open
mshykov wants to merge 1 commit into
mgreiler:masterfrom
mshykov:security-owasp-2025-additions
Open

Security: align with OWASP 2025 (supply chain, logging, info-leak, deserialization)#9
mshykov wants to merge 1 commit into
mgreiler:masterfrom
mshykov:security-owasp-2025-additions

Conversation

@mshykov

@mshykov mshykov commented May 6, 2026

Copy link
Copy Markdown

What

Adds four checklist questions to the Security and Data Privacy section, aligned with categories OWASP has elevated in its 2021 → 2025 evolution that aren't currently prompted by the checklist.

Why

The existing section covers the classic injection / secrets / encryption questions well. The four additions cover failure modes that have driven major incidents in the past 5 years:

Addition OWASP category Real-world incident
Supply-chain integrity (pinned deps, lock files, provenance) A06:2021 (vulnerable & outdated components) → expanded for 2025 SolarWinds, codecov bash uploader, ua-parser-js
Security logging sufficient for incident investigation A09:2021 (logging & monitoring failures) Median breach detection time is months — better logs cut it to hours
Error / exception info-leak Common forensic finding (CWE-209) Stack traces / SQL fragments / partial secrets surfaced to end users
Insecure deserialization A08:2021 (software & data integrity) Log4Shell, Spring4Shell, Apache Commons RCE

Style

Phrased as open-ended checklist questions matching the section's existing tone — no reordering or removal of existing items.

Diff

+- [ ] Are third-party dependencies pinned, with lock files committed,
+and is dependency provenance verifiable (signatures, hashes, audited sources)?
+- [ ] Is security-relevant activity logged in a way that supports
+incident investigation — auth events, access denials, configuration
+changes — without including the credentials themselves?
+- [ ] Do error messages or exception traces avoid leaking sensitive
+information (stack traces, internal paths, query fragments, partial
+secrets) to end users?
+- [ ] Is deserialization of untrusted input avoided, or strictly
+typed and validated? Unsafe deserialization is a common remote-code-
+execution vector.

Opening as draft so you can request changes before I mark it ready. Happy to trim or split if any item doesn't fit your scope.

…serialization)

The existing Security and Data Privacy section covers the
classic input-validation / secrets / encryption questions. OWASP's
2025 categorisation has elevated four other classes of issue that
aren't currently prompted:

- Supply-chain integrity (A06:2021 → expanded for 2025): pinned
  deps, committed lock files, verifiable provenance. Common attack
  vector (think SolarWinds, codecov bash uploader, ua-parser-js).
- Security logging and monitoring failures (A09:2021 → A11 in
  2025 drafts): without auth-event / access-denial / config-change
  logs, breach detection lags days-to-months.
- Error / exception info leak: stack traces and partial secrets in
  user-visible errors are a recurring forensic finding.
- Insecure deserialization (A08:2021): repeatedly tied to RCEs in
  the past five years (Log4Shell, Spring4Shell, etc.).

Phrased as checklist questions matching the existing section's
open-ended style. No reordering or removal of existing items.
@mshykov mshykov marked this pull request as ready for review May 6, 2026 14:20
mshykov added a commit to mshykov/local-review that referenced this pull request May 6, 2026
…nts) (#41)

Adds a top-level CHECKLIST.md publishing the same code-review rules
that internal/prompts/packs/default.md operationalizes — but phrased
for human reviewers, not LLM prompts.

What's in it (~200 lines):
- 11 sections (Correctness, Security, Performance, Maintainability,
  Error handling, Testing, Compat, UX/a11y, Ethics, Style, Specialist
  review) with `- [ ] question?` checkboxes throughout
- OWASP 2025 alignment baked into Security (supply chain, info-leak,
  unsafe deserialization, security logging) — the four items I
  proposed upstream to mgreiler/code-review-checklist#9
- Severity tiers (critical/major/warning/info/nit) so reviewers
  know what's blocking vs informational
- Concrete measurables (functions > 50 lines, nesting > 3 levels)
  alongside the open-ended questions
- A "Specialist review needed?" prompt for high-risk diffs
- Reviewer-behavior guidance (acknowledge good practices, ask
  clarifying questions, prefer one sharp finding over five vague)
- Cross-link to local-review showing how to run the same rules
  automatically

Why a separate file (not just a section in README): users searching
"code review checklist" find a discrete artifact; teams can fork it
into their internal wiki without the install instructions; the
checklist evolves on its own cadence next to the prompt packs.

Why in the local-review repo (not a separate repo, per challenge
discussion): zero new maintenance surface, tightly coupled to the
tool that implements it. Can graduate to a standalone repo later
if it gets demand-pull traction.

README: nav-bar link + a callout block above "What it is, what it
isn't" so casual visitors find it within the first scroll.

Landing page: new ".checklist-cta" section between Supported
Languages and Installation. Light gradient tint so it reads as a
deliberate call-out, distinct from the regular white sections but
quieter than the dark Quick Start. Two CTAs: "Open the Checklist"
(green primary, points at CHECKLIST.md on GitHub) and "Run it on
your code" (secondary, points at the install section).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant