Joseph Spiker spikerj
  • Joined on 2025-11-03
spikerj closed issue spikerj/spikersoft-issues#408 2026-07-06 18:03:59 +00:00
[Safety][Compliance][Go-live] Make fail-open safety gates fail closed (SMS/TCPA, ClamAV, passport PII)
spikerj commented on issue spikerj/spikersoft-issues#408 2026-07-06 18:03:49 +00:00
[Safety][Compliance][Go-live] Make fail-open safety gates fail closed (SMS/TCPA, ClamAV, passport PII)

All three acceptance criteria are now met and merged to master:

  1. Consent-lookup failure → treat as NOT opted-in (TCPA) — resolved in backend PR #151 (SendSmsCommandHandler/`MakeCallCom…
spikerj commented on issue spikerj/spikersoft-issues#415 2026-07-06 17:28:24 +00:00
[Security][Go-live] Add authorization FallbackPolicy; lock down anonymous-by-omission API endpoints

MarkWilsonsCustomerController closed — PR #153. Re-examined it (I'd flagged it for "a human look"): it's live and exposes customer PII (names, addresses, phone numbers, generators,…

spikerj commented on issue spikerj/spikersoft-issues#408 2026-07-06 17:16:14 +00:00
[Safety][Compliance][Go-live] Make fail-open safety gates fail closed (SMS/TCPA, ClamAV, passport PII)

Two of the three gates fixed — PR #151:

  • TCPA (SMS + voice): ValidateRecipientOptIn now returns false on lookup error (was true), so a message/call is blocked when consent…
spikerj commented on issue spikerj/spikersoft-issues#415 2026-07-06 17:03:15 +00:00
[Security][Go-live] Add authorization FallbackPolicy; lock down anonymous-by-omission API endpoints

AI.GenerateEmbeddings compute-lever closed — PR #150. It was the last item from the inventory's "genuine anonymous vulnerabilities" list that needed no product decision: AIController

spikerj closed issue spikerj/spikersoft-issues#406 2026-07-06 16:56:02 +00:00
[Security][Go-live] Replace Assembly.Load of uploaded DLLs with metadata-only inspection
spikerj commented on issue spikerj/spikersoft-issues#406 2026-07-06 16:55:53 +00:00
[Security][Go-live] Replace Assembly.Load of uploaded DLLs with metadata-only inspection

All three fixing PRs are merged to master — closing.

  • #143 — decompiler reads metadata-only via CSharpDecompiler/MetadataFile; no Assembly.Load, real source instead of stubs. -…
spikerj commented on issue spikerj/spikersoft-issues#406 2026-07-06 16:49:39 +00:00
[Security][Go-live] Replace Assembly.Load of uploaded DLLs with metadata-only inspection

Third AC — path traversal — now fixed: PR #146. I'd nearly recommended closing after #144, but re-reading the ACs caught that the filename-traversal criterion (evidence `UploadDllCommandHandl…

spikerj commented on issue spikerj/spikersoft-issues#406 2026-07-06 16:42:08 +00:00
[Security][Go-live] Replace Assembly.Load of uploaded DLLs with metadata-only inspection

Codebase-wide Assembly.Load* sweep done. Results:

spikerj commented on issue spikerj/spikersoft-issues#412 2026-07-06 16:35:12 +00:00
[Correctness][Go-live] Repair or gate non-functional features (Trellis 3D, decompiler, phone lookup)

Decompiler upgraded from gate → real fix — PR #143. The fabricated // Method implementation would be here skeletons are gone; each type now carries its real DecompileTypeAsString output,…

spikerj commented on issue spikerj/spikersoft-issues#406 2026-07-06 16:35:08 +00:00
[Security][Go-live] Replace Assembly.Load of uploaded DLLs with metadata-only inspection

Real metadata-only implementation shipped — PR #143 (supersedes the #141 interim gate for the decompiler path).

Delivered exactly the recipe from my earlier comment: DecompileDllAsync now…

spikerj commented on issue spikerj/spikersoft-issues#412 2026-07-06 16:12:15 +00:00
[Correctness][Go-live] Repair or gate non-functional features (Trellis 3D, decompiler, phone lookup)

Trellis Bug 1 shipped — PR #142 (the datetime.timezone.utctimezone.utc crash at :371/:431). Deterministic; verified by local repro + py_compile (no GPU/broker needed).

**Bug 2…

spikerj commented on issue spikerj/spikersoft-issues#412 2026-07-06 16:05:56 +00:00
[Correctness][Go-live] Repair or gate non-functional features (Trellis 3D, decompiler, phone lookup)

Slice 2 shipped — PR #141 (decompiler). It was both fabricating (skeleton source) and Assembly.Load-ing the untrusted uploaded DLL (#406, reachable by any authenticated user). Removed the…

spikerj commented on issue spikerj/spikersoft-issues#406 2026-07-06 16:05:49 +00:00
[Security][Go-live] Replace Assembly.Load of uploaded DLLs with metadata-only inspection

Concrete location + interim mitigation shipped: PR #141.

The untrusted-Assembly.Load this epic is about is live at SpikerSoft.Workers.Decompile/Services/DecompilationService.cs:48 —…

spikerj commented on issue spikerj/spikersoft-issues#412 2026-07-06 15:57:41 +00:00
[Correctness][Go-live] Repair or gate non-functional features (Trellis 3D, decompiler, phone lookup)

Slice 1 shipped — PR #140 (phone lookup). The handler returned Success=true + hardcoded CountryCode="US" for any number without ever calling Twilio; now returns an explicit `NOT_IMPLEMENTE…

spikerj commented on issue spikerj/spikersoft-issues#401 2026-07-06 15:37:40 +00:00
[Security][CRITICAL] SignalR hubs missing class-level [Authorize] — CodeExecutionHub / DashboardHub / ClusterHub open to anonymous connections

Resolved — PR #138 merged to master (996efa1). Closing.

Full epic recap:

  • CodeExecutionHub / ChatHub → class-level [Authorize] (#116, #117)
  • DashboardHub / ClusterHub →…
spikerj closed issue spikerj/spikersoft-issues#401 2026-07-06 15:37:40 +00:00
[Security][CRITICAL] SignalR hubs missing class-level [Authorize] — CodeExecutionHub / DashboardHub / ClusterHub open to anonymous connections
spikerj commented on issue spikerj/spikersoft-issues#401 2026-07-06 15:36:55 +00:00
[Security][CRITICAL] SignalR hubs missing class-level [Authorize] — CodeExecutionHub / DashboardHub / ClusterHub open to anonymous connections

Rec #4 shipped — PR #138 — the last open item.

Re-verified all 13 hubs against origin/master this tick: every one is explicitly attributed (12 [Authorize], PreRegistrationHub

spikerj opened issue spikerj/spikersoft-issues#442 2026-07-06 15:29:08 +00:00
[Security][Decision] Should HttpCallback scheduled-task creation be admin-only (vs admin,staff)?
spikerj closed issue spikerj/spikersoft-issues#438 2026-07-06 15:29:00 +00:00
[Security][Decision] SSRF: HttpCallback scheduled task fetches an unrestricted payload-supplied URL (admin/staff-gated)