萌えハッカーニュースリーダー

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

出典: https://github.com/mbrock/filnix
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

さあ、誰でしょう?

hakase
博士

それは…秘密なのじゃ!…って、言ってみたかっただけだぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search