RSSAmplifier

Blog

chrisbeckman.dev

Security insights, technical tutorials, and leadership lessons from Chris Beckman. Learn about AI security, network engineering, and building resilient systems. Practical advice for developers and security professionals.

/RSS feed ↗14 posts

Latest posts

Build, don’t stack

Earlier in my career I was at a small startup. We were in a planning session, talking through how a piece of our deployment should be built and maintained over time. A senior engineer I worked with had a strong math background and cared about precise definitions. When I used the word idempotent to justify a design choice, he paused and asked me to define it. I cannot be held responsible for the…

Look ma, no secrets manager

There’s a moment in every serious project where your deploy gets blocked on one question: “Where do the secrets live?” This post covers the most straightforward bootstrap approach I’ve found: encrypted secrets directly in git. No servers. No cloud key service. No chicken-and-egg problem. Just quick, practical secrets encryption.

More gears, same rider: Using AI coding assistants without losing control

AI coding assistants are like an extra gear on a bicycle: they help you go faster but don’t replace the rider. This post explores the hidden patterns, from backwards compatibility obsession to test regression and security gaps, and how to stay in control.

The static risk fallacy

I came to security from law school, where risk is framed as liability. Liability, at least as I was taught it, is always about totality. It’s about the portfolio, not the one-off. No one I worked with in my internships or in school ever said, “let’s approve each individual legal risk and not worry about the whole.” You always consider the overall facts. In security, I keep seeing the reverse. We…

Advice for high school students about LLMs

A former colleague asked me to provide advice to high school students about LLMs. Here’s what I told them about navigating this transformative moment in technology while avoiding the hype and protecting their future.

The babysitter problem

My Hugo blog’s front page suddenly started displaying every page instead of just blog posts. Rather than fix it myself, I decided to test Claude’s debugging capability. What followed was a hilarious descent into AI debugging chaos that taught me more about LLM limitations than Hugo templates.

How to configure OPNsense multi-WAN failover

Home internet has always been important to me — and these days, it’s basically a production environment. I use OPNsense as my firewall. It’s open source, wildly capable, and flexible enough to run on anything from a mini PC to a rack-mounted box. With two ISPs and a few smart rules, I built out per-VLAN WAN failover: every VLAN gets a preferred WAN and a fallback, with automatic switching if one…

Can you trust your friendly neighborhood LLM?

Hallucinations in large language models (LLMs) are no longer a niche concern. With real-world incidents causing significant damage, the question remains: can you trust an LLM?

You should be hiring artists for security roles

During the early web era and into the 2010s, tech was full of self-taught developers, career switchers, and people from art, music, and journalism. Some of the best engineers I’ve worked with came from that world. They didn’t have CS degrees, just curiosity, tenacity, and the ability to build. 1 This wasn’t unusual. As one Reddit thread recalls, “if you could spell HTML, you got…

Vibe code summer: what we learned when AI IDEs went mainstream

Here in mid-2025, AI IDEs feel magical. Describe a feature, accept the suggestion, and watch the code fly. Boilerplate vanishes. Flow state comes easy. But, like brat summer, the high might already be behind us — and we’re only just noticing. Teams are starting to wake up to the cost: slower reviews, subtle bugs, and code that looked polished but hid structural debt. Six dark patterns are…

Running large language models at home with Ollama

Just a few years ago, in the early days of Large Language Models (LLMs), I tried running them locally. Even with a high-end gaming GPU, the results were underwhelming – responses were slow and barely coherent. Things have changed. Thanks to a process called quantization 1 and a lightweight wrapper called Ollama, 2 you can now get genuinely useful results on a single laptop. 3 If you happen to own…

When data is code: the control-plane collapse in LLMs

Unlike traditional systems, Large Language Models (LLMs) don’t have the ability to keep a technical separation between control logic and user data. 1 They’re trained only to predict the next token, with no metadata about source or privilege. 2 When a user manages to add new instructions into the prompt, the model treats them with the same authority as the original system message. This…

Vulnerability ownership

Security vulnerabilities don’t belong to anyone — until they do. 1 They live in the gaps between bad code, flawed design, and third-party dependencies. They’re valuable to attackers, expensive for defenders, and risky for businesses. We pay bounties to find them, engineers to fix them, and incident responders when we don’t. 2 But internally, the hardest part isn’t detection…

Prompt injection

Note: This content is adapted from a LinkedIn Post I made back in December 8th, 2022, and appears here with a few changes to add context. Prompt injection attacks happen when an ML language model has been given a prompt before being presented to the user, but the user can negate it. For example, imagine a language model has been asked to translate from French to English as part of an application.…