Repository navigation
fix(security): resolve Medium findings from the security review - #449
Merged
Merged
Conversation
Backend, UI and infra remediation for the Medium findings across S01-S24: answer validation, upload/CSV/OAuth hardening, billing webhook idempotency, automation/plugin permissions and limits, audit/retention, CI and Terraform hardening, dependency overrides. Manual follow-ups are in REMEDIATION.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bannarisoftwares
requested review from
arunkumardursaisamy66,
natheeshsunway and
prabu-naveen
as code owners
October 29, 2026 16:23
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
|
Important Review skippedToo many files! This PR contains 207 files, which is 57 over the limit of 150. To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to Team to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.
|
Reserve a plan submission slot with a single conditional UPDATE before the response insert and release it if the insert fails, instead of checking then incrementing via a fire-and-forget event. trackFormSubmission is now notification-only. Previews are not counted. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…idation Some form rows store formSchema as a JSON-encoded string; the S04-04 validator rejected them as unavailable, breaking submissions. Parse strings first and still fail closed on invalid JSON. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The response answer validation (S04-04) now enforces the form schema, which exposed fixtures using uppercase field types and lowercase dropdown values that are not valid for the schema. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Oct 29, 2026
bannarisoftwares
pushed a commit
that referenced
this pull request
Oct 31, 2026
…e tracker Adds a Medium open column and a table of open Medium findings with reasons, taken from the #449 triage and REMEDIATION.md. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Summary
Remediates the Medium findings (S01–S24) from the security review, across backend, UI and infra. Each finding was re-verified against current code first; some were already fixed by #442/#445/#447.
Highlights
past_dueno longer overwritten, org deletion disabled, OAuth tokens encrypted at rest, scheduled retention purge, audit log scoped by org.Deploy notes
db:migrate:deploy:20261021120000_webhook_idempotency_audit_org.release.ymlfails at retag.Not done (needs infra/product decision or admin settings)
See the tracker in
docs/security-review/SECURITY_REVIEW_SECTIONS.mdand "Medium findings — manual steps" inREMEDIATION.md.Testing
tsc clean (all packages), backend 4280 tests + coverage thresholds, form-viewer/types/ui tests, eslint clean. Four
RailPageGroupform-app tests fail onmaintoo (pre-existing).