Security news, matched to your stack

Type /stackalarm in your agent. Find out what to patch first.

npx skills add yoanbernabeu/stackalarm

It offers to install the CLI on first run.

The skill reads your project, the CLI reads the news. Neither one patches, pushes or deploys anything on its own.

A verdict first, then what to change

Open a project in your agent and run the skill. The agent finds what the project runs on (manifests, lockfiles, Dockerfiles, CI, git remotes), gathers the news, completes it with a web search and your own audit tools, and answers with the findings grouped by urgency.

/stackalarm
/stackalarm before the Friday deploy
/stackalarm are we affected by PHP2Shell?

Call it by name. Asked "any security flaws to fix?", agents tend to run npm audit or composer audit on their own, which know nothing of this week's runtime flaws or announced releases.

/stackalarm on a Symfony project with a self-hosted GitLab

Example answer, October 2026

Verdict: yes, act today. Two critical PHP flaws (unauthenticated RCE, public exploit) affect the 8.3 branch this project runs on, and the self-hosted GitLab needs a patch.

Act now

  • PHP, CVE-2026-109618 / CVE-2026-109619 (CVSS 9.2): the Dockerfile uses php:8.3-fpm, a floating tag, so production is possibly affected depending on when the image was built. Rebuild with --pull, redeploy, check php -v shows 8.3.36. Until then: session.upload_progress.enabled=0.
  • GitLab, CVE-2026-110264 (CVSS 10): the remote points to a self-hosted instance. Fixed in 19.5.1, 19.4.3, 19.3.6… Which version does gitlab.acme.internal run?

Prepare

  • Symfony 7.3 no longer gets security fixes; CVE-2026-108082 is only fixed in 7.4.

Checked: php, symfony, composer, gitlab tags, CERTs, NVD, EUVD, KEV, web search, composer audit. Not checked: the PHP version running in production, the full lockfile.

Shall I pin FROM php:8.3.36-fpm in the Dockerfile?

A patch becomes an exploit in hours

AI now turns a security patch into a working exploit in hours. In October 2026, the PHP team announced a critical release one day ahead. Teams that caught the heads-up on Tuesday evening had a night to prepare. The others learned about it from their logs.

Your agent's training data does not know this week's vulnerabilities, and dependency audits only see library advisories: they miss flaws in the runtime itself, Docker base images, self-hosted tools such as GitLab, and releases announced but not yet out.

PHP2Shell, as the CLI saw it
  1. heads-up PHP internals: "Upcoming Critical PHP Security Release"
  2. release PHP 8.3.36 released
  3. alert Exploit-DB: PHP2Shell (CVE-2026-109618), remote code execution
  4. alert CERT-FR: multiple vulnerabilities in PHP

Two halves, neither useful alone

The skill

The analyst

It reads the project to find the technologies and their versions, runs the CLI, and completes it with a web search and your ecosystem's audits (composer audit, npm audit, pip-audit, govulncheck…).

It decides what actually applies, says how sure it is (exact version, branch or range), asks the one question that would change the verdict, and offers to fix what lives in the repository, one change at a time, after asking.

The CLI

Its eyes

It reads 92 sources first-hand, so the agent sees an announcement minutes after it is published, before search engines index it.

stackalarm news --tag php --since 7d
Security news since 2026-10-16 09:19 UTC (php)

2026-10-21  release   php-releases             PHP 8.3.36 released!
2026-10-21  alert     cert-fr-alerts           [Màj] Multiples vulnérabilités dans PHP (21 octobre 2026)
2026-10-21  alert     exploit-db               [remote] PHP2Shell (CVE-2026-109618) - PHP core versions after v5.4 - RCE
2026-10-20  heads-up  php-internals            [PHP-DEV] Upcoming Critical PHP Security Release
…

92 sources, five stages

Projects and vendors, the GitHub Advisory Database, the NVD and EUVD CVE databases, CERTs from the US, Europe, Canada and Japan, CISA KEV, exploit databases and the security press. Every item they publish gets a stage.

heads-up
A security release is announced ahead. The most valuable signal: time to prepare before anyone can read the patch.
4 sources
release
The fix is out.
11 sources
advisory
The CVE details: affected and fixed versions, score, conditions.
56 sources
alert
A CERT alert, a public exploit, or exploitation in the wild.
9 sources
news
Security press and research. Context, never enough on its own to call a project affected.
12 sources

See all 92 sources and their tags

A source that cannot be read is always listed in the output: a silent watch tool is worse than a noisy one.

One command

npx skills add yoanbernabeu/stackalarm

For Claude Code, Codex, Cursor and other agents. The first time you run /stackalarm, the skill sees the CLI is missing and offers to install it, with Homebrew or the install script; it runs nothing before you agree.

Optional: set GITHUB_TOKEN to raise the GitHub API rate limit, and NVD_API_KEY (free) to search the NVD faster.

Install the CLI yourself
brew install yoanbernabeu/tap/stackalarm

or, on Linux and macOS:

curl -sSL https://raw.githubusercontent.com/yoanbernabeu/stackalarm/main/install.sh | sh

On Windows, download the zip from the releases. With Go: go install github.com/yoanbernabeu/stackalarm/cmd/stackalarm@latest.

Keep watch every four hours, in your CI

A check only helps when someone runs it. The scheduled watch runs the CLI in GitHub Actions or GitLab CI and opens an issue when a heads-up, an alert or a security release concerns your stack. Quiet runs cost nothing and open nothing.

It starts from a profile

At the end of a /stackalarm run, the agent offers to write .stackalarm.yaml: the tags, keywords and packages to watch, and the stack they come from. It is refreshed on each run, and never holds host names or secrets.

.stackalarm.yaml
tags: [php, symfony, composer, docker]
keywords: [frankenphp]
packages: [symfony/http-kernel, twig/twig]
stack:
  - {name: php, version: "8.3", precision: branch, from: Dockerfile}

GitHub Actions

Copy ci/github/stackalarm.yml to .github/workflows/. With an ANTHROPIC_API_KEY secret, Claude triages the news first and an issue is opened only when the project is concerned. Claude runs locked down: it cannot open issues, push or change the project's files.

GitLab CI

Include the job, add a token and a pipeline schedule:

.gitlab-ci.yml
include:
  - remote: https://raw.githubusercontent.com/yoanbernabeu/stackalarm/main/ci/gitlab/stackalarm.yml

Read how the scheduled watch works: the action's inputs, what each run does, and how each item is reported once.

What leaves your machine

The CLI downloads public feeds and queries public APIs. It sends only what it is given: tags and keywords, as search terms to the CVE databases (NVD, EUVD), and package names, to the GitHub Advisory Database. Nothing else about your project, and no telemetry. The skill runs your own audit tools locally, and its web searches go through your agent.