Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[MOCA SBX] Verify MOCA's sandbox grant and pass the moca-egress conformance suite

オープン
#1,489 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
github-actions, go
領域
backend, ci-cd, testing

調査の方向性

Start by reading the MOCA contract sections §12.2–12.3 and the remote-worker/egress/conformance suite; the issue identifies 13 transport cases and additional interception cases tied to MI1 slice S2. Determine how to run the suite against a Cortex build with the MOCA profile on a Linux or macOS runner, then add the CI integration. Done means both case slices pass against Cortex in CI.

索引モデルが issue の本文から書いたものです。

説明

enhancement

Priority: final gate · Part of the Cortex × MOCA SBX epic · #905 breakdown step 5 · MOCA contract: MI1 §12.2-12.3

Problem

Cortex replaces moca-egress only when it passes the same black-box suite. This issue is the integration gate for the epic.

What it involves

  • Grant verification. A control-plane-signed Ed25519 JWS:
    • aud=moca-sandbox, with exp and sid;
    • verified on Register and Rebind;
    • MOCA distributes public keys as kid:base64-DER, not JWKS;
    • cross-language golden vectors are checked in on the MOCA side (§12.2).
  • The suite lives at remote-worker/egress/conformance (public package) with a runnable cmd/moca-egress-conformance (rossoctl/moca#583). It drives the implementation only through:
    • MOCA_EGRESS_* and MOCA_TENANCY environment variables;
    • the control socket;
    • per-VM proxy sockets;
    • named refusals (the X-Moca-Egress-Error header plus a <code>: <host> body);
    • JSON audit events on stdout.
  • The transport-slice cases today (13):
    • identity_from_connection, forged_session_header_ignored;
    • off_allowlist_named_403, private_address_403, metadata_address_403_even_if_permitted, dns_rebinding_resolved_once;
    • per_vm_conn_cap_429, per_session_request_cap_429;
    • unregister_aborts_inflight, connect_tunnel_opaque, plain_http_strips_proxy_and_moca_headers;
    • audit_query_removed, grant_refused_under_single.
  • The interception-slice cases (credential injection, 421, 502, plaintext refusal, one audit event per injection) land with MI1 slice S2.

Design questions

Run the suite in Cortex CI against a Cortex build with the MOCA profile? The suite needs Unix sockets with SCM_RIGHTS, so Linux or macOS runners only.

Done when

moca-egress-conformance passes against Cortex in CI, for both the transport-slice and the interception-slice cases.

主要言語
Go
スター
18
フォーク
42
平均マージ
12時間 20分
マージ済み PR(30日)
229

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

rossoctl/cortex のほかの issue

rossoctl/cortex の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。