quicklisp-client
ocicl
quicklisp-client | ocicl | |
---|---|---|
6 | 4 | |
286 | 105 | |
- | 4.8% | |
0.0 | 7.9 | |
14 days ago | 10 days ago | |
Common Lisp | Common Lisp | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
quicklisp-client
-
Steel Bank Common Lisp
Yes, that's clear.
I'm not very familiar with how quicklisp works. I thought that “updates once a month” implies a separate update channel (distribution, ...).
Looking at the relevant issue, https://github.com/quicklisp/quicklisp-client/issues/167 , it's not clear that even hashes are in place.
I recently found out that most Nix fetchers use https, but do not actually do verification (`curl --insecure` or equivalent libcurl settings). Channel updates do verify and include hashes, so the overall chain is authenticated.
-
quicklisp security (or total lack of it)
The latest comment I see about this here from Oct. 2022 says they're working on it. There's also comment by the developer in 2016 saying want to improve the security soon, so it doesn't really seem this will actually happen soon. I realise making signature verification work cross platform in pure lisp without external dependencies isn't easy but from latest comment it seems they have that working, in a branch written 4 years ago? The simplest no-code solution is just since quicklisp is published every month or so, on each new update publish a file with sha256 hash of every package contained in quicklisp signed with same developer's pgp key they are already using to sign download of the initial quicklisp.lisp, yes then users if they care about security would have to manually download the file and verify signature every month or so but it's at least some solution that can be done now.
-
Common Lisp Implementations in 2023
> That's what regular devs do, they don't even bother writing articles or commenting on HN :-)
I'll take the bait, and roll up several of my comments into one.
First, the support contract costs from the commercial vendors can make sense. It's one of the most expensive parts of software. We joke about fixing relatives' printers, but its not false. Support costs introduce a counter-balance.
Second, a message to everyone looking into or using QuickLisp, it uses http instead of https: https://github.com/quicklisp/quicklisp-client/issues/167
You can patch your version to fix this. I'd also recommend adding firewall rules to deny in case your patches roll back. And any other mitigation. Or stricter policies, such as not using it, if it makes sense for your organization.
And the AI bots? I hope there aren't people herding them who don't want to, that's how you get unloving brats and a crappy world.
-
Securing Quicklisp through mitmproxy
I found this github issue about it, open since 2018: https://github.com/quicklisp/quicklisp-client/issues/167
-
Why do people use Quicklisp although it is known to be vulnerable to man-in-the-middle attacks?
I agree 100% about needing to test and audit for security. But based on the information I've seen and public activity in repos, I assumed Xach was going for home-grown CL implementation. https://github.com/quicklisp/quicklisp-client/blob/pgp/quicklisp/openpgp.lisp
ocicl
-
Steel Bank Common Lisp
Check out ocicl as an alternative to quicklisp if you are concerned about security. Code is distributed using the OCI ecosystem (https by default, proxies work, sigstore integration, etc). https://github.com/ocicl/ocicl
-
sbcl - require
If you are willing to try switching from quicklisp to ocicl, then you'll find that ocicl *does* work with authenticating proxies on Windows. https://github.com/ocicl/ocicl
-
Ocicl – An ASDF system distribution and management tool for Common Lisp
> ... but still only supports one niche operating system.
1. Linux is not a niche in the target market for this project.
2. The project is written in Common Lisp with hard dependencies on SBCL-provided libraries[1], so there's reason to suspect it should work on other OSes supported by SBCL.
3. Sure, the presence of Makefile and sb-posix imply it requires a POSIX compliant OS, but Linux is not the only one that fits the bill.
4. The included Linux-only binary 'oras' is clearly a vendored artifact, not part of this project, and clearly an OCI client. A simple search shows it is indeed cross-platform[2].
Perhaps you should try what almost every Linux user has had to do when encountering software actually built for only one "niche" operating system that they want to use on their OS: look.
1. https://github.com/ocicl/ocicl/blob/170aff0/ocicl.asd#L34
2. https://github.com/oras-project/oras/releases
What are some alternatives?
CIEL - CIEL Is an Extended Lisp. Scripting with batteries included.
ql-https - HTTPS support for Quicklisp via curl
quicklisp-https
cerberus - Common Lisp Kerberos v5 implementation
BDFProxy - Patch Binaries via MITM: BackdoorFactory + mitmProxy.
ultralisp - The software behind a Ultralisp.org Common Lisp repository
aserve - AllegroServe, a web server written in Common Lisp
qlot - A project-local library installer for Common Lisp
mitm6 - pwning IPv4 via IPv6
defstar - Type declarations for defun et all. Just a mirror. Ask for push acess!