烂:肯·汤普森(Ken Thompson)关于将信任作为微型Lisp编译器的思考的演示

时间:2024-02-21 07:34:19
【文件属性】:

文件名称:烂:肯·汤普森(Ken Thompson)关于将信任作为微型Lisp编译器的思考的演示

文件大小:26KB

文件格式:ZIP

更新时间:2024-02-21 07:34:19

lisp compiler trusting-trust quine CompilerPython

烂 Rotten是一个小型的自托管Lisp,旨在探索Ken Thompson的的 。 简而言之 Rotten编译为简单的抽象机(“ VM”)。 VM是在实现的。 现在也有了Python的原型实现! 从Rotten到VM代码的编译器是。 烂真的很小! Rotten是一个非常简单的Lisp,它针对非常高级的虚拟机,因此其实现非常小: 文件 LOC 描述 编译 〜70 编译器 虚拟机 〜100 VM解释器 代表 〜70 代表及其他便利 总: <250 有存储库中的其他文件,但他们大多是不必要的,除了compile.rotc (的编译版本compile.rot ) -这是需要引导! 烂烂中的信任 Rotten以肯·汤普森(Ken Thompson)的的 )的名字命名,这表明恶意编译器可以无形地危害到它所编译的任何程序,包括其本身! 这导致了一个很难检测到的错误。 Rotten包含(轻度)恶意编译器evil.rot ,它会在编译编译器(例如compile.rot时evil.rot通知, evil.rot其中注入自我传播的病毒。 这里最有趣的问题是对病毒的:要自我传播,病毒需


【文件预览】:
rotten-master
----vm.rkt(4KB)
----quines.rkt(3KB)
----project.clj(164B)
----design.org(621B)
----rotten.rkt(3KB)
----compile.rot(2KB)
----vm-design.md(3KB)
----repl.rkt(2KB)
----rotten.rot(2KB)
----vm.py(6KB)
----vm.clj(3KB)
----infected.rotc(13KB)
----sexp.py(5KB)
----.gitignore(93B)
----evil.rot(5KB)
----presentation.org(2KB)
----compile.rotc(8KB)
----README.md(10KB)
----repl.py(3KB)
----pylintrc(196B)

网友评论