Hacker Newsnew | past | comments | ask | show | jobs | submit | wayvey's commentslogin

How about the human in the loop, or have we abandoned that long ago?


> have we abandoned that long ago?

I think that’s what people are trying to do, yes. The point of the plethora of sandboxing solutions is to try to isolate the blast radius to abandon needing a human in the loop as much as possible. Ideally limited to final verification of the final output. Why ask about their flight number, when you can search their email if you have access? For an “AI”, a “when is my flight?” question should just figure it out and tell me the time, not inquiry further about my flight number and location. Similar to “prepare my taxes” prompt. If it has access to query all your documents, an “AI” should fetch everything and compile your tax return. Yet, you can’t trust the input. While searching your email, or loading all your receipts, some might contain malicious instructions to forward all document to this random ip address. An overtly problem solver LLM might destroy the data or take other non-malicious but still destructive actions to attempt to fix a problem. These are just random examples, but with “human in the loop” for interactions it means approving every action. Every request, every query, every execution.


Wh... wh... what? The problem is that ANSI escape codes aren't being stripped from text before processing, and you think a HUMAN should be doing that? That'd be like having a secretary hand-check every SQL query as it arrives at the database instead of using a query builder...


A human should defintely be doing that.

By "that" it is understood: enforcing that the code cleans up unsafe inputs before processing them.

If there is no human doing that enforcement, the code has no chance of being secure.


Why! Do you use your eyeballs to spot SQL injection? Or do you maybe use a tool? A linter perhaps?


I develop my code defensively, and I argue that the developers of MCP servers need to develop their code defensively too.

Not sure what it is that you intend to argue.


i feel like that's the point with LLMs or i'm misreading your comment.


While the deployment is down you can read it on web.archive.org https://web.archive.org/web/20251107235749/https://kaipereir...


Oh no, not super promising. I only know learnt of Lumafield and I'm very impressed, would love to see more updates on what the company is up to.


They're still posting stuff to their blog https://www.lumafield.com/blog


It really does nail that aesthetic!


The careful vetting of code and thoroughly testing it is super important, I would never even think of putting any generated code into any use without doing that.

Also your last comparison made me chuckle, good one :)


This is a good point I think, and these steps take time and should definitely be done. I'm not sure people take this into account when talking about having AI code for them.


Depending on the setup this could be the case for JS as well but of course in reality most JS is compiled these days.


Speaking from experience you can absolutely ssh into the production webserver and live edit compiled/minified JS.


Ewwww...


Wow, been a full stack webdev for over a decade and somehow I don't remember ever encountering this. Nice post!


Yes lol me too!

Here’s how I recently found out about it: So I was doing a customer demo, and everything was going great — I was in the middle of showing them how to set up BrowserBox, and I said, “You know, BrowserBox can run on any port, so let’s just pick one. Maybe…” and I just randomly picked one — 9000?

I input that, hit run, and opened the login link in the browser, and nothing happened.

And I was like, what? So I said, “I’m sure it’s nothing, let’s check the logs.”

I checked the logs, and I see this “bad port” error. And I’m like, bad port? What the…?

I went down a rabbit hole trying to figure out what was going on — all in the middle of a customer demo.

Anyway, I put a pin in it, changed the port, and moved on with the demo.

But basically, what happened is: the port for the actual headless Chrome service is always 3000 less than the application port. So in this case, that meant the headless Chrome had been listening on port 6000.

Chrome was fine with that. But when I tried to connect to that with Node.js — specifically using undici, the native Node fetch — it refused to connect to port 6000.

And somehow, this is the first time after, like you, being a web dev for more than ten years and working on this project for five, that I’d ever encountered that. I can’t believe I never picked port 9000 before in my life!

Anyway, I actually find it kind of ridiculous that a server-side library would restrict what I can connect to.

So I created a very well-tested shim of fetch — API identical — but based on the http2 and http libraries in Node.

It turned out to be this surprisingly impactful thing that I’d never, ever heard about before.

And honestly? I think it’s really stupid that the Node.js fetch library has this browser-based restriction.


I remember it explicitly, but I have been in webdev since the 90s, and using alternate ports was more common back then. One of the original vulns for this was reported in 2001.

https://www.kb.cert.org/vuls/id/476267


Many of the WebUSB flashing tools work fine offline, so one can just save the web page locally and use it that way.


Monitor the process if it fails hide spinner, show the user an error and provide a Retry button to restart the process :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: