惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
Malwarebytes
Malwarebytes
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
F
Future of Privacy Forum
C
Cisco Blogs
T
The Exploit Database - CXSecurity.com
A
Arctic Wolf
S
Securelist
K
Kaspersky official blog
S
Schneier on Security
T
ThreatConnect
T
Tenable Blog
Spread Privacy
Spread Privacy
T
True Tiger Recordings
AWS News Blog
AWS News Blog
F
Fox-IT International blog
量子位
T
Threatpost
V
Vulnerabilities – Threatpost
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
GbyAI
GbyAI
宝玉的分享
宝玉的分享
腾讯CDC
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
U
Unit 42
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
MyScale Blog
MyScale Blog
小众软件
小众软件
A
About on SuperTechFans
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
博客园 - 三生石上(FineUI控件)
美团技术团队
Google Online Security Blog
Google Online Security Blog
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog

DEV Community

Multi-Repo Microservice Changes Are a Coordination Problem. I Solved It With AI Agent Teams. The Next Frontier: How Multi-Agent Systems are Redefining Productivity I'm an autonomous AI agent. I shipped 18 fixes to myself in one session. Building a Secure Future with Zero Trust Security Architecture Asynchronous Functions in Dart How I migrated magic-link login from Resend to AWS SES + Lambda five days before launch Edge Computing He creado una empresa ficticia IT/OT para poder encontrar sus vulnerabilidades y reforzar su seguridad en sus activos críticos Why I Built @editora/react I built a tiny UGC script generator because hooks are the hardest part The Phone Is Becoming the New Terminal Why Most AI Music Tools Feel Wrong to Developers Goroutines vs. Promises: Why Go and JavaScript Look at Concurrency Completely Differently How I Use Antigravity 2.0 to Navigate Open-Source Codebases and Make Better Technical Decisions Understanding Basic HTML & CSS Concepts for Beginners Go Error Handling: Annoying or Awesome? Your To-Do List Doesn't Know You — So I Gave Mine Three Brains Shell Basics (Bash, Zsh, Sh) Free MongoDB GUI Tool for Developers, Students, and Teams Designing High-Performance Blockchain Indexers Choosing Models for an Agentic Chat App on Amazon Bedrock How Smart Growth Teams Automate Their Marketing Stack in 2026 (Without Hiring More People) What I Learned About Memory-Augmented AI Agents Seven Docker Tips Every Engineer Should Know (from Docker Captains) Welcome to the Fast-Food Era of Testing: Over-Weight by Tests How to use Claude in vscode? Prompt Engineering for Automated Evaluation: Making LLMs the Judge in AI Builder Solutions Full Stack Projects Are Not Enough Anymore Virtualization & Cloud Basics Orakle: Turning Raw Blockchain Data into Intelligence with Gemma 4 Building an Autoposting Pipeline with Hermes Agent: Why Waterfall Beats Parallel, and the Edge Cases Nobody Talks About OpenShift Virtualization Migration Advisor — Local-First, Powered by Gemma 4 26B MoE WebMCP is coming — so I’m building webmcp.js I Disappeared for 4 Months After Launch - Here's What Brought Me Back Jira Is Turing-Complete (And You've Been Coding in It) NyayAI: Building an AI Legal Assistant for 1.4 Billion People — A Technical Deep Dive E-commerce Order Automation: Stripe + Invoice + Shipping Workflow How to Evaluate AI Agents: LLM-as-Judge Tutorial The Interview Prep Stack I Used as a Senior Software Engineer Targeting Big Tech Gemma4 Challenge OptiLearn - Powered by Google Gemma 4 Aura — The Gemma 4 Powered Agentic Web Copilot & Self-Healing Accessibility Engine I built a tool that catches misleading charts using Gemma 4 running locally Worklog companion with Gemma4 GBase: Building LLM Agents That Actually Learn from Their Mistakes Blossom — a small step toward student mental wellbeing WordPress Performance Monitoring: A Complete Guide Principal Components in TypeScript (Part 4) When three sharp wallets agree: what consensus signals on Polymarket actually mean I Built a Fail-Fast Rust Scheduler with Background OAuth Auto-Refresh (Part 2) Sharing is caring How Putting Faces (Literally) to My AI Garden Images Gave It a Personality Sofi Log #001: Thailand's Tourism Tax & the 180-Day AI Surveillance Wall Sofi Log #006: Decentralized IP-Address Obfuscation Specs Sofi Log #008: Bypassing Legacy Cross-Border Bank Fee Traps Secret Rotation Automation: The Operational Cost of Security Sofi Log #009: Portable Identity & DID Passport Framework Sofi Log #011: Autonomous Smart Treasury Repatriation Specs History of Linux & Unix I asked Claude if my plan was on track for the goal — and got an honest 'No' PHPStan 'expects X, Y given' — the trace it doesn't give you Using Gemma4 2B to Assist Community Health Workers Open-source Playwright wrapper that passes bot.sannysoft.com, pixelscan, and CreepJS in headless mode Policy Storyteller: Turning Nepali Bills into Human Stories with Gemma 4 Avoid Cross Module Dependencies with Dependency Cruiser Invariant-Driven Architecture: 20M transactions on a €80/mo Cloud VM. Stop using external npm packages just to generate a UUID v4 Choosing the Right Gemma 4 Model Matters More Than Choosing the Best One Your LLM Is Not an Agent. Your Framework Is Not Enough. You Need a Harness. From HTTPS to UCP: Shopping Is About to Stop Being Your Problem From Creation to Consumption: How Antigravity 2.0 and Gemini Spark Are Defining the Agentic Era 10 Mistakes I Wish I Knew Before Taking the CKA Exam AI That Actually Does Stuff: Autonomous Agents Explained Exploring AI workflow Orchestration: Comparing Weft, Python & Alternative Pipeline Approaches El Poder del Aprendizaje Federado: Cuando los Algoritmos Distribuidos Entrenan a la IA Email Marketing Automation in 2026: 5 Tools (and 1 Self-Hosted) Through Their APIs A Replay Runbook For Missed Publishing Windows Why timeout handling matters more than most backend logic How I Make $6,800/Month Selling Niche VS Code Extensions Model Routing Cost Checklist: Hosted APIs, Open Models, Or Self-Hosted Inference? ORA-00207 오류 원인과 해결 방법 완벽 가이드 Deno 2.8 Operator Upgrade Checklist: CI, Lockfiles, Node Compatibility, And Rollback AI-Discovered Vulnerabilities Need A Triage Queue, Not A Panic Channel AI Agent Workboards Need Audit Controls Before They Need More Agents Demystifying DevRel: What It Actually Is (And Why Should You Become One?) Your AI, Your Device, Your Data - Introducing Aide Gemma 4 GenAI Coach - GenAI Concepts Made Easy with an Interactive Playground QuietPulse - Mood Tracker Principal Components in TypeScript (Part 3) The pgAudit Attribution Gap: Why Role-Level Logging Fails GDPR and How to Close It Gemma 4 CAD Orchestrator I built a local Postgres triage co-pilot because HIPAA says I can't paste plans into ChatGPT or Claude Live Holographic Editor In Fractal Time Everbench: A document management system with Local Intelligence Instanton in Fractal Time The Hidden Features of Claude How I Built an AI News Brief with Next.js, Supabase, Vercel, and GPT-4o-mini How We Built a Multi-Agent AI Documentation System (And What We Learned) I got tired of writing post-mortems — so I built RCAi for SREs MIA: A Futuristic AI Desktop Assistant Built with Voice, Gestures, and Controlled Chaos
The Kimwolf Bust Just Outed Android Webcams as Botnet Fodder — Here's the Question Every Repurposed-Phone Camera Setup Has to Answer
Super Funicu · 2026-05-25 · via DEV Community

On May 22, 2026, the U.S. Department of Justice announced the arrest of a 23-year-old in Ottawa for allegedly running Kimwolf, a DDoS-for-hire botnet that prosecutors say issued more than 25,000 attack commands and helped power record-setting floods peaking at 31.4 terabits per second. According to the indictment, Kimwolf is a variant of AISURU that specifically targeted Android devices with an exposed Android Debug Bridge (ADB) service — and the device class the DoJ called out by name was striking: "digital photo frames and web cameras."

That language matters. The Kimwolf victims weren't enterprise servers or IoT toys built by sketchy vendors no one has heard of. They were Android-powered cameras and frames — the same form factor millions of people are now building on purpose, by reaching for the old phone in a drawer and turning it into a security camera, a nursery monitor, or a wildlife cam. The Hacker News covered the arrest here; the DoJ press release is here. Forty-five DDoS-for-hire storefronts were seized in parallel.

If you've repurposed an Android phone as a camera — or you're thinking about it — this is a moment to look at your setup and ask the question the DoJ is essentially forcing on the camera-app industry: what services on this phone are reachable from outside your network, and who is on the other end of them?

Why this isn't a "patch your firmware" story

The reflexive read of any IoT botnet news is: "vendors should patch faster." Kimwolf is different. There is no obscure camera firmware here. The exploitation surface is Android Debug Bridge — a feature that ships with every Android phone, sits dormant by default, and only becomes dangerous when (a) it's turned on, and (b) the device is on a network that lets the outside world reach it.

That means Kimwolf isn't a story about a single buggy product. It's a story about an entire category of consumer devices — Android phones being used as cameras — where the architecture of the camera app and the network around it determines whether the device is a useful tool or a unit in someone's 31-Tbps DDoS army.

Three things have to be true for a phone-camera setup to end up in that army:

  1. ADB is enabled (often because the user followed an old tutorial that said "enable developer mode to keep the screen off while streaming").
  2. The phone is reachable from the open internet (either via UPnP-mapped ports, an exposed router, or because the user wired it up for "remote viewing" without thinking about who else can reach it).
  3. The camera app needs either of the above to function.

It's that third point that separates a defensible setup from a recruitable one.

The architecture question every repurposed-phone camera setup now has to answer

Strip away the indictment language and Kimwolf is a stress test of three choices any phone-camera product can be measured against:

1. Does the app require ADB to be enabled?
A camera app that needs Developer Options on and ADB authorized in order to keep recording with the screen off is asking the user to widen the attack surface. The opposite end of the spectrum is an app that uses Android's documented Camera2 + foreground-service APIs to record with the screen off — no developer mode, no ADB, no extra daemons.

2. Does the app push video to the cloud by default?
Cloud-by-default architectures push the user toward an account, a remote viewing endpoint, and an inbound or relayed connection. Local-by-default architectures keep the footage on the device unless and until the user explicitly does something to share it.

3. Does the app require an open inbound port to be useful?
"Remote viewing" features that work by mapping a port through the router so a remote client can hit the phone directly are the textbook pattern that gets a device picked up by network-wide scans like the ones AISURU/Kimwolf operators run.

A camera setup that answers "no" to all three is structurally hard to recruit. A setup that answers "yes" to any one of them is on the menu.

What this means for the "old phone as a camera" trend

There's a healthy and growing community of people repurposing old Android phones as cameras — for nurseries, garages, workshops, wildlife observation, lecture recording, dashcams, you name it. The reuse story is great: keep a working device out of the landfill, get a camera at zero hardware cost, control your own footage.

The Kimwolf bust is the moment to put a finer point on the how. The phones-as-cameras movement only stays good if the underlying app respects three constraints:

  • No "enable Developer Options and ADB to make it work" workarounds. That step alone is what put thousands of Android devices into Kimwolf.
  • Local storage as the default. Footage should sit on the phone, not on a vendor server, unless the user opts in to streaming.
  • No required inbound ports. If "remote viewing" is offered, it should be initiated by the user from the viewing device — not by punching a hole in the firewall the camera is sitting behind.

This is exactly the architecture we built Background Camera RemoteStream around. It records with the screen off using documented Android APIs — no ADB, no developer mode, no daemon you have to keep alive. Footage is stored locally on the phone by default; nothing is uploaded to a third-party server. Streaming is opt-in and routed through YouTube Live's own infrastructure, which means no inbound port on your home network, no account-system honeypot, and no plaintext RTSP endpoint sitting on the open internet waiting for the next scanner sweep.

That's the structural posture the Kimwolf indictment makes a value proposition. If your camera app needs you to widen your attack surface, the Kimwolf operators were literally selling access to the result.

What to do today, even if you don't change apps

Three concrete checks for anyone running a repurposed Android camera right now:

  1. Open Settings → System → Developer Options. If ADB Debugging is on and you don't actively use adb, turn it off.
  2. Check your router. Look at port forwarding and UPnP-mapped ports. If you see a forwarded port pointing at the phone's local IP that you don't recognize, drop it.
  3. Audit your camera app's permissions and network behavior. If the app needs developer mode to function, that's the signal to look for an app that doesn't.

Where to go from here

Kimwolf is one indictment in one country. The takedown also dismantled command-and-control infrastructure for AISURU, JackSkid, and Mossad — meaning the pattern is broader than one operator, and the next variant will look at the same Android-camera surface again.

If you want to repurpose an old phone as a camera without renting a slot in someone's DDoS botnet, the architecture matters more than the brand. Pick an app that records locally, doesn't need ADB, and doesn't require an open inbound port. That's the brief.

Background Camera RemoteStream is on Google Play: https://play.google.com/store/apps/details?id=com.superfunicular.digicam

More on our approach: https://superfunicular.com


Sources: