NyxFoundation/nyxis
NyxFoundation/nyxis has 322 GitHub stars and 13 forks. Star changes are not measured yet. Last checked 2026-11-12 08:07 UTC. Last push 2026-11-11.
A Lean backend framework whose authorization safety is formally proven. The developer writes only a Cedar schema and policies; handlers are built on Supabase Auth and PostgreSQL.
計測したスター増加
- 24時間
- 履歴を収集中
- 7日間
- 履歴を収集中
- 15日間
- 履歴を収集中
- 1か月
- 履歴を収集中
期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。
README.ja.md
オリジナルNyxis
English | 日本語
認可安全性が形式証明で保証された、Lean 製のバックエンドフレームワーク。
Nyxis は、AI エージェントにコードを書かせて Web アプリケーションを出す個人開発者が、認可について安心してリリースできるようにするためのフレームワークです。開発者が書いて承認するのは Cedar のスキーマとポリシーだけです。ハンドラは Claude Code などに普通に書かせればよく、開発者が Lean を書く必要はありません。
構築されたバックエンドには、次の形式証明が付きます。
どのような HTTP リクエスト列が送られても、認証された主体の正当な権限を超えるデータの読み取り・変更・削除・権限付与は発生しない。
この性質は lake build のたびに Lean のカーネルが検査します。認可のレビューと監査は、スキーマとポリシーを読み、証明が通っていることを確かめれば済みます。
[!NOTE] Nyxis は開発中(v0.1.11)です。保証が届く範囲と、証明の外側で信頼する仮定は ASSUMPTIONS.ja.md に明記しています。本番で使う前に必ず読んでください。
仕組み
- Cedar のスキーマとポリシーを書いて承認する。 スキーマはテーブル定義を兼ね(エンティティ型 = テーブル、属性 = 列)、各アクションには Nyxis が定める効果を 1 つ添えます。
- ハンドラを書く(AI エージェントに書かせる)。 ハンドラは Nyxis の型
Nyxis.Handlerで書き、持てる効果は認可層へのアクション呼び出しだけです。IO や DB への直接の到達はできません。 lake buildを通す。 ビルドと同時に、承認した正本への結び付け、アプリケーションのコードの監査、証明の検査が行われます。- 任意のクライアントから呼ぶ。 クライアントは Supabase Auth の JWT を付けて HTTP で呼びます。フロントエンドは Nyxis の外にある普通の HTTP クライアントです。
スキーマの例(公式サンプルの掲示板より):
entity User = { "admin": Bool };
entity Post = { "author": User, "title": String, "body": String, "published": Bool };
@effect("update Post(title, body)")
action "editPost" appliesTo { principal: [User], resource: [Post] };
ポリシーの例:
// 投稿の編集・公開・削除は作者と管理者だけができる。
@id("manage-post")
permit (
principal is User,
action in [Action::"editPost", Action::"publishPost", Action::"deletePost"],
resource is Post
) when { resource.author == principal || principal.admin };
効果の種類は read・list・insert・update(列を列挙)・delete に加えて、署名付き URL によるファイル保管、メール通知、外部 API 呼び出しなどがあり、いずれも認可層を通って同じ定理の対象になります。主体は JWT から、対象は DB の現在の行から、現在時刻や一意 ID は要求ごとに Nyxis が決めるため、ハンドラはこれらを偽れません。
必要なもの
- elan 経由の Lean 4(版は
lean-toolchainで固定) - Python 3.12 以降、OpenSSL CLI、C コンパイラ
- pkg-config と、libpq・libcrypto の開発用ファイル(macOS なら
brew install libpq。keg-only の libpq は$(brew --prefix libpq)/lib/pkgconfigをPKG_CONFIG_PATHに加える) - 実行時: PostgreSQL(Supabase)、Supabase Auth、
PATH上の curl 8.4 以降(JWKS の取得・Storage・メール・外部 API 呼び出しに使う。起動時に版を確かめ、満たさなければ起動しない)
ビルド
python3 scripts/prepare-dependencies.py # 固定した依存を SHA256 で照合して .lake/vendor/ に置く
lake build # コア・証明・テストのビルドと検査
依存の準備の詳細は docs/dependencies.md、ローカル Supabase の準備は docs/local-supabase.md にあります。
アプリケーションで使う
Nyxis は Lake の require で取り込む独立したパッケージです。アプリケーションのパッケージはスキーマ・ポリシー・ハンドラ・起動だけを持ち、Nyxis のコードを持ちません。Nyxis は固定した依存を自分のチェックアウト内の .lake/vendor/ から解決するので、先にこのリポジトリを clone して上の「ビルド」を済ませ、公式サンプルと同じくパスで require します。
require nyxis from "<clone した Nyxis へのパス>"
リンク引数は require する側に伝わらないため、ルートの lakefile.lean にある postgresLinkArgs と cryptoShimLinkArgs と同じ定義をアプリケーションの lakefile.lean にも置き、moreLinkArgs := postgresLinkArgs ++ cryptoShimLinkArgs <Nyxis のクローンへのパス> としてください(Linux では libpq をフルパスでリンクし、lean-libcrypto の libcrypto_shim.so の場所を実行ファイルに埋め込むため、ビルドした実行ファイルをそのまま起動できます)。承認する正本は nyxis_approved で宣言し、全モジュールを import した最終モジュールの末尾に nyxis_check_app を置きます。具体的な形は公式サンプルを参照してください。
公式サンプル
examples/bulletin-board/— 掲示板。投稿の公開と下書き、Google OAuth でのログイン、管理者権限の付与と剥奪。Next.js のフロントエンドが付き、画面を操作しながらポリシーどおりの許可と拒否を体験できます。examples/team-docs/— 組織内での文書共有。所属と役割、日時、一覧の絞り込みとページング、添付ファイル、メール通知、外部 API 呼び出し。現在はバックエンドのみ。
リポジトリの構成
| パス | 内容 |
|---|---|
Nyxis/ |
コア(Cedar の解析、認可層、ランタイム、接続コード)と証明。主定理は Nyxis.Runtime.authorization_safety |
Test/ |
コアのテスト。Test/Axioms.lean が全定理の公理を検査する |
scripts/ |
依存の準備と統合検査のスクリプト |
examples/ |
公式サンプル |
docs/ |
証明の目録、接続コードの責務、設計文書 |
supabase/ |
ローカル Supabase の設定 |
文書
- ASSUMPTIONS.ja.md — 保証の範囲と、証明の外側で信頼する仮定
- docs/proofs.md — 証明している定理と、それぞれが述べないことの目録
- docs/connection.md — 仮定を支える接続コードの作り
- CONTRIBUTING.md — PR の取り込みの流れ、DCO の sign-off、CI が検査すること(英語)
ライセンス
MIT License © 2026 Nyx Foundation
関連プロジェクトを探す
trimstray/the-book-of-secret-knowledge
インスピレーションを与えるリスト、マニュアル、チートシート、ブログ、ハック、ワンライナー、CLI/Web ツールなどを集めたコレクション。
257,838 スターHack-with-Github/Awesome-Hacking
ハッカー、ペンテスター、セキュリティ研究者向けのさまざまな Awesome リスト集。
125,254 スターswisskyrepo/PayloadsAllTheThings
Web アプリケーションセキュリティおよびペネトレーションテスト/CTF 向けの、実用的なペイロードとバイパスの一覧。
82,583 スターcaddyserver/caddy
高速で拡張しやすい、マルチプラットフォーム対応の HTTP/1-2-3 Web サーバー。自動 HTTPS に対応
78,959 スター