gpt4 book ai didi

haskell - 安全执行不受信任的 Haskell 代码

转载 作者:行者123 更新时间:2023-12-02 11:44:53 24 4
gpt4 key购买 nike

我正在寻找一种安全运行任意 Haskell 代码(或拒绝运行不安全代码)的方法。

必须有:

  • 模块/函数白名单
  • 执行超时
  • 内存使用限制

希望看到的功能:

  • 杀死线程的能力
  • 将模块编译为 native 代码
  • 缓存已编译代码
  • 同时运行多个解释器
  • 编译器错误的复杂数据类型(在字符串中插入简单消息)

有了这种功能,就可以实现一个能够运行任意 Haskell 代码的浏览器插件,这就是我的想法。

编辑:我有两个答案,都很好。谢谢!可悲的是,似乎没有现成的库,只有类似的程序。不过,这是一个有用的资源。不管怎样,我想我会等待 7.2.1 发布并尝试在我自己的程序中使用 SafeHaskell。

最佳答案

我们在 lambdabot 中已经这样做了大约 8 年。 ,支持:

  • 受控命名空间
  • 操作系统强制超时
  • 原生代码模块
  • 缓存
  • 并发交互式顶层
  • 返回自定义错误消息。

这一系列规则有文档记录,参见:

lambdabot 采取的安全方法启发了 Safe Haskell语言扩展工作。

<小时/>

有关在 Haskell 中动态扩展已编译 Haskell 应用程序的方法,请参阅两篇论文:

关于haskell - 安全执行不受信任的 Haskell 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com