Mon–Fri · 6 AM ET
← All Episodes
EP  • 00:12:20

A new Android malware from Google | Build or Be Replaced

Today: A new Android malware from Google | Oomwoo, an open-source robot vacuum you build yourself | ZCode – Harness for GLM-5.2 Episode date: 2026-07-02.

Download MP3 →

Transcript

JOSH: It's Thursday, July 2. This is Build or Be Replaced — powered by ScanBrief.dev. I'm Josh, here with Erik Anderson.
ERIK: The theme today is control. Your phone, your robot vacuum, your code pipeline, your payment layer. If you don't own the control plane, somebody else does.
JOSH: Stick around — Erik's got an AI pro tip at the end about making agents show their work before they touch production.
[pause]
JOSH: First headline. ScanBrief flagged a nasty Android story today. Malware allegedly disguised as an Android Developer Verifier service, pushed through Play Protect. Erik, what's your take?
ERIK: If that report holds up, it's brutal. The security layer becomes the delivery path. That's the nightmare version of trusted infrastructure.
JOSH: Second one. Oomwoo is an open-source robot vacuum you build yourself. ROS 2, Raspberry Pi, LiDAR, local processing. Is that a toy or a signal?
ERIK: Signal. A loud one. Local robots are coming back because cloud-dependent home devices taught everyone a lesson: rented convenience turns into abandoned hardware.
JOSH: Third headline. Cloudflare's x402 Monetization Gateway lets people charge for resources behind Cloudflare. Tiny payments for APIs and content. Interesting?
ERIK: Very. Agents need meters. If an AI agent can call your service 10,000 times, you need pricing at the request level, not a sales call and a PDF.
[pause]
JOSH: Before we go deeper, what did your own systems do this morning?
ERIK: ScanBrief scored 88 items across 54 sources today. PrimeBus processed 1010 automation events across 13 projects today. And 31 code changes were automatically reviewed by Gandalf and merged to production overnight.
[beat]
ERIK: That's the bar now. Not a dashboard you admire. A system that wakes up, reads the room, makes changes, and leaves receipts.
[pause]
JOSH: Let's start with the Android story, because that one sounds insane. How does malware end up hiding inside something people are supposed to trust?
ERIK: Trust chains are where the bodies are buried. Everybody wants to talk about the app. The APK. The permission prompt. Fine. But modern systems don't fail only at the edge. They fail in the updater, the scanner, the verifier, the helper service, the thing with elevated rights nobody wants to touch because it's "platform."
JOSH: That's the scary part. People see Play Protect and think, okay, Google checked it.
ERIK: Exactly. That's why this matters. If a malicious service is disguised as a verifier, and if it's distributed or blessed by the same path users rely on for safety, the user has no meaningful decision left. They can't inspect it. They can't remove it. They can't reason about root privileges on a consumer phone.
JOSH: What should builders take from that?
ERIK: Stop treating trust as a label. Treat it like an event stream. Who signed it? Who deployed it? What changed? What process spawned it? What permissions did it gain after install? Did it call home? Did its behavior change after a config pull?
[beat]
ERIK: That's boring work. Which means it actually matters.
JOSH: How does that map to your world? You're not shipping Android system services.
ERIK: Same pattern. PrimeBus doesn't trust a thing because it has a nice name. Every automation event carries context. Origin, project, severity, what agent touched it, what Gandalf reviewed, what got blocked. The auto-merger has run 1856 attempts since 2026-06-05: 1202 merged, 654 blocked by Gandalf, 0 escalated to Erik. That's the important part. The blocked count is the system doing its job.
JOSH: Wait, zero escalated to you?
ERIK: Zero escalated to me. Because the guardrails are built into the work path. Not stapled on after. Gandalf is not vibes. It reads diffs, tests, risk, blast radius. If something smells wrong, it blocks. I want that in every system. Phones, routers, agents, CI, backups. Same idea.
JOSH: So the lesson isn't "never trust Google."
ERIK: No. The lesson is never trust a single layer. Google can have great engineers and still ship a trust-chain problem. Cisco can have great engineers and still ship a bad image. I can write good automation and still have a model propose a dumb fix at 2:13 in the morning. The answer is layered proof.
JOSH: What would layered proof look like for a normal engineering team?
ERIK: Start simple. Signed builds. Reproducible artifacts if you can. Runtime behavior checks. Permission drift detection. Network egress alerts. And for AI-generated code, separate the writer from the reviewer. Claude can write. Gandalf reviews. Tests run. Only then does PrimeBus move it forward.
[beat]
ERIK: One agent with root is not automation. That's a liability with a keyboard.
[pause]
JOSH: Next story: Oomwoo. Open-source robot vacuum. I did not expect the robot vacuum to become an infrastructure conversation.
ERIK: Duuude, the vacuum is absolutely infrastructure. It's a mobile sensor platform in your house. It has maps, cameras or LiDAR, motors, firmware, update channels, maybe microphones, maybe cloud APIs. People call it a vacuum because that sounds less creepy.
JOSH: That's wild. So Oomwoo being local-first matters.
ERIK: It matters a lot. ROS 2, Raspberry Pi, 2D LiDAR, 3D-printed parts, local navigation. That's the interesting stack. You can see it. You can fix it. You can fork it. If the company disappears, the thing doesn't turn into modern art under your couch.
JOSH: But is the average person building a robot vacuum?
ERIK: No. And they don't need to. The average person didn't compile Linux in 1996 either. Builders did. Then the work moved into products. Open systems start ugly, then they get useful, then vendors either adopt the pressure or keep shipping sealed boxes with subscription plans.
JOSH: How does this compare to AI agents?
ERIK: Same fight. Local control versus cloud dependency. A lot of people are building agent workflows that only work if one SaaS API is awake, one provider likes them, one model keeps the same pricing, and one dashboard doesn't change the button name.
[beat]
ERIK: That's not a system. That's a hostage note with webhooks.
JOSH: You run multiple models and systems, right?
ERIK: Yeah. PrimeRouter sits in front of model calls so my systems don't care if the provider changes behavior. Priority-tier routing, multi-provider failover, telemetry, cost visibility. If Claude is the right tool, use Claude. If GPT is better for a job, use GPT. If one provider is down, route around it. That's basic engineering.
JOSH: So Oomwoo is the physical version of that.
ERIK: Exactly. Own the map. Own the logs. Own the firmware path. Own the failure mode. If the robot gets confused, you should be able to inspect the state machine instead of opening a support ticket and praying someone in a cloud console notices your kitchen.
JOSH: That's very specific.
ERIK: I've built enough state machines to know where the pain lives. HumanDesignApp has an iMessage state machine. Different domain, same issue. Conversation state, retries, user intent, bad inputs, provider weirdness. If you don't own state, you don't own the product.
JOSH: What would you tell someone who wants to build with robotics but isn't a robotics engineer?
ERIK: Build one boring loop. Don't start with a humanoid robot that folds laundry. Start with one sensor, one actuator, one event bus, one feedback loop. Read distance. Move motor. Publish event. React to event. Log everything.
[beat]
ERIK: That's how you learn robotics without pretending you're Boston Dynamics in a garage.
JOSH: And use ROS 2?
ERIK: If you're serious, yes. Learn ROS 2. Learn how messages move. Learn transforms. Learn why timing matters. The math is not optional, but you don't need to become a PhD before you make something move across the room without hitting a chair.
[pause]
JOSH: Third deep dive: Cloudflare x402. Charging for resources behind Cloudflare. Why does this matter for AI builders?
ERIK: Because agents are going to consume the web differently than humans. Humans browse. Agents call. They fetch, summarize, compare, retry, validate, and then call again because the first response was weird. That breaks the old business model.
JOSH: The old model being ads?
ERIK: Ads, subscriptions, enterprise contracts, API keys hidden behind sales forms. None of that fits cleanly when an agent needs one fact, one file, one calculation, or one enrichment. x402 is interesting because it puts payment closer to the request.
JOSH: Like pay-per-call for the web?
ERIK: Pretty much. The HTTP 402 status code has been sitting there forever like a reserved parking spot nobody used. Now people are trying to make it useful. Put a price on the resource. The caller pays. The request completes. No human checkout flow.
JOSH: That sounds great for APIs. Also a little dangerous.
ERIK: Both. Great because builders can charge for useful services without building a whole billing department. Dangerous because agents can spend money very fast if you don't put budgets and policy in the path.
JOSH: That feels like a PrimeRouter problem.
ERIK: It is. Every model call should have policy. Every paid API call should have policy. Who is calling? What project? What budget? What priority? Is this production or a test run? Did the agent already try five times? Is the answer worth the cost?
[beat]
ERIK: A wallet attached to an agent without limits is how you discover new kinds of regret.
JOSH: What would you build first if you were using x402?
ERIK: Metered enrichment. Something narrow. For example, an endpoint that returns a scored company profile, a contract summary, or a normalized product feed. Make the value obvious. Price it per call. Then build spend controls before you let agents loose on it.
JOSH: How does ScanBrief fit into that?
ERIK: ScanBrief already scores and ranks sources. Today it scored 88 items across 54 sources. Imagine parts of that pipeline becoming paid resources. A high-quality summary endpoint. A source reputation score. A dedupe check. Agents don't need a subscription to your entire product. They need a reliable answer right now.
JOSH: So the product becomes smaller units.
ERIK: Smaller units, clearer value. That's the big shift. Software used to be a destination. Log in, click around, export a CSV. Agents don't want your nav bar. They want the function. Give them the function and charge correctly.
JOSH: Does that hurt SaaS?
ERIK: It hurts lazy SaaS. If the only moat is a login wall around a basic database, yeah, that's rough. If your product has real workflow, data quality, domain logic, and trust, you're fine. Probably better than fine. Agents become customers, but very impatient ones.
JOSH: What should builders do now?
ERIK: Add metering to anything agents can call. Even if you don't charge yet. Count requests. Track cost. Track latency. Track failure reasons. Add per-project budgets. Add kill switches. Then when payment rails mature, you're ready.
[beat]
ERIK: Don't wait until the bill shows up to learn your agent has expensive hobbies.
[pause]
ERIK: This episode is sponsored by Prime Automation Solutions. If you're still doing it manually, we automate it. Also, special on a website — $250. primeautomationsolutions.com
[pause]
JOSH: Alright, what's the AI pro tip today?
ERIK: Make your agents produce a review packet before they change anything. Not a paragraph. A packet. Intent, files touched, commands run, test output, risk level, rollback plan, and the exact diff.
JOSH: That sounds like slowing the agent down.
ERIK: It speeds the system up. Humans waste time because agents hide the important part in chat history. A review packet turns messy work into an artifact another agent or human can inspect. That's how Gandalf works in my world. Claude can propose the fix, but the reviewer gets the evidence.
JOSH: What's the simple version someone can use today?
ERIK: Add this to your prompt: "Before editing files, write a review packet with objective, affected files, expected behavior change, verification plan, and rollback notes. After editing, update the packet with actual commands and results." Then make that packet required in CI or your pull request template.
[beat]
ERIK: Agents are better when they know they'll be audited. Same as humans, unfortunately.
ERIK: That's your tip. Use it.
[pause]
JOSH: Track your freedom score and net worth with the Freedom Blueprint app — free download, link in the show notes.
[pause]
JOSH: One more thing — we started a Discord for builders. If you're shipping AI, automation, or anything that makes a human obsolete — come hang out. Link at buildorbereplaced.dev.
ERIK: Post what you built. We'll post what we're building. Real wins, real builds, no fluff.
[pause]
ERIK: Build or be replaced.
JOSH: If you want these signals in your inbox every morning, scanbrief.dev. See you tomorrow.