<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: legobeet</title><link>https://news.ycombinator.com/user?id=legobeet</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Apr 2026 20:35:57 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=legobeet" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by legobeet in "Zed: SSH Remoting Is Here"]]></title><description><![CDATA[
<p>I'm going the container route. To get the full seamlessness you're alluding to (easily switch between multiple parallel environments; easy migrations) still requires some additional features but perhaps you can find some inspiration.<p><a href="https://github.com/legobeat/l7-devenv">https://github.com/legobeat/l7-devenv</a><p>E.g.<p><a href="https://github.com/legobeat/l7-devenv/pull/144">https://github.com/legobeat/l7-devenv/pull/144</a><p><a href="https://github.com/legobeat/l7-devenv/pull/153">https://github.com/legobeat/l7-devenv/pull/153</a></p>
]]></description><pubDate>Thu, 31 Oct 2024 09:17:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=42004858</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=42004858</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42004858</guid></item><item><title><![CDATA[New comment by legobeet in "Flox, a better alternative to Dev Containers"]]></title><description><![CDATA[
<p>In a similar vein but still containers and a bit more targeted: <a href="http://github.com/legobeat/l7-devenv">http://github.com/legobeat/l7-devenv</a><p>I daily-drove NixOS for a few years and philosophically very much vibe with the foundational ideas. Gave up on it because it was too much involved in getting productive with writing and maintaining nix configurations.</p>
]]></description><pubDate>Fri, 25 Oct 2024 15:37:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41946294</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=41946294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41946294</guid></item><item><title><![CDATA[New comment by legobeet in "Ask HN: Pragmatic way to avoid supply chain attacks as a developer"]]></title><description><![CDATA[
<p>A defense-in-depth approach with a special eye to compartmentalization/separation/sandboxing coupled with principle-of-least privilege is a good stance to take, I think. Also keep in mind that "security is a process, not a product". There is no silver bullet no tool will save you from yourself...<p>With this in mind:<p>- <a href="https://qubes-os.org" rel="nofollow">https://qubes-os.org</a> - Use separate VMs for separate domains. Use disposable VMs for temporary sessions.<p>- <a href="https://github.com/legobeat/l7-devenv">https://github.com/legobeat/l7-devenv</a> - My project. Separate containers for IDE and (ephemeral) code-under-test. Transparent access to just the directories needed and nothing else, without compromising on performance and productivity. Separation of authentication token while transparent to your scripts and dev-tools. Editor add-ons are pinned via submodules and baked into the image at build-time (and easy to update on a rebuild). Feedback very welcome!<p>- In general, immutable distros like Fedora Silverblue and MicroOS (whatever happened to SUSE ALP?) also worth considering, to limit persistence. Couples well with a setup like the one I linked above.<p>- Since you seem to be in a Node.js context, I should also mention @lavamoat/allow-scripts (also affiliated via $work) as something you can consider to reel in your devDeps: <a href="https://github.com/LavaMoat/LavaMoat/tree/main/packages/allow-scripts/">https://github.com/LavaMoat/LavaMoat/tree/main/packages/allo...</a></p>
]]></description><pubDate>Mon, 19 Aug 2024 09:06:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=41289246</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=41289246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41289246</guid></item><item><title><![CDATA[New comment by legobeet in "Canarytokens: Honeypot for critical credentials, get notified when they are used (2015)"]]></title><description><![CDATA[
<p>What I am proposing is something you'd run on your independent workstation to interface with existing heterogeneous services and peers.<p>While you certainly can run Vault and Boundary independently, they are more designed to be deployed across an organization. Setting them up is anything but seamless - by design. Again, I think they can be complementary. Adding a Vault component to l7-devenv is a thought that came up before but I'll probably wait until popular demand before making anything public there. If you already have a setup it should not be too tricky to integrate, I think.<p>If you squint closer I think you can start seeing even more parallels to HC solutions but that is more because none of these patterns are really fundamentally new but the building blocks of we've all been doing for decades. It's just new clothes and ways to make things play together nicely (xkcd 927). And hopefully we can bring these strategies like mTLS to new audiences and bring down barriers for adoption of secure practices in general.<p>> no proxy<p>Look again ;) (Envoy)</p>
]]></description><pubDate>Tue, 30 Jul 2024 16:13:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=41110738</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=41110738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41110738</guid></item><item><title><![CDATA[New comment by legobeet in "Canarytokens: Honeypot for critical credentials, get notified when they are used (2015)"]]></title><description><![CDATA[
<p>Sure, but they are only usable as such if attackers also maintain access to the proxy and stay under the radar. Additionally, the proxy has logging and hooks for monitoring  so you can audit and filter usage there.<p>As opposed to something which can be smuggled out and reused offsite.<p>I'm also thinking that by centralizing (still locally) the configuration, we can get better key rotation hygiene habits without needing to compromise on credential granularity .<p>Just like there are security benefits in using a secured HSM instead of a world-readable private-key file stored in your unencrypted home directory, even if, yes, the HSM can be abused by a locally privileged attacker.<p>(I'm definitely not saying I have a silver bullet though, and I don't think one exists. Like any realistic solution, it should be part of a defense-in-depth strategy. Things like hardware keys make for incremental gains, etc)</p>
]]></description><pubDate>Tue, 30 Jul 2024 15:35:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=41110186</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=41110186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41110186</guid></item><item><title><![CDATA[New comment by legobeet in "Canarytokens: Honeypot for critical credentials, get notified when they are used (2015)"]]></title><description><![CDATA[
<p>The next step is to actually use underprivileged canary tokens on the client for your day-to-day work, intercept them with a proxy, and replace them with the real deal in a more isolated setting.<p>For example, an application-specific HTTP proxy for your GITHUB_TOKEN. You can use a canary token for the internal user-facing auth. <a href="https://github.com/legobeat/git-auth-proxy">https://github.com/legobeat/git-auth-proxy</a> [0].<p>That piece is being used here[1] in order to make it transparent for the user and I intend to add more features there for credentials- and secrets compartmentalization. Been keeping it fairly structured so you could also use it as a reference if you ever do similar stuff and want some inspiration or copypasta for your personal hacking.<p>[0]: Caveat: The proxy repo is a fork and the documentation is still more reflective of the previous owners intentions. I ripped out all the Azure/k8s integrations.<p>[1]: <a href="https://github.com/legobeat/l7-devenv/">https://github.com/legobeat/l7-devenv/</a></p>
]]></description><pubDate>Tue, 30 Jul 2024 15:21:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=41110019</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=41110019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41110019</guid></item><item><title><![CDATA[New comment by legobeet in "Bashsimplecurses: Simple curses library made in bash to draw terminal interfaces"]]></title><description><![CDATA[
<p>mprocs is worth checking out!<p><a href="https://github.com/pvolok/mprocs">https://github.com/pvolok/mprocs</a></p>
]]></description><pubDate>Sun, 28 Jul 2024 07:42:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=41091818</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=41091818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41091818</guid></item><item><title><![CDATA[New comment by legobeet in "Show HN: I made a tool to HTTPS your localhost"]]></title><description><![CDATA[
<p>Here's a batteries-included local-first dev-environment which does that in order to compartmentalize your credentials:<p><a href="https://github.com/legobeat/l7-devenv">https://github.com/legobeat/l7-devenv</a><p>Something like Lokal might till be useful here to facilitate remote collaboration by providing a tunnel (ie I can connect to your local session behind NAT without you opening ports or connect to VPNs etc).</p>
]]></description><pubDate>Sun, 21 Jul 2024 17:23:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=41026551</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=41026551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41026551</guid></item><item><title><![CDATA[New comment by legobeet in "Zed Editor automatically downloads binaries and NPM packages without consent"]]></title><description><![CDATA[
<p>The security side of free editors and IDEs is not great anywhere today for JS development. Once you start wanting more features and integrations, you start facing an apparent choose-any-2 of security, convenience, and productivity.<p>I don't think it has to be this way. I think we can have both better compartmentalization and tighter workflow integration without having it becoming a part-time job.<p>Here is my ongoing attempt at addressing the issue, currently scoped for neovim[0]:<p><a href="https://github.com/legobeat/l7-devenv">https://github.com/legobeat/l7-devenv</a><p>(I did share this to crickets as a Show HN the other day, hope it's on-topic enough to OK to reshare here)<p>[0]: The same framework should, at least in theory, be extensible to do something similar with Code/VSCodium. While working on this I realized there is some overlap with their Dev Containers and am yet to look into if and how one would run those in a similar fashion and if they could be leveraged to the same end</p>
]]></description><pubDate>Mon, 08 Jul 2024 12:10:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=40904664</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=40904664</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40904664</guid></item><item><title><![CDATA[Show HN: Containerized security-focused terminal IDE  - de aka l7-devenv]]></title><description><![CDATA[
<p>Hi HN,<p>l7-devenv, or `de` for short[0], is a containerized terminal-based IDE using rootless Podman, neovim and friends, and proxying of network requests and sockets.<p>IMO, the security story around most widely used code editors is not great today. Security, convenience, and productivity appear to be pick-any-2 when fundamentally I believe they don't have to be in conflict.<p>`de`  takes a critical look at the software and secrets used for day-to-day development and compartmentalizes them using containers. For example, you can connect seamlessly to authenticated GitHub endpoints without leaking your production token while LSPs and package scripts are run in separate ephemeral containers. It also provides features and integrations to make the developer experience more productive and joyful, with a current focus on Node.js development[1], GitHub, and web3.<p>The main and integrated editor is neovim. No plugin manager is used; instead plugins are installed natively from git submodules and bundled into the image.<p>This is currently in a prototype stage[2] and driven by internal needs. It derives heavily from existing community efforts (<3).<p>You will find this relevant if you want:<p>- To be using neovim for Node.js development and collaborating on github.com<p>- Separate your developer credentials from your editor and code-under-test<p>- More control of your https requests[3]<p>- Something more secure than distrobox but more lightweight and seamless than QubesOS (<3)<p>- More terminal joy and less waiting at requests to load for your routine code review workflows<p>- Some inspiration for your own setup<p>---<p>[0]: Names WIP<p>[1]: While current focus is catering to JS/TS devs, it should be straightforward to add your own runtimes and buildtimes. There is an example for golang in there if you look around.<p>[2]: Provided as-is, currently no guarantees given regarding actual security, etc. In particular, the proxied container socket used to spawn side-containers could definitely use some tightening down.<p>[3]: The TLS MitM is already done and redirecting the current proxy to something like mitmproxy should be trivial for the motivated</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40871782">https://news.ycombinator.com/item?id=40871782</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 04 Jul 2024 02:08:45 +0000</pubDate><link>https://github.com/legobeat/l7-devenv</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=40871782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40871782</guid></item><item><title><![CDATA[SSH as a Sudo Replacement]]></title><description><![CDATA[
<p>Article URL: <a href="https://whynothugo.nl/journal/2024/06/13/ssh-as-a-sudo-replacement/">https://whynothugo.nl/journal/2024/06/13/ssh-as-a-sudo-replacement/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40763117">https://news.ycombinator.com/item?id=40763117</a></p>
<p>Points: 230</p>
<p># Comments: 111</p>
]]></description><pubDate>Sat, 22 Jun 2024 23:14:59 +0000</pubDate><link>https://whynothugo.nl/journal/2024/06/13/ssh-as-a-sudo-replacement/</link><dc:creator>legobeet</dc:creator><comments>https://news.ycombinator.com/item?id=40763117</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40763117</guid></item></channel></rss>