Skip to content

Add v1.0.8 release review - #231

Merged
erayd merged 18 commits into
parcel-pm:masterfrom
erayd:v1.0.8-review
Oct 15, 2026
Merged

erayd merged 18 commits into
parcel-pm:masterfrom
erayd:v1.0.8-review

Conversation

@erayd

@erayd erayd commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

Security review of Parcel v1.0.8 (merged: kimi-k3 + mimo-v2.6-pro)

Independent two-phase reviews of v1.0.8 (commit f34f710, exactly at tag v1.0.8) were conducted by two models and merged by glm-5.3. No CRITICAL or HIGH vulnerabilities were found. The merged record carries 11 findings (1 MEDIUM, 8 LOW, 2 INFORMATIONAL). All host-side enforcement controls (whitelist, passkey content-marker backstop, rpId/allowCredentials binding, rate-limiter state lock, signer blacklist, host-version ratchet) and all previously-fixed findings verified intact under both models' adversarial testing; the full test suite passes (615/615, 35 suites) and the built chrome/firefox bundles were verified byte-identical to src/ apart from the documented manifest transforms.

Full report: security-review/reviews/v1.0.8/merged-glm-5.3.md

Summary table of findings

# Severity Vulnerability
F68M 🟡 MEDIUM Chrome: fill message without origin key skips the F34M destination-origin guard and the F6T warning (mimo-v2.6-pro only; not reproduced by kimi-k3)
F69L ⚪ LOW collect_roots textual-only dedup: ancestor-pointing store symlinks cause unbounded root-queue growth, permanently wedging the host (requires allowLinks)
F70L ⚪ LOW Rule pattern valid in JS but invalid in jq's Oniguruma (or malformed in both) silently wedges action_list - no response is ever sent
F71L ⚪ LOW Popup-spam guard bypassed by ceremony supersede/abort paths, which settle without counting as dismissals (severity disputed: mimo-v2.6-pro M, kimi-k3 L)
F72L ⚪ LOW make extension/chrome/firefox silently skip the Prettier step and execute write(1) instead
F73L ⚪ LOW SECURITY.md:87 overstates fail-closed behaviour: malformed BLACKLIST_SIGNERS/MINIMUM_HOST_VERSION/path values are ignored with a log note, not refused
F74L ⚪ LOW Passkey/HTTP-auth consent guarantees phrased as absolutes that do not hold under the accepted TM2 posture
F75L ⚪ LOW Rule-less entry aborts the whole popup render batch (mimo-v2.6-pro only; not reproduced by kimi-k3)
F76L ⚪ LOW Timestamp rules let a stale src/dist (incl. parcel-host.asc) ship (mimo-v2.6-pro only; not reproduced by kimi-k3)
F77I ⚪ LOW Comment overstates the constrain-height token's forgery protection - the page can read the token from the popup iframe's src
F78I ⚪ LOW window.open help link vs "no network access, for any reason" (mimo-v2.6-pro only; classification disputed by kimi-k3)

Notes on the table

  • F77I and F78I are labelled INFORMATIONAL by the review (shown with the LOW indicator above).
  • The F71L severity dispute and the four finding-level disputes (F68M, F75L, F76L, F78I - all mimo-v2.6-pro reports) are recorded verbatim in the merged file under "Disagreements", with kimi-k3's positions preserved; the maintainer may take either position when responding.
  • Unlike v1.0.7, the two models' phase-1 outputs were fully disjoint; every dual-source finding was discovered by one model in phase 1 and independently reproduced by the other in phase 2.

Task Tracking

@erayd erayd self-assigned this Oct 3, 2026
@erayd erayd added the security This relates to the security of the extension label Oct 3, 2026
@erayd
erayd marked this pull request as ready for review October 15, 2026 02:09
@erayd
erayd merged commit 6f25a81 into parcel-pm:master Oct 15, 2026
1 check passed
@erayd
erayd deleted the v1.0.8-review branch October 15, 2026 02:16
erayd added a commit that referenced this pull request Oct 15, 2026
- F68M: Fill message without `origin` key skips the F34M destination-origin guard and the F6T warning (fixed)
- F69L: Ancestor-pointing store symlinks cause unbounded collect_roots root-queue growth, wedging the host (fixed)
- F70L: JS-valid but Oniguruma-invalid rule pattern silently wedges action_list (fixed)
- F71L: Popup-spam guard bypassed by ceremony supersede/abort paths (abort fixed; supersede as-intended)
- F72L: make extension/chrome/firefox silently skip Prettier and execute write(1) instead (fixed)
- F73L: SECURITY.md overstates parcelrc fail-closed behaviour (fixed)
- F74L: Consent guarantees phrased as absolutes under the accepted TM2 posture (as-intended)
- F75L: Rule-less entry aborts the whole popup render batch (fixed)
- F76L: Timestamp rules let a stale src/dist ship (as-intended)
- F77I: Comment overstates constrain-height token forgery protection (rejected)
- F78I: window.open help link vs "no network access, for any reason" (rejected)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

security This relates to the security of the extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant