Skip to content

Security: kamonabe/Tsumugi

SECURITY.md

セキュリティポリシー

Tsumugi の脆弱性報告と保証境界についてまとめる。報告の前に、まず下記「保証境界」を確認してほしい。

プロジェクトのステータス

Tsumugi は教育・実験用途の alpha 版である。言語仕様・組み込みAPI・CLI の後方互換性は保証していない。脆弱性対応もベストエフォートで行う(個人プロジェクトのため、対応時期を約束するものではない)。

保証境界(報告前に必読)

Tsumugi 単体は security boundary ではない。

Tsumugi のサンドボックス、パス検査、ステップ予算、capability モデルは defense-in-depth(多層防御の一層)であり、非信頼コードを隔離する security sandbox ではない。敵対的なスクリプトを安全に実行するには、別プロセス・非 root・最小 mount・cgroup 等の OS レベルの隔離と組み合わせる必要がある。

何を保証し、何を保証しないか、責任分界はどこにあるかは、脅威モデルを正本とする。

次に該当するものは、脆弱性ではなく既知の設計上の非目標である。報告の前に脅威モデルの「8. 保証しない性質」を確認してほしい。

  • 非信頼スクリプトを Tsumugi 単体で完全隔離できないこと
  • OS レベルの OOM / スタックオーバーフロー / panic=abort からの同一プロセス回復
  • スクリプトへ正当に渡した secret を、そのスクリプトが意図的に出力すること
  • 未実装フェーズ(Phase 2 以降)の capability / 実行予算 / 監査に関する挙動。実装状態はロードマップを参照

対象バージョン

alpha 版のため、セキュリティ修正は原則として最新の main に対してのみ行う。

バージョン サポート
最新の main ✅
それ以前 ❌

脆弱性の報告方法

脆弱性は公開 Issue に書かないでほしい。 修正前に詳細が公開されることを避けるため、GitHub の Private Vulnerability Reporting を使う。

  1. リポジトリの Security タブを開く
  2. Report a vulnerability を押す
  3. 影響範囲・再現手順・想定される深刻度を記載する

報告には可能な範囲で次を含めてもらえると対応が早い。

  • 影響を受ける実行系(tree-walk / VM --vm / 埋め込み API のいずれか)
  • 再現用の最小スクリプト(.tsg)または手順
  • 期待される挙動と実際の挙動
  • 該当する脅威モデルの TM-ID があれば、その番号

対応の流れ

  • 報告を受け取ったら、Private Vulnerability Reporting のスレッド上で確認・やり取りを行う
  • 有効な脆弱性と判断した場合、修正と、必要に応じて GitHub Security Advisory の公開を行う
  • 対応時期は保証しない(ベストエフォート)

There aren't any published security advisories