Ground your agents in curated security intelligence
Your agent can answer from memory, or search the web in the moment. Or it can stand on research already done: deep, sourced and structured. We do the research, so your agent doesn't have to when time matters.
Your agentPHP2Shell just dropped. What do I need to know?
- CVE
Unauthenticated code execution, exploited four days before disclosure. Needs PHP below 8.2.35, 8.3.36, 8.4.27 or 8.5.12 and session upload progress on.
- Patch
Released 21 October. Ubuntu 24.04 fixed in 8.3.6-0ubuntu0.24.04.13. RHEL 9 php:8.4: no fix yet. Amazon Linux 2: won't fix.
- Attack technique
Code execution on an Azure VM opens Managed Identity Takeover if the VM has an identity.
- Mitigation
Until patched, set session.upload_progress.enabled=0 in php.ini or the FPM pool. It reduces exposure; it doesn't make you safe.
Researched before you asked, every fact sourced
Three ways an agent can be grounded
Each one helps. Only one is ready when an emergency hits.
Four kinds of security intelligence
What your agent can stand on, with real examples.
Security Intelligence
What it takes to exploit a CVE, and what it gives the attacker.
Test plans
The ways a CVE can be exploited, each a set of typed conditions about a resource's state, with the source behind every condition. Resource-agnostic.
PHP2Shell, CVE-2026-109619
package_versionPHP below the fixed release, or a distribution build without the fixconfig_statesession upload progress onservice_runningPHP served through mod_php or PHP-FPM
Sources: PHP security advisories, fix commits
Impact
What exploitation gives an attacker: code execution, privilege escalation, data read or loss of availability. It decides what an attack path can do next.
PHP2Shell, CVE-2026-109619
- Remote code execution, unauthenticated
- With the privileges of the PHP process
Source: PHP security advisories
Whether a fix exists, where, and in what state.
Fix state by distribution
The state of the fix for each component and distribution: no fix, won't fix, fixed in a commit only, released, or superseded.
PHP2Shell, 25 October 2026
releasedupstream PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12releasedUbuntu 24.04, as 8.3.6-0ubuntu0.24.04.13fix-in-commitPHP 7.4 to 8.1: source backports onlyno-fixRHEL 9, php:8.4 streamwon't-fixAmazon Linux 2, base PHP
Silent fixes
Security fixes merged in open-source code before any advisory exists, tracked with their own ID until a CVE arrives.
A fix with no CVE yet
DMA-ID, no CVE, no advisoryfix-in-commit, with the affected and safe versions- The exploit details stay out of open reads
Median 39 days from public fix to CVE, August 2026 (Second Security)
How attackers move, and how to see them.
Technique library
Attack techniques as building blocks: what each needs on the resource it starts from, and what it grants. They link findings into attack paths.
az.credential_access.002, Managed Identity Takeover
- Needs code execution or identity access on a VM with a managed identity
- Grants identity access as that managed identity
- Feeds every attack path that starts on such a VM
Detection
A detection for each technique, written as a Sigma rule you can load into your SIEM.
Managed Identity Takeover
- Token requests to the instance metadata endpoint
- From a process that doesn't normally make them
- Followed by API calls the identity hasn't made before
Format: Sigma
What reduces the risk, typed by what it does.
CVE workarounds
Changes that remove a condition a CVE needs, so it can't be exploited while the patch waits.
PHP2Shell
- Reduce exposure set
session.upload_progress.enabled=0 - Only where it loads before the request is parsed: php.ini or the FPM pool
- PHP's own advisory: reduces exposure, doesn't make it safe
Source: PHP security advisories
Technique mitigations
Controls that block or limit a technique, whatever got the attacker there, mapped to MITRE D3FEND.
Managed Identity Takeover
- Contain blast radius scope the identity's role assignments to what the workload uses
- Reduce exposure remove managed identities the VM doesn't need
Mapped to MITRE D3FEND
The semantic layer your agents should have been born with
- SourcedEvery fact points to the research behind it.
- CurrentUpdated as the research changes, not when a model is retrained.
- StructuredFacts, conditions and states, linked, so an agent can follow them.
- Safe by designHolds back anything that would help an attacker more than a defender.
Your agent reads it over MCP. Plug it in
Give your agent something to stand on
Free account, no credit card.