coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Timothy Carstens <intoverflow AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Safe to download and compile .v from evil source ?
- Date: Sat, 1 Feb 2020 20:08:09 -0800
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=intoverflow AT gmail.com; spf=Pass smtp.mailfrom=intoverflow AT gmail.com; spf=None smtp.helo=postmaster AT mail-lf1-f44.google.com
- Ironport-phdr: 9a23:JZ9lfxF3gWBdkuPrjYa3w51GYnF86YWxBRYc798ds5kLTJ78rs+wAkXT6L1XgUPTWs2DsrQY0raQ7/urBzJIoc7Y9ixbK9oUD15NoP5VtjRoONSCB0z/IayiRA0BN+MGamVY+WqmO1NeAsf0ag6aiHSz6TkPBke3blItdaz6FYHIksu4yf259YHNbAVUnjq9Zq55IAmroQnLucQanIRvJrw+xxbHrXdFeuVbzn5sKV6Pghrw/Mi98INt/ihKp/4t68tMWrjmcqolSrBVEC4oOH0v6s3xshnDQwqP5n8CXWgTjxFFHQvL4gzkU5noqif1ufZz1yecPc3tULA7Qi+i4LtxSB/pkygIKTg0+3zKh8NqjaJbpBWhpwFjw4PRfYqYOuZycr/bcNgHQ2dKQ8RfWDFbAo6kYIQPAegOM+ZWoYf+ulUAswexCBK2C+/z0DJFnGP60bE43uknDArI3BYgH9ULsHnMstv1NaISUeepzKnIzTTIcu1b1i3n6IjTbhAuv/eMXaltesfWyEkvER/FjlKOqYP7JTOV2OANs2+V7ud7WuKvjnQoqwB1ojS12sgsjYzJi5sTx1vZ+yt5x4M1Kse5SE59edOkH5pQtz2aN4trWcwuWX1nuCE/yrAApJW1fzAKxYw5yxLDb/GLaYuF7xL5WOqMIDp1hmhpdb2wihu07EOu0PfzVtOu31ZPtidFksfDtnQK1xHL78iIUPp9/kO41TaL2QDf9/hIIU47mKfUMZIhzbkwlp0csUTHACD6gln5jKiTdkk8++io7froYqn+q5OCK4N5jhvyP6cul8ClHOg1MwoDU3KU9OmzzLHj+Ff2QLROjv04iKnZt5XaKNwapq6/Hw9V1Zgj5AilDzeo1NQYmncGIUlKeBKClYfpOlXOLOrkAve4hlSgiC1ryOzePr39HpXNKWDOn6vmfbZk8kJT1A4zzc1E6J9PEbEAIPfzWlfru9DCDx85NRa0w+f9B9ln2IMeQzHHPqjMO6TL9FSM++gHIu+WZYZTtiyuBeIi4qvSjHo+hV8MNYKgx4ALZXajVqBnJVmef3f2jNMGDk8FuwM/SKrhj1jUAm0bXGq7Q69pvmJzM4mhF4qWHtnx0ozE5z+yG9htXk4DEkqFSC66eICNWvNKYyWXcJc4z240EIO5Qopk7imA8Q/3z709c7jR8ywc8JbtjZ17u7GVmhY1+jh5Sc+a1jPVFjAmriYzXzYzmZtHjwl4w1aH37J/hqUBR9NW7vJNFAw9MMyFwg==
Thanks! That might work; I already wanted to use github.com/ejgallego/jscoq in browser; I haven't checked yet, but if it could give me .vo bytestreams I'd be good to go.
I was also thinking about running jscoq in Node on the backend. That doesn't solve any problems on its own, but it would give me a few layers (such as libuv) where I could reliably catch system calls. Presumably the ocaml platform has something similar but I'm less familiar with its internals. I'll think some more on whether or not there might be a cleaner way to achieve this - let me know if anyone has any suggestions.
Bigger picture:
I'm extremely optimistic about the direction the Coq ecosystem is going.
I think I mentioned earlier that I know everyone is super busy and I recognize that my particular ask isn't a high priority at the moment.
I'm not worried about it long term; many years ago I had stronger concerns, but I've seen some of the changes that have taken place since then. The progress has been outstanding. And even though it's inconvenient for my hypothetical project, I'd rather folks continue their current improvement efforts instead of worrying about this thread.
CertiCoq and "Coq Coq Correct!", in particular, have me very excited. To me, they both represent a drastic maturation of the Coq ecosystem and are sure to open up lots of excellent avenues for integrating Coq and Coq artifacts into other projects.
-t
On Sat, Feb 1, 2020 at 7:45 PM Jason Gross <jasongross9 AT gmail.com> wrote:
If that is the service you want to provide, it's probably better to provide coqchk (which runs on .vo files) rather than coqc (which compiles .v files into .vo). (Unfortunately .vo files are currently specific to the platform, OCaml version, and Coq version used to create them, but this problem should be fixable.). Unlike coqc, coqchk does not run plugin code and does not write to disk, so the only way you get arbitrary code execution is by finding a memory safety bug. Furthermore, there are projects such as CertiCoq and the recent "Coq Coq Correct!" paper which make significant progress towards having a verified implementation of Coq's kernel (though I'm not sure if either project handles the module system yet, though).So while currently I only trust coqc and coqchk for nonmalicious proofs, once it gets to the point that we can replace the guts of coqchk with a proven-correct implementation, then I'll mostly trust coqchk against even malicious proofs. (I say mostly, because there are some parts of Coq, such as the guard checker and the module system and coinductives, where I either don't yet trust the theory to be free from inconsistencies, or where no one has even written up the theory, as far as I'm aware.)On Sat, Feb 1, 2020, 21:51 Marco Servetto <marco.servetto AT gmail.com> wrote:> Also: "put it in a container" doesn't address the other use case I mentioned above: namely, telling people that they can use Coq to certify the safety/correctness of untrusted code.
To make this more explicit:
if there was an online service that gives you "proven correct and safe code1"
and the corresponding coq proof code2; would running such proof be a
valid certification that such code1 is
correct and safe? or, is it possible that during the execution of
code2 arbitrary behavior makes a "yes" result even if the proof in
itself if bogus?
Note how running coq in a container or not does not really change the
issue here.
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, (continued)
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Timothy Carstens, 02/01/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Tej Chajed, 02/01/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, jonikelee AT gmail.com, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Timothy Carstens, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Clément Pit-Claudel, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Timothy Carstens, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, jonikelee AT gmail.com, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Timothy Carstens, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Marco Servetto, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Jason Gross, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Timothy Carstens, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, jonikelee AT gmail.com, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Timothy Carstens, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Jason Gross, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, jonikelee AT gmail.com, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Adam Chlipala, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Théo Zimmermann, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Emilio Jesús Gallego Arias, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Adam Chlipala, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Emilio Jesús Gallego Arias, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Timothy Carstens, 02/03/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, jonikelee AT gmail.com, 02/02/2020
- Re: [Coq-Club] Safe to download and compile .v from evil source ?, Timothy Carstens, 02/02/2020
Archive powered by MHonArc 2.6.18.