Security

Alex van Rossum is the security lead at MipYip.

MipYip is my practice. I'm responsible for the security of its own systems and for the security work in every client engagement: application and code review, incident response, access governance, infrastructure hardening, and the controls around AI agents that work on production systems.

Before MipYip I led technical operations at a digital agency, where security was part of the job alongside infrastructure, Salesforce and operations. That covered incident response on compromised servers, vulnerability management across a WordPress server fleet, cloud account cleanup, and the Kubernetes rebuild described in the migration case study.

Alex van Rossum

Alex van Rossum

Principal and Security Lead, MipYip · Atlanta metro, Georgia

Security contact: [email protected] · LinkedIn · Full background

Scope

The security work I do

Application and code security review

Independent reviews of an application before launch, or when the owner wants a second opinion on what they were told about it. A review covers the code and the live configuration of the systems it runs on, and reads the terms of service, privacy policy and subprocessor list against what the system actually does.

  • Authentication and authorization, including whether one user or tenant can reach another’s data
  • Injection, server-side request forgery, unsafe deserialization and known-vulnerable dependencies
  • Secrets in source and configuration, and how credentials are stored and rotated
  • Salesforce field-level security, object permissions and sharing
  • Findings rated on likelihood and impact, with a recommended fix for each

Incident response

Containment first, then root cause, then the persistence an attacker left behind. I have run response on compromised production WordPress servers, including a compromise that sat silent for eight days before it surfaced, and the investigation that followed it to a second compromised server.

  • Containment, removal of backdoors, rogue accounts, scheduled tasks and database-resident payloads, and credential rotation
  • Malware artifacts preserved before deletion, and a written after-action timeline
  • A server-level brute-force jail that does not depend on per-site plugins, and longer ban times on most servers in the fleet
  • ASN blocks and rate limits at the CDN against scanner traffic that was saturating a server
  • After-action reports and a reusable compromise-response playbook
WordPress incident response case study

Access governance

For a Salesforce production org, every permission grant and revocation goes through one tool. It records who granted what to whom, why, and who authorized it, in an append-only ledger that is reconciled against the live org. A grant or revocation is blocked unless a reconciliation ran in the previous 14 days.

  • Drift detection for access that exists in the org but not the ledger, and the reverse
  • Changes to what a permission grants are tracked separately from who holds it; changes to an existing permission set go to a sandbox first and are checked with a permission query after deployment
  • Anything a non-administrator will use is tested while logged in as a user who holds only the new grant
  • Changes to the sharing model, integrations or connected apps get an independent architecture review before the change is closed out
  • In cloud accounts: removal of dead IAM users and orphaned policies, and an MFA enforcement policy

Infrastructure and edge hardening

Hardening for server fleets, Kubernetes and the edge in front of them, written down as standards so the next person can apply them the same way.

  • Scripted fleet audits for unsupported operating systems, end-of-life PHP and brute-force protection state
  • Fleet-wide removal of a plugin with a known unauthenticated file-deletion vulnerability, with verification afterward
  • A Cloudflare standard covering strict TLS, minimum TLS version, staged HSTS, WAF rules for login and XML-RPC, rate limits and bot handling
  • A standard Kubernetes workload pattern with default-deny ingress network policies and token-required instance metadata
  • Public-access blocks on cloud storage buckets and retention policies on log groups

Secrets and credentials

Finding credentials where they should not be, and putting new workloads on a pattern that keeps them out of source.

  • A scanner that inventories credentials embedded in deployment manifests
  • A standard pattern for new workloads: secrets from a managed parameter store, mounted at runtime instead of stored in the deployment
  • Rules for AI agent use on repositories that hold embedded credentials: a training opt-out, a local model, or excluding the credential files from the agent

Controls for AI agents on production systems

I use AI agents heavily, which makes their permissions a security question. Agents that touch client systems work under a declared write scope, propose changes by default rather than make them, and need explicit approval for each production write.

  • Hooks that require confirmation before an agent makes a direct production permission assignment
  • Reviewer agents that run as separate processes in an operating-system sandbox and cannot write to the code they review
  • Quarantine for content pulled from a compromised system: it is handled as data and never as instructions, and it must pass a written sanitization procedure and human review before it reaches a new build
  • An email classifier built to resist prompt injection: content inside nonce-tagged boundaries, no tools, a strict output schema, and a safe default on any malformed output

External exposure assessment

A read-only scan of what a website discloses to anyone on the internet. It runs at a polite rate, honors robots.txt, and never authenticates or attempts an exploit.

  • Security headers, TLS certificate validity and HTTP-to-HTTPS behavior
  • Exposed files such as environment files, version-control directories and configuration backups
  • WordPress user enumeration, XML-RPC exposure, and known vulnerabilities in core, themes and plugins
  • Blocklist status and signatures of injected or cloaked content
  • A site with no findings is reported as having no indicators found, because an external scan cannot prove a site is clean

Risk documentation and escalation

Some risks are not mine to accept. When the fix needs budget, a vendor change or a business decision, the risk is written into a register the owner can act on.

  • Likelihood-by-impact rating, with mitigation, contingency and residual risk for each item
  • Each risk has an owner named by role
  • Risks that cannot be fixed in the current engagement are recorded and handed off in writing

Process

How findings are handled

1

Authorized scope

Security work on a client system starts from a signed scope that says what will be reviewed and what will not. Testing against a live system happens only with written authorization from its owner.

2

Two checks before a finding is reported

Each finding is confirmed by a separate check against the code, and against the live configuration where it applies, and I review each one myself. The client’s own documentation is treated as a set of claims to test.

3

Critical findings go out immediately

A critical finding goes to the system owner as soon as it is confirmed, through a channel agreed with them, without waiting for the final report. Reproduction detail goes only to the people who will fix it.

4

Confidential by default

Client findings are not published. Case studies on this site are written after remediation, with identifying details removed.

5

Stated limits

A review is not a formal penetration test, and a read of legal documents is not legal advice. When a penetration test is warranted, I recommend firms that do them.

Tooling

Security tools I built and use

These are private tools. AI-assisted analysis speeds up the review work, and every finding still goes through the two checks described above before it reaches a client.

The Adversary

Independent code review, in use since February 2026 with more than 140 reviews. Each review runs in a separate process with no access to the reasoning of the session that wrote the code and returns severity-rated findings with file and line references. Since mid-2026 reviews run inside a read-only sandbox and include a likelihood-by-impact risk register. One review lens covers the OWASP Top 10, trust boundaries, authorization, injection, secrets and dependency vulnerabilities.

The Auditor

Documentation audit. It tests each claim a project’s documentation makes, including its security claims, against what the code does, and issues a formal opinion on whether the documentation can be relied on.

The Assessor

The read-only external exposure scan described above. Its first live run was itself put through adversarial review, and the scanner bugs that review found were fixed, two of them with regression tests.

deadletter

A self-hosted receiver for disposable email, built on the assumption that every message is hostile. HTML is rendered through three independent layers (an allowlist sanitizer, a content security policy that blocks all remote resources, and a sandboxed frame), and a detector flags lookalike domains, mismatched link text, hidden text and tracking pixels. Ingest is signed and replay-protected. An independent three-reviewer panel found one critical and three high-severity issues, and all four were fixed the same day.

Disclosure

Reporting a vulnerability

If you find a security issue in mipyip.com or in software I publish, email [email protected] with what you found, how to reproduce it, and what an attacker could do with it. I read these myself and reply to every report.

Please don't access data that isn't yours, degrade the site for other visitors, or publish details before the issue is fixed. The same contact is listed in security.txt.

Related

Case studies and writing

WordPress incident response

An eight-day silent compromise, contained and traced under human-in-the-loop control.

The HITL Playbook

How the same incident was worked with an AI agent, including where the agent was wrong.

AWS governance

A read-only-first audit of a cloud account, with human approval on every remediation.

An AI sysadmin under governance

Credential isolation and fleet-wide vulnerability remediation with an agent that cannot act alone.