It's not radical.
It's obvious.
We're missing a big piece of security right at the entrance. We've been hanging out season passes (static creds) to kids with backpacks full of who knows what.
We can check those bags. We have the technology.
Check the Bag: The Meme You Cant Unsee
Old security: “Check IDs.”
New security: “Check IDs and the bag.”
The meme is the message. We don’t just ask who is calling our systems—we open the bag and prove what’s inside. And that bag must contain only policy-approved tooling, cryptographically attested, no surprises, no freebies.
Call it EnvSecOps if you want a name. Practically, it’s the painfully obvious next step:
No attested, policy-approved bag → no token.
What “the Bag” Actually Means
- The bag = the execution environment: image, toolchain, configs, helper scripts.
- Policy-approved = explicit allowlist: pinned digests, permitted binaries, known configs.
- Attested = cryptographically proven: signed statements that the environment only contains those allowed artifacts.
If anything unapproved is in the bag? Deny.
If the bag can’t prove itself? Deny.
No vibes. No :latest. No “temporary” helper scripts.
You still keep IAM, SCPs, runtime sensors. The shift is earlier:
Tokens exist only after the bag proves it contains nothing except what policy allows.
Why This Is Obvious (And Superior)
- Prevention beats monitoring. If a tool isn’t approved, it never rides inside a token.
- Deterministic access. Evidence → policy → token → go. No ticket tennis.
- Audit that speaks English. Every token says: “Issued because this bag (hash X) matched that policy (ID Y) at this time.”
Here’s a sharper, more ruthless version — same facts, same events, same message, just delivered with more bite and clarity.
Why This Matters Right Now
Look at the pattern in recent breaches:
- CircleCI (2023): Malware on laptop → stolen session → production access
- LastPass (2022): Compromised home PC → vault extraction
- Okta (2024): Personal device → customer tenant access
Same root cause every time:
We obsess over who someone is while never verifying what they’re running from.
It’s the equivalent of checking IDs at the door while ignoring the backpack stuffed with explosives.
Real scenario (CircleCI, 2023):
- Malware on an engineer’s laptop grabs a session cookie
- Cookie is valid — bypasses MFA, identity checks, everything
- Attacker walks straight into the CI system
- Extracts production secrets, compromises customer environments
- Postmortem: lots of shocked faces, very few surprises
And now organizations are bolting LLM agents directly onto production systems, with tool-calling turned on, running from environments that could charitably be described as “unmonitored optimism.”
Agents don’t magically become secure because you added a guardrail prompt.
They inherit whatever chaos is in their runtime environment — usually hope, drift, and the ghosts of abandoned dependencies.
The irony?
The tech to fix this has existed for years — SPIFFE for workload identity, Sigstore for signing and verification, OPA for real-time policy enforcement.
CNCF graduated, production-ready, already deployed at hyperscale.
The only open question is whether you adopt this before your breach… or after you’re writing the apology blog post.
The Absolute Minimum
-
Pin one tool - Replace
FROM ubuntu:latestwithFROM ubuntu@sha256:abc123... -
Verify it - Add
cosign verifybefore using it - Gate on it - Don't issue credentials unless verification passes
That's it. That's the nucleus.
Everything else (SPIRE, OPA, SLSA) is scaling that pattern.
Field Rules (Pin These)
- Minutes, not hours. Long-lived = stolen-lived.
- Only approved tooling. If it’s not on the list, it’s not in the bag.
- No drift. Changing the bag means re-attesting or getting denied.
- Humans ≈ workloads. MFA is a signal, not a hall pass.
- Policy before platform. Declare issuance conditions; automate enforcement.
- Boring by design. Deterministic gates beat heroics and dashboards.
Starter Kit
For attestation: Sigstore (Cosign + Rekor)
- Why: Free, open, CNCF-graduated, works today
- Alternative: in-toto if you need custom attestation predicates
For identity: SPIFFE/SPIRE for workloads, OIDC for humans
- Why: Industry standard, integrates with everything
- Alternative: Cloud IAM if you're single-cloud only
For policy: OPA
- Why: Flexible, testable, huge community
- Alternative: Cedar if you're deep in AWS
The pattern is the product. Tools are replaceable; the gate is not.
The Line to Use in Every Review
“Once prod creds are issued to an environment, that environment is prod.”
So check the bag—and prove it only contains what policy allows—before issuing the wristband.
Call to (Obvious) Action
- Replace one
:latestwith a pinned, approved base image and sign it.
# 1. Get the digest
docker pull ubuntu:22.04
docker inspect ubuntu:22.04 --format='{{.RepoDigests}}'
# Output: ubuntu@sha256:abc123...
# 2. Update your Dockerfile
FROM ubuntu@sha256:abc123...
# 3. Sign it
docker build -t myapp:v1 .
cosign sign --yes myapp:v1
# 4. Verify before deploy
cosign verify myapp:v1 --certificate-identity=...
If your security only checks IDs, you’re letting backpacks full of trouble stroll past the rope.
Check the bag. Prove it only holds policy-approved tooling. Then, and only then, hand out the wristband.

Top comments (0)