Skip to content

[aliases] Add provider-neutral lifecycle APIs and encrypted vault references - #3

Draft
killedoxygen wants to merge 57 commits into
mainfrom
integration/alias-sdk-launch-20260926
Draft

killedoxygen wants to merge 57 commits into
mainfrom
integration/alias-sdk-launch-20260926

Conversation

@killedoxygen

@killedoxygen killedoxygen commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Adds provider-neutral alias creation, listing, enable/disable, deletion, and recipient-specific send/reply identities across Rust, WASM, and UniFFI. Host adapters supply transport and credentials. The lifecycle journal records uncertain outcomes and deletion tombstones, rejects conflicting merges, validates canonical references, and separates reconciliation planning from validated application to avoid blindly repeating mutations.

Compatibility

Login alias references remain inside encrypted vault blobs through edits, sharing, and key rotation, and are omitted from restricted views. Alias-bound writes require opaque encrypted cipher data support. Forwarded-address generation now requires a host adapter. Declared API and wire-schema shapes remain compatible. Matched TLS updates and reproducible packaging checks are included.

Build-tool dependencies now use basic-ftp 6.2.1, brace-expansion 5.0.12 and ip-address 10.7.1, retaining the pinned generator CLI and FTP/PAC/proxy capabilities. FTP now rejects separate passive transfer hosts by default, with explicit Client opt-in available.

RSA OAEP hardening

Downstream RSA patches preserve legacy SHA1/SHA256 OAEP keys, cipher encodings, and wire formats. Private operations require fallible entropy-backed blinding, with no unblinded fallback on entropy failure. Recovered secret representatives use fixed-width serialization instead of value-dependent leading-zero trimming. A compiler barrier repairs a borrow-dependent divisor-load optimization path, and owned temporary buffers retain cleanup protections.

Vendored rsa 0.10.0-rc.18 and crypto-bigint 0.7.5 retain their original names, versions, licenses, and original/patched byte provenance. RUSTSEC-2023-0071 remains tracked. This downstream OAEP repair does not close the upstream advisory or establish a fixed upstream release.

The implemented audit contract binds the patch to reviewed source, callers and features, retains independent original-identity audits and raw tool results, and rejects operational error fields even when empty. Candidate creation and final verification require delivered-byte, compiler, binding, runtime and provenance evidence. These technical requirements replace the expired exception without accepting advisory risk.

Verification

Current hosted RSA boundary jobs passed on Linux, macOS, and Windows. They cover affected serialization, pinned OAEP vectors, legacy behavior, and entropy failure. Workspace sorting and the four configured alias formal models also passed.

Both source-bound dependency jobs passed. A clean frozen install and unchanged full npm audit report zero findings. Transport, glob and address controls passed. Controlled-schema generation using the real templates produced byte-identical output. Full upstream API schemas were unavailable.

CBC-HMAC tests now cover deterministic valid and invalid padding with a wrong encryption subkey, plus strict authentication negatives. The previous universal-rejection expectation was probabilistic because the MAC half remained valid. Production CBC cryptography and wire formats are unchanged. Local tests passed: 328 unit tests and eight documentation tests. Hosted default Rust tests passed on Linux, macOS and Windows.

A focused review found that unrelated Valgrind diagnostics could satisfy an original regression control. The repaired oracle requires the expected source-attributed diagnostic and completed arithmetic assertion, rejecting unrelated and operational errors. Calibrated original/patched controls cover both reduction paths, both borrow outcomes, and size/speed optimization. Additional optimized full-private-operation controls pass.

Focused validator tests passed for malformed audits, source changes and missing or failed delivery proofs. Synthetic positive controls exercise the validator without qualifying SDK bytes.

Earlier inspection covered nine optimized native component targets and development WASM under V8 Liftoff and TurboFan at the changed boundaries. This evidence is limited to those compiler, target, and optimization configurations. The barrier is best effort, and inspection does not establish universal constant-time behavior or delivered SDK runtime qualification.

An exact-source executable OSS WASM package was prepared, with generated TypeScript consumer compilation and limited exported RSA/shared-key runtime controls passing. It remains build-only and security-unqualified. These controls do not complete final-byte security or provenance qualification.

Remaining requirements

Both candidate policy gates still fail on 38 authenticated historical public-material scanner findings pending exact disposition. Scanner configuration and gates remain unchanged. Coverage was still running at the latest check snapshot.

The reviewed delivery catalog is empty. Candidate assembly still requires independently reviewed final-byte security, compiler and provenance evidence, matched native/generated-binding/runtime receipts, and consumer acceptance. Build-only WASM preparation does not qualify SDK bytes or authorize repinning. No qualified JavaScript/native candidate or consumer repin exists. Combined launch remains unqualified, and this PR remains draft.

Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
BREAKING CHANGE: Alias creation now flows through the injected provider-neutral AliasClient instead of credential-bearing generator APIs.

Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
Signed-off-by: mateoltd <mateo@auraxgroup.com>
@coderabbitai

coderabbitai Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@killedoxygen killedoxygen changed the title build(sdk): deliver synchronized alias SDK candidates [alias-platform] deliver compatible SDK candidates Sep 27, 2026
Mateo added 20 commits October 4, 2026 05:52
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Use the fixed 1.7.4 asset identity and verified SHA-256 instead of the rolling 1.8.0 prerelease URL. All four unchanged model configurations pass. Keep mismatched content fail closed and report expected and actual digests.

Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
…dence

Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>
Signed-off-by: Mateo <mateoltd@users.noreply.github.com>

This branch has not been deployed

No deployments
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