K.Hirata (@Venriched) header
K.Hirata (@Venriched) profile picture

自由で開かれた思考

ちば
Joined August 2020
Photo by K.Hirata (@Venriched)Photo by K.Hirata (@Venriched)Photo by K.Hirata (@Venriched)Photo by K.Hirata (@Venriched)Photo by K.Hirata (@Venriched)Photo by K.Hirata (@Venriched)Photo by K.Hirata (@Venriched)Photo by K.Hirata (@Venriched)Photo by K.Hirata (@Venriched)Photo by K.Hirata (@Venriched)
何をやってもド素人
225
Google 社を褒めるのは癪だが、Gemini のレベルは本当に高い。
34
「バカになっていく感覚」ってのは絶対的なものなのか相対的なものなのか、どっちなんだ?
46
K.Hirata retweeted
現役の研究者はAIを使って研究していて自分がバカになっていく感覚を味わっていると思うけど、AIネイティブの若者が研究に入ってこのAI以前に比べて「バカになる」感覚を感じずに研究をしていくとき、研究がどうなっていくのか気になる
9
116
25
880
80,908
明日からなぜか毎日東京に行くことになっている。
1
59
なんか知らんけど忙しいな……
51
K.Hirata retweeted
Anthropicのレポートによれば盗まれたカードで作成した大量のアカウントで不正な蒸留が行われているとのこと。 蒸留キャンペーン(distillation campaign)と称されています anthropic.com/threat-intelli…
なんでClaudeなんだろ 返金して現金化でもできんの?
4
475
29
1,152
208,095
タクシーって素晴らしいね
56
昼間に遊んでたせいで終電 (余裕で) 逃した。
62
⚠️11/29から個人向けOpenAI Daybreak Blueの入力内容は、学習設定をOFFにしてもモデル改善に利用される可能性があります。個別のオプトアウトもなし。 未公開脆弱性、PoC、マルウェア解析、顧客のインシデント情報や機密コードを扱うセキュリティ関係者は要注意! Business/EnterpriseとAPIは原則学習対象外です。 ⚠️ Starting Nov 29, OpenAI may use personal Daybreak Blue sessions for model training—even with training turned OFF. No separate opt-out is documented. Cybersecurity professionals: beware sharing 0-days, PoCs, malware analysis, client incident data, or private code. Business/Enterprise/API accounts are excluded by default.
26
2
76
8,505
仮定を鍵、結論を扉と見立てて、ダンジョン探索が「証明」になっていくブラウザゲーム「Proof Dungeon: 自然演繹の迷宮」を作りました。パズル感覚で論理学や自然演繹を学べるブラウザゲームです。日本語と英語に対応しています。 kihara-logic.github.io/proof…
16
463
38
1,837
104,124
これ実際教材として非常に優秀
2
107
kihara-logic.github.io/proof… クソ楽しい (査読やれ)
4
349
> ソフトウェアエンジニアは仕事柄、こういう風に装う人はかなり苦手な傾向があると思う(一緒に仕事すると支障が出るから) わかるなぁ
95
K.Hirata retweeted
これはさすがに浅はかすぎる… 理解が浅はかなのではなく、理解できてないことがバレバレなのに、さも理解している風に装う姿勢が浅はかだなと… ソフトウェアエンジニアは仕事柄、こういう風に装う人はかなり苦手な傾向があると思う(一緒に仕事すると支障が出るから) 「ちゃんと理解できてません」と言える勇気と自信は、改めてかなり大事だよな、と。
Replying to @seltzer
済みません。私の浅はかな理解は、PHPのプログラムを実行するエンジンは主にC言語で書かれていて、C言語は高速で柔軟性が高い一方、メモリの確保や解放をプログラマーが適切に管理しないと、メモリ破壊や解放済みメモリへのアクセスなどの脆弱性が発生し得るというものです。 いきなりは難しくても、徐々にメモリ安全性や障害の分離能力に優れたRustなどのより安全性の高いプログラミング言語や実行環境に移行して、従来のC言語などに由来するメモリ管理上の脆弱性を減らすべきと考えていますが間違っていますでしょうか。ご教示いただければ幸いです。
19
200
16
1,326
73,053
Rust は C言語に比較してメモリ安全である、はある程度正しいけれど、メモリに関連する脆弱性は全体の一部でしかなく、開発言語を開発言語を変えればすなわちセキュリティが増す、みたいなのは正しくないかなと思う。 そして Rust でも脆弱なコードはいくらでも書ける。 よくシステム開発は建築に例えられるが、Rust に変えたら安全という考え方は、「地震にはやたら強いけど、火が入ったら一瞬で燃え尽きる」、のようなことになりかねない。 セキュリティは、持っている資産とリスクに応じて多面的・多層的に防御を張ることで万全に近い状態になるものであり、特定の何かをしたら万全なのでない。 政府介入でセキュリティを担保できるとすれば、政府がそれぞれの事業者の扱う情報について質と量とに基づき格付けを行い、一定のランクを超える事業者には一定のセキュリティ対策(第三者による脆弱性検査等含む)と報告を義務化するという方向かなと思う。 経営視点でセキュリティへの投資が行われにくいのは、そこにかけるコストとリスク/利益とがバランスしないから。 そこに報酬または罰則を与え、無理やりリスクまたは利益を高めてしまうということで、セキュリティ投資することにインセンティブがある状態を作ることが大切。 ただ、これを情報種別だけで義務化すると、低資本の企業参画を抑制し、自由競争を阻害する可能性があるため、扱われる情報規模に応じた猶予を設けることで徐々に全体をセキュアにしていくという移行措置が良いかな、と。
Replying to @seltzer
済みません。私の浅はかな理解は、PHPのプログラムを実行するエンジンは主にC言語で書かれていて、C言語は高速で柔軟性が高い一方、メモリの確保や解放をプログラマーが適切に管理しないと、メモリ破壊や解放済みメモリへのアクセスなどの脆弱性が発生し得るというものです。 いきなりは難しくても、徐々にメモリ安全性や障害の分離能力に優れたRustなどのより安全性の高いプログラミング言語や実行環境に移行して、従来のC言語などに由来するメモリ管理上の脆弱性を減らすべきと考えていますが間違っていますでしょうか。ご教示いただければ幸いです。
2
18
1
95
14,412
うける
90
K.Hirata retweeted
Replying to @tamakiyuichiro
AIに聞いた知識を喋んなよわかるんだよ文脈から
6
24
3
1,226
122,256
K.Hirata retweeted
こーいうaiに聞いて知ってるんだぜ俺、みたいな発言やめなよ.見透かされてるよ。少なくともいい印象にはならねえって。 事務所仕事しろー
3
13
598
76,904
Replying to @seltzer
済みません。私の浅はかな理解は、PHPのプログラムを実行するエンジンは主にC言語で書かれていて、C言語は高速で柔軟性が高い一方、メモリの確保や解放をプログラマーが適切に管理しないと、メモリ破壊や解放済みメモリへのアクセスなどの脆弱性が発生し得るというものです。 いきなりは難しくても、徐々にメモリ安全性や障害の分離能力に優れたRustなどのより安全性の高いプログラミング言語や実行環境に移行して、従来のC言語などに由来するメモリ管理上の脆弱性を減らすべきと考えていますが間違っていますでしょうか。ご教示いただければ幸いです。
309
153
915
986
1,823,589
K.Hirata retweeted
Formally verified binaries were a distant dream for decades; now it’s clear they will be central to the future of secure software, and that future is very near!
Can we use any compilation pipeline we want to produce efficient machine code, then apply formal methods to show that this code behaves in a certain way? This has long been a dream – a gold standard of formal verification, verifying programs at the assembly level – but was considered to be too difficult due to the loss of structure when going from a high level language to machine code. Can AI bash through this problem? Apparently yes! The basic idea I’ve been playing with is to write an interpreter of the target instruction set in an interactive theorem prover such as Lean or Bend. We can then prove that some compiled program conforms to a given specification by writing a proof that connects the machine code, interpreter, and some desired behavior of that code. Why is this useful? It helps resolve 2 tradeoffs: - When we write programs in a high level language designed for native execution rather than theorem proving, we get great performance, but are unable to formally reason about how that code behaves. - On the other hand, when writing programs in a language like Lean, we can write proofs to reason about its behavior, but get poor native performance. We can try and solve this tension by extracting a program written in something like Rust into Lean, but this tooling is complex, limited, and can introduce bugs! Or, we can develop theorem provers that can compile to efficient native code. This is what Bend hopes to accomplish. Today, both of these techniques are limited, so proving at the assembly or bytecode level seems like a good solution. What is the downside then? Well, formally reasoning about an instruction set is much harder than high level code. You have to consider registers, stack machines, and other low level semantics that are not particularly relevant to showing the correctness of a given algorithm. You also lose a great deal of information during compilation, making reasoning about it more difficult. However, if you happen to be proving correctness over the instruction set you actually intend to run, you get *very* good correctness guarantees, as you don't even need to consider compiler bugs in your threat model. So far, I have experimented with verifying simple algorithms compiled to both RISC-V and WASM32, and have gotten some surprisingly good initial results! LLMs handle writing tedious proofs, and all I do is verify a small set of invariants defining how the code should behave. Interestingly enough, WASM seems to be much easier to reason about, as the instruction set has some higher level semantics, such as local variables and functions. When proving RISC-V, we have to contend with reasoning about things like function dispatch and parameter encoding, which makes life much harder! Anyways, stay tuned for some more updates on this as I try to see just how far we can push this technique!
5
7
119
6,012