mu-labs.dev --:--:--

01 · whoami 🧑‍💻

Every system that runs on trust eventually meets someone testing where that trust ends.

I'm Trimphus, and that boundary is where I work. My field is trust and safety on a large online marketplace: fraud analysis, account integrity, message abuse, and the detection systems sitting in front of all three. Adversarial pattern recognition, essentially — reading a signal not for what it is, but for what someone meant it to look like.

Away from that: a homelab, bug bounty programmes, and as much of the year underwater as I can arrange. This site is mu-labs.dev introducing itself — there is nothing for sale here.

02 · cat domain.md 🌐

mu-labs.dev isn't a company and never has been. It's a private domain that a friend and I use for our own mail — mostly masked, one-off addresses, so that whichever shop leaks its database next doesn't get anything useful out of it. The homelab, this page, and a handful of small services live on the same domain because it was already there.

Everything here is under a handle rather than a name, and it'll stay that way. Not out of paranoia — I'd just rather keep the day job, the hobby, and the internet in separate drawers.

domain
mu-labs.dev
purpose
private — mail, homelab, notes
commercial
no
people
two, both pseudonymous
tracking
none — no analytics, no third-party requests

03 · tree ~/practice 🛡️

A marketplace attracts abuse in proportion to the money moving across it, and the abuse organises itself into a handful of recurring domains. These are the ones I work in.

fraud analysis

Listings constructed to take payment and disappear; organised activity visible only across many accounts at once.

account integrity

Establishing takeover and when it happened; recovery and identity checks where too strict and too permissive fail in opposite directions.

message abuse

Phishing and credential harvesting; impersonation, spoofing and bulk spam — each needing its own answer.

detection quality

Reviewing what automated classification got wrong, in both directions, and feeding that back in.

data protection

Access, erasure and lawful disclosure under GDPR — low volume, high cost of error.

Automated systems absorb the volume, which means what reaches a person is precisely what the model found ambiguous. The interesting work lives in that ambiguity: judgement at speed, on incomplete information, against someone who is actively trying not to be understood.

Which platform, and how any of it is detected, stays with me. That part isn't mine to publish.

status — not taking on external work. I'm in this full time and at capacity, so consulting, assessments and freelance enquiries are a no for now — no hard feelings, simply no room.

04 · cat bug-bounty.md 🐛

Five years of working bug bounty programmes in my own time — on and off, but never really stopping. Reports go in, some get triaged, some get paid, plenty are closed as informative, and that is part of the exercise too.

It is the same instinct as the day work, turned around: instead of establishing that a flow has been abused, you establish that it can be — then write it up precisely and wait.

Where the interest sits — access control, and anything that decides who may do what

How I work — by hand and slowly, reading flows rather than pointing scanners at them

What I publish — nothing a programme has not cleared, which so far is nothing

05 · ls ~/lab 🖥️

Hardware I own, running things I'm allowed to break. It exists so I can try something stupid on a Sunday without it mattering.

rocky-primary Rocky Linux, Docker, nginx in front. The one that has to keep working.
prox-cluster Proxmox with KVM and LXC. Where anything experimental goes first.
arch-dev Arch workstation. Perpetually half-configured, as intended.
--fido2 --reverse-proxy --containers --custom-dns --self-hosted --deliberate-misconfig

06 · cat offline.md 🌤️

Not everything is screens. Most of what I look forward to happens away from one.

🤿 Diving — flooded quarries near Leipzig, all year, including the cold half.

🐾 The dog — the reason I'm outside twice a day whether I planned to be or not.

🚴 Cycling — replaced the car, one of the better decisions.

🎮 Games — the usual suspects, usually later than intended.

07 · contact --pgp 📮

Always glad to talk about abuse and detection work, the lab, or diving. Rather less glad to talk about SEO. If it should stay private, use the key.

4358 B732 F4EC 52E7
trimphus.asc download
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBGm1LXwBCADMKTiJjmVnVeWZsNg3JC2siwOX7M1gSGj0MqxOjYvbJK3KBvrV ayP72sCPOIXApydZhkkYP7gy4lqApLSuzFwgbxDMObNL9TYXPJKtf9+xIqbxiQZl eV6OWWNFNuwmvxzJMeVc/aQu1czOH4+5oKIaI66noPUl77b3COVz5kHom+XVJHja w9YSmuNksJ9L2VOajjWo380S8V/k4wbe/U0mK9kUevNWd6bFx9131FyPnRl2jmF4 fxDobX3WIeH+oeIDkEgVwBS0D2HpaCwotQXSGLqhFamI1tHtVMZRhtlfuRmlxG6D 2kilIjJLk8Z1A75XLduU9RSHsoupa9tQ4igXABEBAAG0JE1VLUxhYnMgPHJvdW5k LnNhaWw4NTY4QG11LWxhYnMuZGV2PokBcwQTAQgAXRYhBNc2l00GFDrbDRDsRUNY tzL07FLnBQJptS18GxSAAAAAAAQADm1hbnUyLDIuNSsxLjExLDIsMQIbAwUJCafw pAULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBDWLcy9OxS57QMB/4l8TtL DC9TWPOs4iKozUns0pDEYbuJxDWOIELA0WLmUWoqpohHgsRBGVl8hMLjkb72l1rE +3fqY4J3yQqe2XuIRetwVxYgKDxORVl1jCusvH5DSsDUIRuttl8PI+xuZxwJo8wm N6xSes16o2qXqeM1YNWyDG/CO3LwX5/AzgZUTNNjYwEqxfgOs1aXVmwK7LNKfz+5 LMEZXV/30pKZrTJpjNZhay258/+71dMgDXXDkLBqc3C/0JHdebgI+Qx25VFN0Wg/ BIJWQgBefNUkkaJKtA8je5CShSMpbv89xFjPK0G+oiCBDlg1X2xaN/fToQGbwrp uUqKbpcxVBcFvnFTuQENBGm1LXwBCADVyA9r6kqVgAn3yVzeEoTV8VBERbbZqEhn cTVjcHw12HKs53CE+/Ns/OzhudNLPbCIbP7WmIOV39p05cp7p9wgZEP/JramPVRZ HH59kT4T4u6xV5GZEe9qIxqsK3o/CddkVC730oxZGv5lQ5OvybVYYk99R97gUeXw OoRBIKDZ38oXln4Ypq9Ay9DNpfvRYiXRXOW8AFfQX4bfqmM8/M6n35SOkFwQI4Re Mruso9lvm/2pG1TKnclcLBWoXUHyI7+6dVxA2ifRWEw37jWAVbErtD3gQwzialVt cB/SMyMVbv58VuvvWKuT+wARieGz/0kh3bbb4s17DKp5Ed121wOZABEBAAGJAVgE GAEIAEIWIQTXNpdNBhQ62w0Q7EVDWLcy9OxS5wUCabUtfBsUgAAAAAAEAA5tYW51 MiwyLjUrMS4xMSwyLDECGwwFCQmn8KQACgkQQ1i3MvTsUudRVQgAwzO3jGMWn+Du bKneIrcKJJnoaG/o8FE35hykJhE0pU/58Rg4xY6lBWrAwNsXzPoYdTiHmYLTVfAH Ks5rJIjLqni9v1141ztrtDEhmFtThsuR8D/MZyl3MqWUzaqviEMXFYkj5FRxjkSz dWokTKrURPB7urcrNdMaeykko7Gr/rO5DxZLnRWhoWgeHFKZkBx1IZmPOfASjcO1 CmAU4h4yNjoGCzx/hCC/zAB2TrB81w8yH+WzilyIWht+CQ/TjbO+bEurw1s2vOjp YPzyMA9H+05Ig6XofJG5iT1KRlPtfZJpEdJ0jQSg96p0jKnInWW7OQ92vQ4Sc7bk 7ylInFVReQ== =ofcO -----END PGP PUBLIC KEY BLOCK-----
NORMAL top