Infostealer threats are rapidly expanding beyond traditional Windows-focused campaigns, increasingly targeting macOS environments, leveraging cross-platform languages such as Python, and abusing trusted platforms and utilities to silently deliver credential-stealing malware at scale. Since late 2025, Microsoft Defender Experts has observed macOS targeted infostealer campaigns using social engineering techniques—including ClickFix-style prompts and malicious DMG installers—to deploy macOS-specific infostealers such as DigitStealer, MacSync, and Atomic macOS Stealer (AMOS).
These campaigns leverage fileless execution, native macOS utilities, and AppleScript automation to harvest credentials, session data, secrets from browsers, keychains, and developer environments. Simultaneously, Python-based stealers are being leveraged by attackers to rapidly adapt, reuse code, and target heterogeneous environments with minimal overhead. Other threat actors are abusing trusted platforms and utilities—including WhatsApp and PDF converter tools—to distribute malware like Eternidade Stealer and gain access to financial and cryptocurrency accounts.
This blog examines how modern infostealers operate across operating systems and delivery channels by blending into legitimate ecosystems and evading conventional defenses. We provide comprehensive detection coverage through Microsoft Defender XDR and actionable guidance to help organizations detect, mitigate, and respond to these evolving threats.
Mac users are encountering deceptive websites—often through Google Ads or malicious advertisements—that either prompt them to download fake applications or instruct them to copy and paste commands into their Terminal. These “ClickFix” style attacks trick users into downloading malware that steals browser passwords, cryptocurrency wallets, cloud credentials, and developer access keys.
Three major Mac-focused stealer campaigns include DigitStealer (distributed through fake DynamicLake software), MacSync (delivered via copy-paste Terminal commands), and Atomic Stealer (using fake AI tool installers). All three harvest the same types of data—browser credentials, saved passwords, cryptocurrency wallet information, and developer secrets—then send everything to attacker servers before deleting traces of the infection.
Stolen credentials enable account takeovers across banking, email, social media, and corporate cloud services. Cryptocurrency wallet theft can result in immediate financial loss. For businesses, compromised developer credentials can provide attackers with access to source code, cloud infrastructure, and customer data.
The proliferation of Python information stealers has become an escalating concern. This gravitation towards Python is driven by ease of use and the availability of tools and frameworks allowing quick development, even for individuals with limited coding knowledge. Due to this, Microsoft Defender Experts observed multiple Python-based infostealer campaigns over the past year. They are typically distributed via phishing emails and collect login credentials, session cookies, authentication tokens, credit card numbers, and crypto wallet data.
PXA Stealer, one of the most notable Python-based infostealers seen in 2025, harvests sensitive data including login credentials, financial information, and browser data. Linked to Vietnamese-speaking threat actors, it targets government and education entities through phishing campaigns. In October 2025 and December 2025, Microsoft Defender Experts investigated two PXA Stealer campaigns that used phishing emails for initial access, established persistence via registry Run keys or scheduled tasks, downloaded payloads from remote locations, collected sensitive information, and exfiltrated the data via Telegram. To evade detection, we observed the use of legitimate services such as Telegram for command-and-control communications, obfuscated Python scripts, malicious DLLs being sideloaded, Python interpreter masquerading as a system process (i.e., svchost.exe), and the use of signed and living off the land binaries.
Due to the growing threat of Python-based infostealers, it is important that organizations protect their environment by being aware of the tactics, techniques, and procedures used by the threat actors who deploy this type of malware. Being compromised by infostealers can lead to data breaches, unauthorized access to internal systems, business email compromise (BEC), supply chain attacks, and ransomware attacks.
Since late 2025, platform abuse has become an increasingly prevalent tactic wherein adversaries deliberately exploit the legitimacy, scale, and user trust associated with widely used applications and services.
WhatsApp Abused to Deliver Eternidade Stealer: During November 2025, Microsoft Defender Experts identified a WhatsApp platform abuse campaign leveraging multi-stage infection and worm-like propagation to distribute malware. The activity begins with an obfuscated Visual Basic script that drops a malicious batch file launching PowerShell instances to download payloads.
One of the payloads is a Python script that establishes communication with a remote server and leverages WPPConnect to automate message sending from hijacked WhatsApp accounts, harvests the victim’s contact list, and sends malicious attachments to all contacts using predefined messaging templates. Another payload is a malicious MSI installer that ultimately delivers Eternidade Stealer, a Delphi-based credential stealer that continuously monitors active windows and running processes for strings associated with banking portals, payment services, and cryptocurrency exchanges including Bradesco, BTG Pactual, MercadoPago, Stripe, Binance, Coinbase, MetaMask, and Trust Wallet.
Malicious Crystal PDF installer campaign: In September 2025, Microsoft Defender Experts discovered a malicious campaign centered on an application masquerading as a PDF editor named Crystal PDF. The campaign leveraged malvertising and SEO poisoning through Google Ads to lure users. When executed, CrystalPDF.exe establishes persistence via scheduled tasks and functions as an information stealer, covertly hijacking Firefox and Chrome browsers to access sensitive files in AppData\Roaming, including cookies, session data, and credential caches.
Microsoft recommends the following mitigations to reduce the impact of the macOS‑focused, Python‑based, and platform‑abuse infostealer threats discussed in this report. These recommendations draw from established Defender blog guidance patterns and align with protections offered across Microsoft Defender XDR.
Organizations can follow these recommendations to mitigate threats associated with this threat:
Strengthen user awareness & execution safeguards
Harden macOS environments against native tool abuse
Control outbound traffic & staging behavior
Protect against Python-based stealers & cross-platform payloads
Microsoft also recommends the following mitigations to reduce the impact of this threat:
Microsoft Defender XDR customers can refer to the list of applicable detections below. Microsoft Defender XDR coordinates detection, prevention, investigation, and response across endpoints, identities, email, and apps to provide integrated protection against attacks like the threat discussed in this blog.
Customers with provisioned access can also use Microsoft Security Copilot in Microsoft Defender to investigate and respond to incidents, hunt for threats, and protect their organization with relevant threat intelligence.
| Tactic | Observed activity | Microsoft Defender coverage |
| Execution | Encoded powershell commands downloading payload Execution of various commands and scripts via osascript and sh | Microsoft Defender for Endpoint Suspicious Powershell download or encoded command execution Suspicious shell command execution Suspicious AppleScript activity Suspicious script launched |
| Persistence | Registry Run key created Scheduled task created for recurring execution LaunchAgent or LaunchDaemon for recurring execution | Microsoft Defender for Endpoint Anomaly detected in ASEP registry Suspicious Scheduled Task Launched Suspicious Pslist modifications Suspicious launchctl tool activity Microsoft Defender Antivirus Trojan:AtomicSteal.F |
| Defense Evasion | Unauthorized code execution facilitated by DLL sideloading and process injection Renamed Python interpreter executes obfuscated Python script Decode payload with certutil Renamed AutoIT interpreter binary and AutoIT script Delete data staging directories | Microsoft Defender for Endpoint An executable file loaded an unexpected DLL file A process was injected with potentially malicious code Suspicious Python binary execution Suspicious certutil activity Obfuse’ malware was prevented Rename AutoIT tool Suspicious path deletion Microsoft Defender Antivirus Trojan:Script/Obfuse!MSR |
| Credential Access | Credential and Secret Harvesting Cryptocurrency probing | Microsoft Defender for Endpoint Possible theft of passwords and other sensitive web browser information Suspicious access of sensitive files Suspicious process collected data from local system Unix credentials were illegitimately accessed |
| Discovery | System information queried using WMI and Python | Microsoft Defender for Endpoint Suspicious System Hardware Discovery Suspicious Process Discovery Suspicious Security Software Discovery Suspicious Peripheral Device Discovery |
| Command and Control | Communication to command and control server | Microsoft Defender for Endpoint Suspicious connection to remote service |
| Collection | Sensitive browser information compressed into ZIP file for exfiltration | Microsoft Defender for Endpoint Compression of sensitive data Suspicious Staging of Data Suspicious archive creation |
| Exfiltration | Exfiltration through curl | Microsoft Defender for Endpoint Suspicious file or content ingress Remote exfiltration activity Network connection by osascript |
Microsoft customers can use the following reports in Microsoft products to get the most up-to-date information about the threat actor, malicious activity, and techniques discussed in this blog. These reports provide the intelligence, protection information, and recommended actions to prevent, mitigate, or respond to associated threats found in customer environments.
Microsoft Defender XDR Threat analytics
Microsoft Defender XDR customers can run the following queries to find related activity in their networks:
Use the following queries to identify activity related to DigitStealer
// Identify suspicious DynamicLake disk image (.dmg) mounting
DeviceProcessEvents
| where FileName has_any ('mount_hfs', 'mount')
| where ProcessCommandLine has_all ('-o nodev' , '-o quarantine')
| where ProcessCommandLine contains '/Volumes/Install DynamicLake'
// Identify data exfiltration to DigitStealer C2 API endpoints.
DeviceProcessEvents
| where InitiatingProcessFileName has_any ('bash', 'sh')
| where ProcessCommandLine has_all ('curl', '--retry 10')
| where ProcessCommandLine contains 'hwid='
| where ProcessCommandLine endswith "api/credentials"
or ProcessCommandLine endswith "api/grabber"
or ProcessCommandLine endswith "api/log"
| extend APIEndpoint = extract(@"/api/([^\s]+)", 1, ProcessCommandLine)
Use the following queries to identify activity related to MacSync
// Identify exfiltration of staged data via curl
DeviceProcessEvents
| where InitiatingProcessFileName =~ "zsh" and FileName =~ "curl"
| where ProcessCommandLine has_all ("curl -k -X POST -H", "api-key: ", "--max-time", "-F file=@/tmp/", ".zip", "-F buildtxd=")
Use the following queries to identify activity related to Atomic Stealer (AMOS)
// Identify suspicious AlliAi disk image (.dmg) mounting
DeviceProcessEvents
| where FileName has_any ('mount_hfs', 'mount')
| where ProcessCommandLine has_all ('-o nodev', '-o quarantine')
| where ProcessCommandLine contains '/Volumes/ALLI'
Use the following queries to identify activity related to PXA Stealer: Campaign 1
// Identify activity initiated by renamed python binary
DeviceProcessEvents
| where InitiatingProcessFileName endswith "svchost.exe"
| where InitiatingProcessVersionInfoOriginalFileName == "pythonw.exe"
// Identify network connections initiated by renamed python binary
DeviceNetworkEvents
| where InitiatingProcessFileName endswith "svchost.exe"
| where InitiatingProcessVersionInfoOriginalFileName == "pythonw.exe"
Use the following queries to identify activity related to PXA Stealer: Campaign 2
// Identify malicious Process Execution activity
DeviceProcessEvents
| where ProcessCommandLine has_all ("-y","x",@"C:","Users","Public", ".pdf") and ProcessCommandLine has_any (".jpg",".png")
// Identify suspicious process injection activity
DeviceProcessEvents
| where FileName == "cvtres.exe"
| where InitiatingProcessFileName has "svchost.exe"
| where InitiatingProcessFolderPath !contains "system32"
Use the following queries to identify activity related to WhatsApp Abused to Deliver Eternidade Stealer
// Identify the files dropped from the malicious VBS execution
DeviceFileEvents
| where InitiatingProcessCommandLine has_all ("Downloads",".vbs")
| where FileName has_any (".zip",".lnk",".bat") and FolderPath has_all ("\\Temp\\")
// Identify batch script launching powershell instances to drop payloads
DeviceProcessEvents
| where InitiatingProcessParentFileName == "wscript.exe" and InitiatingProcessCommandLine has_any ("instalar.bat","python_install.bat")
| where ProcessCommandLine !has "conhost.exe"
// Identify AutoIT executable invoking malicious AutoIT script
DeviceProcessEvents
| where InitiatingProcessCommandLine has ".log" and InitiatingProcessVersionInfoOriginalFileName == "Autoit3.exe"
Use the following queries to identify activity related to Malicious CrystalPDF Installer Campaign
// Identify network connections to C2 domains
DeviceNetworkEvents
| where InitiatingProcessVersionInfoOriginalFileName == "CrystalPDF.exe"
// Identify scheduled task persistence
DeviceEvents
| where InitiatingProcessVersionInfoProductName == "CrystalPDF"
| where ActionType == "ScheduledTaskCreated
| Indicator | Type | Description | |
| 3e20ddb90291ac17cef9913edd5ba91cd95437da86e396757c9d871a82b1282a da99f7570b37ddb3d4ed650bc33fa9fbfb883753b2c212704c10f2df12c19f63 | SHA-256 | Payloads related to DigitStealer campaign | |
| 42d51feea16eac568989ab73906bbfdd41641ee3752596393a875f85ecf06417 | SHA-256 | Payload related to Atomic Stealer (AMOS) | |
| 2c885d1709e2ebfcaa81e998d199b29e982a7559b9d72e5db0e70bf31b183a5f 6168d63fad22a4e5e45547ca6116ef68bb5173e17e25fd1714f7cc1e4f7b41e1 3bd6a6b24b41ba7f58938e6eb48345119bbaf38cd89123906869fab179f27433 5d929876190a0bab69aea3f87988b9d73713960969b193386ff50c1b5ffeadd6 bdd2b7236a110b04c288380ad56e8d7909411da93eed2921301206de0cb0dda1 495697717be4a80c9db9fe2dbb40c57d4811ffe5ebceb9375666066b3dda73c3 de07516f39845fb91d9b4f78abeb32933f39282540f8920fe6508057eedcbbea | SHA-256 | Payloads related to WhatsApp malware campaign | |
| 598da788600747cf3fa1f25cb4fa1e029eca1442316709c137690e645a0872bb 3bc62aca7b4f778dabb9ff7a90fdb43a4fdd4e0deec7917df58a18eb036fac6e c72f8207ce7aebf78c5b672b65aebc6e1b09d00a85100738aabb03d95d0e6a95 | SHA-256 | Payloads related to Malicious Crystal PDF installer campaign | |
| 9d867ddb54f37592fa0ba1773323e2ba563f44b894c07ebfab4d0063baa6e777 08a1f4566657a07688b905739055c2e352e316e38049487e5008fc3d1253d03b 5970d564b5b2f5a4723e548374d54b8f04728473a534655e52e5decef920e733 59855f0ec42546ce2b2e81686c1fbc51e90481c42489757ac03428c0daee6dfe a5b19195f61925ede76254aaad942e978464e93c7922ed6f064fab5aad901efc e7237b233fc6fda614e9e3c2eb3e03eeea94f4baf48fe8976dcc4bc9f528429e 59347a8b1841d33afdd70c443d1f3208dba47fe783d4c2015805bf5836cff315 e965eb96df16eac9266ad00d1087fce808ee29b5ee8310ac64650881bc81cf39 | SHA-256 | Payloads related to PXA Stealer: Campaign 1 | |
| hxxps://allecos[.]de/Documentación_del_expediente_de_derechos_de_autor_del_socio.zip | URL | Used to deliver initial access ZIP file (PXA Stealer: Campaign 1) | |
| hxxps://bagumedios[.]cloud/assets/media/others/ADN/pure | URL | Used to deliver PureRAT payload (PXA Stealer: Campaign 1) | |
| hxxp://concursal[.]macquet[.]de/uid_page=244739642061129 hxxps://tickets[.]pfoten-prinz[.]de/uid_page=118759991475831 | URL | URL contained in phishing email (PXA Stealer: Campaign 1) | |
| hxxps://erik22[.]carrd.co | URL | Used in make network connection and subsequent redirection in (PXA Stealer: Campaign 2) | |
| hxxps://erik22jomk77[.]card.co | URL | Used in make network connection and subsequent redirection in (PXA Stealer: Campaign 2) | |
| hxxps[:]//empautlipa[.]com/altor/installer[.]msi | URL | Used to deliver VBS initial access payload (WhatsApp Abused to Deliver Eternidade Stealer) | |
| 217.119.139[.]117 | IP Address | AMOS C2 server (AMOS campaign) | |
| 157[.]66[.]27[.]11 | IP Address | PureRAT C2 server (PXA Stealer: Campaign 1) | |
| 195.24.236[.]116 | IP Address | C2 server (PXA Stealer: Campaign 2) | |
| dynamiclake[.]org | Domain | Deceptive domain used to deliver unsigned disk image. (DigitStealer campaign) | |
| booksmagazinetx[.]com goldenticketsshop[.]com | Domain | C2 servers (DigitStealer campaign) | |
| b93b559cf522386018e24069ff1a8b7a[.]pages[.]dev 67e5143a9ca7d2240c137ef80f2641d6[.]pages[.]dev | Domain | CloudFlare Pages hosting payloads. (DigitStealer campaign) | |
| barbermoo[.]coupons barbermoo[.]fun barbermoo[.]shop barbermoo[.]space barbermoo[.]today barbermoo[.]top barbermoo[.]world barbermoo[.]xyz | Domain | C2 servers (MacSync Stealer campaign) | |
| alli-ai[.]pro | Domain | Deceptive domain that redirects user after CAPTCHA verification (AMOS campaign) | |
| ai[.]foqguzz[.]com | Domain | Redirected domain used to deliver unsigned disk image. (AMOS campaign) | |
| day.foqguzz[.]com | Domain | C2 server (AMOS campaign) | |
| bagumedios[.]cloud | Domain | C2 server (PXA Stealer: Campaign 1) | |
| Negmari[.]com Ramiort[.]com Strongdwn[.]com | Domain | C2 servers (Malicious Crystal PDF installer campaign) | |
Microsoft Sentinel customers can use the TI Mapping analytics (a series of analytics all prefixed with ‘TI map’) to automatically match the malicious domain indicators mentioned in this blog post with data in their workspace. If the TI Map analytics are not currently deployed, customers can install the Threat Intelligence solution from the Microsoft Sentinel Content Hub to have the analytics rule deployed in their Sentinel workspace.
Review our documentation to learn more about our real-time protection capabilities and see how to enable them within your organization.
Learn more about securing Copilot Studio agents with Microsoft Defender
Learn more about Protect your agents in real-time during runtime (Preview) – Microsoft Defender for Cloud Apps | Microsoft Learn
Explore how to build and customize agents with Copilot Studio Agent Builder
The post Infostealers without borders: macOS, Python stealers, and platform abuse appeared first on Microsoft Security Blog.
Jason Willems believes the tech monoculture is finally breaking, Don Ho shares some bad Notepad++ news, Tailscale’s Avery Pennarun pens a great downtime apology, Milan Milanović explains why you can only code 4 hours per day, and Addy Osmani on managing comprehension debt when leaning on AI to code.
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Welcome to the January 2026 Windows news you can use, including new capabilities in Windows Backup for Organizations and Windows 365.
Coming up on February 5, there will be another Secure Boot AMA, so please tune in to get answers to your questions. Then, on Mondays in March, join us for deep dives, AMAs, and more at Microsoft Technical Takeoff for Windows and Microsoft Intune. Check out the full schedule and start adding sessions to your calendar. Now, let's get started with the latest news you can use.
To learn about latest capabilities for Copilot+ PCs, visit the Windows Roadmap and filter Platform by "Copilot+ PC Exclusives."
Install the January 2026 security update for Windows 11, versions 25H2 and 24H2 to get these and other capabilities.
New features and improvements are coming in the February 2026 security update. You can preview them by installing the January 2026 optional non-security update for Windows 11, version 25H2 and version 24H2. This update includes the gradual rollout of:
For the latest features and improvements for Windows Server, see the Windows Server 2025 release notes and Windows Server, version 23H2 release notes.
Two out-of-band updates were released in January:
Check out our lifecycle documentation for the latest updates on Deprecated features in the Windows client and Features removed or no longer developed starting with Windows Server 2025.
Looking for the latest news and previews for Windows, Copilot, Copilot+ PCs, the Windows and Windows Server Insider Programs, and more? Check out these resources:
If you are an IT admin with questions about managing and updating Windows, add our monthly Windows Office Hours to your calendar. We assemble a crew of Windows, Windows 365, security, and Intune experts to help answer your questions and provide tips on tools, best practices, and troubleshooting.
Finally, we are always looking to improve this monthly summary. Drop us a note in the Comments and let us know what we can do to make this more useful for you!
Continue the conversation. Find best practices. Bookmark the Windows Tech Community, then follow us @MSWindowsITPro on X and on LinkedIn. Looking for support? Visit Windows on Microsoft Q&A.
In this post, we’re going to tackle a massive challenge in the agent space: Safety and Visibility. We are going to build a practical demo that connects two distinct MCP servers to a single agent service using the Microsoft Agents SDK and Azure OpenAI. To top it off, we’ll wrap it all in a lightweight web UI (AG-UI) that streams text, traces tool calls, and—crucially—gates state-changing actions behind human approval.
As agent-based applications get more complex, we start hitting the same headaches over and over. We want agents to work with real backends, but we keep running into familiar pitfalls.
The “Black Box” Issue: Tool calls happen out of sight, so users have no idea what the agent is doing—instantly killing trust.
Tangled Logic: Backend logic gets crammed into prompts, turning into messy spaghetti that’s hard to test, deploy, and improve.
Unsafe Writes: An agent might update a database or delete a file without any human in the loop.
Our Goal: Keep backends modular with MCP, centralize the agent’s “brain,” and give users a UI that makes every tool action clear and trustworthy.
The Pitch: Backends stay as MCP tools, the agent brain lives in one service, and the UI makes tool activity fully transparent.
To solve this, we are using a microservices approach with Azure at its core.
Policy MCP Server: Connects to Azure Blob Storage and serves as the source of truth for policy documents.
Order MCP Server: Connects to Azure SQL, managing structured order data.
Agent + AG-UI Service (FastAPI): The core of the system, linking to the MCP servers, running the agent through the Microsoft Agents SDK, and streaming events directly to the browser.
Web UI: A straightforward HTML/CSS/JavaScript frontend that displays the chat experience, tool traces, images, and human-approval cards.
Understanding the flow is key for effective debugging and observability. Here’s how a single request moves through the system:
Prompt: The browser sends a user prompt to the Agent Service.
Stream: The Agent Service instantly streams events back to the UI, including assistant text (token-by-token), tool-call traces (arguments and results), and custom UI elements like image cards or approval requests.
Execution: The Agent Service calls the appropriate MCP tools (Policy or Orders) via SSE and JSON-RPC.
Guardrails: For tools that change state (like updating an order), the agent pauses and explicitly requests human approval before proceeding.
Prompt: “Show me the photo for order 5390”
What happens:
Prompt: “Set the photo for order 5390 to https://example.com/new_photo.jpg”
What happens:
Prompt: “List available policy docs, then read the hazardous policy.”
What happens: The agent queries the Policy MCP Server (Azure Blob Storage), lists the available files, and then reads the specific document you requested.
Building this demo revealed some key insights for taking agentic systems to production.
MCP as a Boundary: MCP servers help keep domain tools cleanly separated, with clear ownership—Policy can run their own MCP server, and Orders can manage theirs independently.
Trust through Visibility: Streaming tool traces, including arguments and results, is crucial for smooth debugging and building genuine user trust.
First-Class Approval: Human approval works best when it’s a dedicated UI event that the frontend understands and enforces.
Reuse Clients: Don’t recreate Azure SDK clients on every request—initialize them once at startup and reuse them.
Log Diagnostics: Always log tool latency and 429 errors to catch bottlenecks early.
Stable Schemas: Keep inputs and outputs small, explicit, and well-defined to cut down on hallucinations and unpredictable behavior.
This post explored a practical approach to building safe, observable agentic systems with MCP, Microsoft Agents SDK, and Azure-native services. By splitting domain logic into MCP servers, centralizing the agent’s “brain,” and streaming every tool action through a human-aware UI, we showed how to replace opaque, risky behavior with trust, control, and visibility—treating human approval as a true first-class interaction for powerful, responsible automation.
AI agents are no longer simple chatbots – they’re autonomous problem solvers. They call tools, orchestrate workflows, and can make decisions on behalf of users. That power can unlock huge value, but it also raises a hard question: when something goes wrong, how do you figure out why?
This post explains why tracing is essential for reliable agents, the practical observability challenges teams face, and how Couchbase’s Agent Catalog and Agent Tracer turn opaque agent behavior into actionable, debuggable data traces in support of enterprise agents at scale.
Traditional software is deterministic. AI agents are not. They generate choices, pick tools, and change behavior as prompts and models evolve. When failures occur, they’re often composite and contextual – a confusing prompt plus an ambiguous tool description, or a hand-off between agents that drops critical context.
Without tracing, teams are effectively flying blind: you see poor outputs, but you can’t reconstruct the agent’s reasoning, tool calls, or schema mismatches that produced those outputs.
Simply put, if a system’s output can’t be trusted, it won’t be used. But tracing is important for other reasons as well.
As AI agents grow more autonomous and complex, they introduce unique observability challenges that traditional monitoring can’t address. Here are three critical ones and how modern tracing solves them:
Couchbase combines governance and observability into a single platform so teams can manage tools and prompts while capturing end-to-end traces for debugging and analysis.
A span is a single operation, recording information like start time and end time (latency), operation name, status (success/error), metadata (tags/attributes, logs), etc. A root span represents the entire request or workflow (e.g., one agent run), while a child spans represent sub-operations that happen within that workflow. Together, they form a trace showing how work flows through the system.
Instrument your agentic app by adding a root span and child spans for operations such as LLM calls, document retrievals, and tool executions. You can add custom tags and use callbacks to capture tool results. When your agent runs, traces are written to your project’s agent-activity folder and can be forwarded to Couchbase Capella
or your operational cluster for viewing in Agent Tracer.
Trace types include:
Given the variety in data and structure, JSON is the natural format for capturing and interacting with this type of data.
How does it work in practice?
What are some examples Couchbase helps solve with agent tracing?
There are many reasons Couchbase’s unified database platform makes for an ideal data layer for AI and other modern mission-critical applications, but here are a few to consider:
Agent traces turn black‑box behavior into repeatable, explainable workflows. When tracing is combined with governed tool and prompt management, teams can move faster, reduce costs, and ship agentic apps with confidence and visibility. That visibility is critical to technical teams, business teams, and executive leadership to deploy agentic AI for critical business applications.
More resources
Check out these related resources:
The post What Are My AI Agents Doing? How to Gain Insight and Control. appeared first on The Couchbase Blog.