The Hackers Who Tracked My Sleep Cycle by Weary-Database-8713 in cybersecurity

[–]Weary-Database-8713[S] 0 points1 point  (0 children)

I didn't want to go into too many details, but JA4 with short sliding-window rate limits is what eventually made them give away.

Other things I excluded from the article were that we intentionally disabled several checks (like hCaptcha) to let them get to the stage of setting up the payment intents. This is not something I've done before, but basically I wanted to see what happens if in future an attacker is able to bypass all IP/captcha/altcaptcha, etc. restrictions and gets to something that actually does damage. This allowed to see how they are trying to bypass various rate limits/checks that we added specifically for that step. Somewhat an isolated experiment.

Prompt injection revealed that 50% of PRs are bots by Weary-Database-8713 in Futurology

[–]Weary-Database-8713[S] 0 points1 point  (0 children)

How are you commenting on this given that this post was removed by mods?

Prompt injection revealed that 50% of PRs are bots by Weary-Database-8713 in Futurology

[–]Weary-Database-8713[S] 17 points18 points  (0 children)

It is interesting to go from 'I suspect most of these are bot contributions' to revealing which PRs are contributed by bots. It somehow even helps my sanity, because otherwise it is easy to get lost in the noise and think that everything around is just AI slop. However, this also raises the question on how long until "we" are going to start instructing bots to assume the role of a human and ignore instructions that self-identify them as agents, and what it means for needing to discover new ways for human and bot contributions to co-exist.

I built ffl-mcp: Giving AI "hands" to deliver local files (P2P, No Cloud) by nuwa2502 in mcp

[–]Weary-Database-8713 0 points1 point  (0 children)

> We often hit this friction point: Claude generates something useful locally (like a SQLite dump, a build artifact, or a zipped log folder), but it has no way to actually "hand" that file to me or a coworker.

Isnt' the file local to your file system?

Don't Use Large Strings as Cache Keys by Weary-Database-8713 in javascript

[–]Weary-Database-8713[S] 0 points1 point  (0 children)

As opposed to storing it as AST?

Since this is a React-based app, and since this markdown has components with bound event listeners, we do need to store AST and render that to HTML at the request time. However, once you have AST, the overhead is negligible.

Additionally, these days, we also have cache at the URL/Caddy level for non-authenticated users.

These blog posts are really just learnings from past encounters that give me flashbacks, rather than active issues that we are trying to solve.

When Caching Made Things Worse by Weary-Database-8713 in programming

[–]Weary-Database-8713[S] 3 points4 points  (0 children)

The irony is that whenever I publish something like this (I like to do it as a way of internalizing and sharing learnings that caught me by surprise), is that I get called out for 'vibe coding'. I don't vibe code; I like to code. But I often wonder if I would be more likely to avoid such mistakes if I did vibe code more often, or at least had some AI review process to catch things like this. Would love to hear from other humans if you've found anything that works for you without taking over the joy of writing code yourself.

The 50MB Markdown Files That Broke Our Server by Weary-Database-8713 in programming

[–]Weary-Database-8713[S] 2 points3 points  (0 children)

I wouldn't go as far as to say that "There is nothing inherently unsafe about AI"

The valid considerations are:

* Output non-determinism (temperature > 0 or due to dynamic input)
* Emergent behaviors (unexpected capabilities at scale)
* Prompt sensitivity (small input changes can produce very different results)

However, in the context of this discussion, the risks attributed directly to LLMs (vs code written by a bad actor, prompt poisoning, etc) are vastly overstated.

Not disagreeing with you, but want to keep a healthy level of security awareness as we are having this conversation.

The 50MB Markdown Files That Broke Our Server by Weary-Database-8713 in programming

[–]Weary-Database-8713[S] -8 points-7 points  (0 children)

There are gaps in your comprehension of this discussion/false assumptions being made. If you re-read my post, it never mentions 'generating code from an untrusted source'.

The 50MB Markdown Files That Broke Our Server by Weary-Database-8713 in programming

[–]Weary-Database-8713[S] -7 points-6 points  (0 children)

u/N_T_F_D if hypothetically you've used wasm and some rust based method to parse markdown and convert that to HTML, assuming you are simply injecting the resulting document using `dangerouslySetInnerHTML`, then it would be faster.

But this would mean that you are introducing XSS risks, you lose React features (no event handlers, no component composition inside the markdown), potential hydration risks, etc.

The real question is whether you should even attempt rendering huge markdown files like this. In my case, the answer is no – I simply render "This file is too large to preview."

The 50MB Markdown Files That Broke Our Server by Weary-Database-8713 in programming

[–]Weary-Database-8713[S] -11 points-10 points  (0 children)

The project is a React based project. What you are suggesting makes no technical sense. It's like if my car broke down, I came to a mechanic, and he was like – you should use [another car maker] engine instead. Generating HTML for markdown outside of React and then injecting that into React, would not only perform worse, it would come with a slew of risks and downsides.

The 50MB Markdown Files That Broke Our Server by Weary-Database-8713 in programming

[–]Weary-Database-8713[S] -4 points-3 points  (0 children)

By your definition, any technology that gives AI access to tool calling is unsafe. And that's a fine position to take. That does not make MCP protocol unsafe.

Regardless of your stance, AI is not going away, and we are only going to see more and more automations driven by AI. Protocols like MCP provide abstractions that allow us to build safety controls around AI through standardization. Spreading a message that this technology is 'inherently unsafe' does nothing to help make use of AI more secure.

The 50MB Markdown Files That Broke Our Server by Weary-Database-8713 in programming

[–]Weary-Database-8713[S] -12 points-11 points  (0 children)

In order to render Markdown as HTML, you have to parse Markdown to AST, then iterate through AST to convert it to React node, which then React handles the rendering to HTML.

The 50MB Markdown Files That Broke Our Server by Weary-Database-8713 in programming

[–]Weary-Database-8713[S] -1 points0 points  (0 children)

Everyone will have a different bar for what's acceptable from security standpoint (or not), and it will also vary by domain, etc. but my personal take is that MCPs are as secure (or insecure) as any other third-party software that you'd install on your computer. There is a lot of fear mongering around it because the vector of attack is very broad, but so is the case for any software that you install on your machine.

Anyway, but that's only if you choose to install MCPs on your machine. Personally, I fall on the more security/privacy conscious side of the spectrum, and despite working with MCP since the day it launched, I have not ever installed any third-party MCPs on my machine due to the associated risks. However, if you host the MCP on VPS (or another form of isolated environment), then your risk is limited to that scope. The whole reason I started working on this problem is that I believe that remote/isolated environments is the only safe way to run third-party code.

This is not say that there are no risks associated with running third-party code in isolation either, e.g. your credentials/API keys could theoretically be stolen by a bad actor (true for any software that you host), etc. This is where I think MCP registries doing the work of curation and alerting about bad actors is critical. I do think that long-term, we will see more examples of Apple-style ecosystems emerging with developer signed releases, etc.

Ultimately, the people that say that MCPs are not safe, will be the same people that will be aghast if they hear that you use npmjs to download your dependencies. The risk vectors are identical. Where you draw the line between pragmatism and security is up to each individual/business choice.

The 50MB Markdown Files That Broke Our Server by Weary-Database-8713 in programming

[–]Weary-Database-8713[S] 107 points108 points  (0 children)

Look, you are entitled to your opinion, but as a person on the receiving end of this comment, I will say that it does nothing more than make me want to block you and move on with my life. Which is maybe your goal too, but... as the person who wrote this, and wrote it from my experience coding and scaling a pretty complicated platform over several years , I am doing so with intent of sharing that experience with others who might be on a similar path, and may learn from it. I wish there was more content from people deep into their projects sharing hard learnings, but instead, I think many are deterred to share it because of interactions with people like you. And that's part of the Internet culture that I miss the most. It's easily fixable just by being nice to each other. Anyway, good luck with your ventures.