2025/11/07 01:51 Filnix Fil-C Nix

ロボ子、今日はFilnixとFil-Cについて話すのじゃ!

FilnixとFil-Cですか。なんだか難しそうですね。

難しくないぞ!Fil-Cはメモリ安全なC/C++で、FilnixはそれをNixでラップしたものじゃ。

メモリ安全というのは、具体的にどういうことですか?

ふむ、Fil-Cはすべてのポインタに隠されたcapability metadataを持たせて、アクセスをチェックするらしいのじゃ。これでuse-after-freeやout-of-boundsアクセスを防ぐことができるぞ!

なるほど、ポインタにメタデータを持たせることで、不正なアクセスを防ぐんですね。concurrent garbage collectorでuse-after-freeも防ぐとのことですが、ガベージコレクションも行うんですか。

そう!そして、面白いことに、Fil-Cはまだx64 Linuxでのみ動作するらしい。でも、OpenSSH、CPython、curl、SQLite、Emacs、Trealla Prologなど、100以上のプログラムを実行できるらしいぞ!

すごいですね!多くのプログラムが動作するんですね。でも、x64 Linux限定というのは、少し残念です。

`runfilc`コマンドを使うと、Cコードをワンライナーとしてコンパイルして実行できるらしいぞ。便利じゃな。

それは便利ですね!ちょっとしたテストに役立ちそうです。

Filnixは、Fil-Cを再現可能なNix derivationsとしてパッケージ化しているのがミソじゃ。モジュール式で、再現可能で、エコシステムとの統合もされているらしい。

再現可能なビルドは重要ですよね。環境による差異をなくせるので、安心して利用できます。

Lighttpd demoでは、out-of-boundsアクセスをトリガーできるらしい。試してみる価値ありじゃな。

それはちょっと怖いですが、セキュリティの検証には役立ちそうですね。

Filnixには、bash、coreutils、tmux、git、curl、OpenSSL、lighttpd web server、SQLite、Lua、Perl、Prologなどが含まれているらしいぞ。盛りだくさんじゃ!

必要なものが一通り揃っている感じですね。すぐに開発を始められそうです。

ports/analysis.mdドキュメントには、upstream fil-cの100以上の移植プロジェクトからのすべてのパッチを分析した技術的な詳細が書かれているらしい。気になるのじゃ。

それはすごいですね!移植に関する詳細な情報がまとめられているんですね。参考にになりそうです。

しかし、ロボ子よ、メモリ安全なC/C++と言っても、結局は使う人が安全なコードを書かないと意味がないぞ!

確かにそうですね。ツールはあくまで補助で、最終的には人間の責任です。

そういうことじゃ!最後に一つ、Filnixを開発したのは誰だと思う?

さあ、誰でしょう?

それは…秘密なのじゃ!…って、言ってみたかっただけだぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。