Independent notes

heyimusa

Evidence-led notes on safe change, recovery, cloud security, and the systems behind production software.

Latest writing

Browse archive

A package adoption is not a harmless maintenance event when its build recipe can change what executes on an operator’s machine.

In late July 2026, Arch Linux temporarily disabled AUR package adoption after a wave of malicious adoptions and follow-up commits. The immediate story is about Arch users, but the operating lesson is wider: an artifact name is not an identity. A package that was benign last month can acquire a new maintainer, a different source URL, and a build step that runs code before the user has a meaningful chance to inspect the installed result.

I did not install or analyze a malicious AUR package for this note. This is a source-led review of Arch Linux’s public incident communications, not a compromise assessment, malware analysis, or a claim about systems that do not use AUR.

Read article

A cloud provider can remove a platform-wide attack path and still leave every customer with work to prove that their own recovery is complete.

On July 30, 2026, Wiz published CosmosEscape, a report about a critical vulnerability chain in Azure Cosmos DB's Gremlin API. The report says the chain could have produced read and write access across Cosmos DB accounts, including accounts isolated from the public network. Microsoft says it remediated the issue, found no evidence of unauthorized activity beyond the researchers' testing, and says no customer action is required.

That is good news. It is also not the same thing as an account owner having evidence that their Cosmos DB estate is ready for the next credential or isolation failure.

Read article

OpenAI Presence is interesting because it treats agent deployment as an operating model: policies, approved actions, simulations, evaluations, escalation, and controlled updates. I tried to reduce that idea to the smallest artifact I would want to review before an agent touched a business system.

OpenAI announced Presence on July 22 as an enterprise product for voice and chat agents. The headline capability is familiar: answer questions, use company systems, take approved actions, and hand work to a person when needed.

The useful part is the word approved.

A model can write a very convincing sentence saying that it refunded a customer. That sentence does not tell an operator which policy it read, whether the action was allowed, whether someone approved it, whether it ran, or where it ran. It is a conclusion without an audit trail.

Read article

I compared two synthetic GitHub Actions workflows in a locked-down Docker container. Both could build and publish a container image. Only one made the trust boundary obvious in review.

GitHub's 2026 Actions security roadmap is pushing in a useful direction: reproducible action dependencies, policy controls over who can trigger a workflow, and an evaluate mode before enforcement. The common theme is that workflow YAML is security-sensitive infrastructure.

That sounds obvious until a pull request changes three lines and turns a test workflow into a release path.

Read article

A Docker-only smoke test of ingress2gateway against a synthetic Ingress with TLS, HTTP-to-HTTPS redirect, a regex route, and a capture-group rewrite.

ingress-nginx reached retirement in March 2026. The obvious response is to convert manifests to Gateway API and move on.

I do not think that is enough.

An ingress migration changes the way a public request reaches an application. The YAML is different, but the thing worth preserving is a routing contract: which hostnames exist, which paths match, which backend receives them, whether HTTP redirects, where TLS terminates, and which exceptions were carried by annotations.

Read article

Before and after rendered manifests flow into a focused security-impact review

Original diagram for this build note. It shows the tool’s review model, not a production cluster topology.

A Kubernetes pull request can look harmless when the visible change is short: a new RoleBinding, one securityContext field, a route rule, or a service type. The difficult part is that these changes rarely read like the security event they create.

A Role can gain access to Secrets. A workload can begin sharing a host network namespace. A route can make a new hostname reachable. None of that has to look dramatic in a line-by-line diff.

I wanted a small tool that starts from the artifact GitOps teams already review: rendered manifests before and after a change. That became kube-blast-radius, an offline CLI that explains the security-relevant capability or surface added by that change.

Read article

A declared readiness rollout gate disagrees with a Docker Compose healthcheck that calls only liveness

Original diagram for this Docker-only build note. It shows a configuration disagreement, not a production incident.

I kept tripping over the same sentence while writing about health checks: “we gate the rollout on readiness.”

It sounds reassuring. Then you open the deployment file and find a healthcheck that calls /healthz, because that endpoint was easy to add and it returns 200 as long as the process is alive.

Neither file is necessarily wrong on its own. Together, they can tell two different stories.

Read article

Browse by problem

View all topics
Cloud securityIncident recoveryGitOps & deliveryAI agent operationsPlatform engineering