Cohere Security Ai Agent North Wiz
Captured source
source ↗Creating a Security Agent with Cohere North and Wiz | Cohere North Mini Code. Cohere's first model for developers. Learn more
Jun 25, 2026
8 minute read
Creating a security agent with Cohere North and Wiz Learn how the Cohere team used North, Wiz, and a custom MCP server to automate incident response workflows
At Cohere, we build secure, sovereign AI for mission-critical environments across regulated industries and governments. Our security posture has to scale with a codebase that moves fast, a cloud footprint that grows constantly, and a threat landscape that is constantly evolving.
Using Cohere North , our enterprise AI agent platform, we found a way to automate our incident response workflows. This post details how we connected our cloud security platform Wiz to North, through a custom Model Context Protocol (MCP) server.
The result? A security agent that handles the entire incident response workflow, from triaging critical findings to drafting IR reports, creating tickets, and updating Wiz status — all from a single prompt. The Challenge: Bridging insight to action at the pace of the cloud Wiz surfaces the toxic combinations of risk factors that create critical attack paths, such as an internet-facing VM with a critical vulnerability and high-privilege IAM access. The signal is high-fidelity. The harder problem is what comes next.
Translating a finding into coordinated action still requires a human in the loop — and that workflow looks different for every team. For ours, a single critical finding meant: Manually investigating the affected asset and its context Searching for existing tracking tickets Drafting an Incident Response report Updating Wiz before notifying stakeholders
That process could take 30 minutes to 2 hours per finding . Not because the signal was unclear, but because the path from insight to action wasn’t yet built for our exact environment, tools, and team rhythm. And as our cloud footprint expanded, so did the volume of findings that needed that same careful handling. We needed a way to close that gap without adding headcount. The Solution: North becomes a security agent We transformed North into a security agent by connecting it to Wiz through a custom MCP server. This integration turned North into an incident response agent that handles the triage-to-resolution workflow, assisting security engineers to respond faster. The North-Wiz-MCP architecture North natively speaks MCP, enabling a clean, extensible architecture: North (agent platform) → Custom MCP server → Wiz GraphQL API The lightweight Python MCP server exposes Wiz's capabilities as eight atomic tools:
wiz_list_issues: Open issue filtering and listing wiz_get_issue_details: Full finding context retrieval wiz_list_toxic_combinations: Multi-factor attack path identification wiz_search_vulnerabilities: CVE lookup with exploit filters wiz_get_security_posture: Aggregated metrics snapshot wiz_query_assets: Cloud inventory queries wiz_get_compliance_status: Framework compliance scores wiz_update_issue: Status changes and note updates
North authenticates to the MCP server via a shared secret header, while the server uses OAuth2 client credentials for Wiz, keeping service account tokens secure and server-side. What we built: Automated workflows Use case 1: Toxic combination blast radius analysis “Toxic combinations” are Wiz's term for multi-factor attack paths: findings where individually manageable risks chain together into a critical exposure. An internet-facing VM is a problem. A VM with a critical CVE is a problem. A VM that is internet-facing, has a critical CVE, and carries an IAM role with access to sensitive data is an entirely different category of problem.
North analyzes critical Wiz findings, evaluates attack chains, and ranks them by real-world blast radius, factoring internet exposure, privilege level, and data sensitivity. This 20-second analysis replaces what previously consumed half of a security engineer’s morning.
This is the prompt our team devised:
"Analyze all critical toxic combination findings in Wiz. For each one, reason through the full attack chain and rank them by actual blast radius. Weight internet exposure, privilege level, and what an attacker could achieve if they exploited it. Present as a prioritized risk table with a short justification for each ranking."
Behind the scenes, North calls
wiz_list_toxic_combinations(severity="CRITICAL") , reads the attackChain.description field on each finding (which contains Wiz's narrative of the multi-hop attack path), then uses Reasoning to rank them. The output is a risk table sorted by an agent's assessment of real-world risk, weighing internet exposure, privilege level, and data sensitivity. Use case 2: Assisted incident response This is the workflow that required the most engineering. Here is the prompt we wrote: "Investigate our most critical open Wiz issue end-to-end. Get the full details, write an IR report using the exact asset name and dates from Wiz, create a Linear [note: our internal project management tool] ticket, and mark the issue IN_PROGRESS in Wiz with an investigation note summarizing what you found." What happens: wiz_list_issues(severity="CRITICAL", status="OPEN", limit=10) gets the current critical findings. The agent picks the highest-priority issue based on subscription, asset sensitivity tags, and recency. wiz_get_issue_details(issue_id) pulls the full finding: asset name, type, cloud platform, region, tags, creation date, and the Wiz rule description. The agent searches Linear for existing tickets on the same Wiz issue ID to avoid duplicates. If none exists, it creates a Linear ticket in the security queue with the Wiz portal link. wiz_update_issue(issue_id, status="IN_PROGRESS", note="...") marks the issue and adds a structured investigation note. The agent generates the full IR report in Document Mode.
The report format is strict, encoded in the system prompt to prevent the hallucination problems we hit in early iterations (more on that below). It includes severity, status, report date, ticket link, a two-sentence summary, an affected asset table with exact field values from Wiz, root cause based on the rule description, exploitability and blast radius assessment, and a prioritized remediation table. Use case 3: Autonomous weekly posture brief We built a North automation — a scheduled graph-based workflow — that runs every Monday at 3:00 a.m. and produces a security...
Excerpt shown — open the source for the full document.
Notability
notability 5.0/10Collaboration on security AI agent, moderately notable.