Security
Verified by Toolspoke

Vulnerability digest

By Toolspoke

Lists the week's new critical and high Snyk issues by repository every Monday, with the fixed version, in one Slack post.

Needs a Toolspoke account. You choose which project it installs into.

An illustration with made-up examples. It is not a recording.
Snyk + GitHub + Slack
Required integrations
Runs on a schedule
Mondays at 9am by default
Post one message
What its last step does
Nothing destructive
0 of 46 actions in its tools
On this page
  1. The short version
  2. What Vulnerability digest does
  3. How it works
  4. What a Monday digest looks like
  5. Who uses Vulnerability digest
  6. What it connects to
  7. What it will never do
  8. When it runs
  9. How to set it up
  10. Make Vulnerability digest fit your team
  11. Compared with other options
  12. Questions
  13. Related agents

The short version

What it is
A ready-made Toolspoke agent that turns a week of new Snyk findings into one digest an engineering lead can plan from.
What it reads
Snyk projects and the critical and high issues first found in the last seven days, and the latest commit on each repository's default branch.
Where it posts
One Slack channel, chosen when you set it up.
What it reports
New issues grouped by repository, critical first, each with its package, advisory id and title, and the version that fixes it.
How often
Mondays at 9am once you switch it on.
What it never does
Open a pull request, branch or issue, change anything in Snyk, or post exploit details.
What you need
A Toolspoke account, a Snyk token, a GitHub account and a Slack workspace.

What Vulnerability digest does

Vulnerability digest is an AI agent that reads the critical and high issues Snyk found in the last week, groups them by repository, says which upgrade fixes each, and posts one Slack message every Monday.

Snyk finds new vulnerabilities every week, and its notifications arrive one project at a time. The critical one in the payments service sits between three in a test fixture, and by Friday nobody has looked.

The Snyk dashboard has everything, but it is a list of findings, not a plan. What a team needs on Monday is which repositories gained something serious, and which single upgrade closes most of it.

Vulnerability digest reads only what is new and only what is critical or high, groups it by repository, and follows the keep dependencies patched skill to group findings by package, because one upgrade often closes several. It adds how fresh each repository's default branch is, from GitHub.

In practice, every Monday morning you get one message:

  • New critical and high issues, grouped by repository, critical first
  • The package, version, advisory id and title for each
  • The version that fixes it, or "no fix yet"
  • How many issues one upgrade closes

How it works

Vulnerability digest works in four steps every Monday: it lists the projects, reads the new issues, maps them to repositories and posts one digest. All of it comes from the agent's written instructions, which you can read and edit after you install it.

  1. Step 1: List the projects

    It skips projects with no critical or high issues open.

  2. Step 2: Read the new issues

    It keeps critical and high issues first found in the last seven days.

  3. Step 3: Add context

    It maps each project to its repository and reads the latest commit.

  4. Step 4: Post one digest

    It posts one block per repository, critical first.

It reads only what is new

It lists projects with list_projects and their open issue counts, then reads each project's issues with list_issues, filtered to critical and high, open, not ignored and first found in the window. Old findings are left to your dashboard.

It says what fixes it

It reads each issue with get_issue for its advisory id, the package and version affected, and whether Snyk records an upgrade that fixes it. Where it does not, the line says "no fix yet".

It groups by package

Following the skill, findings that one upgrade closes are grouped together and counted, so the digest reads as a short list of upgrades rather than a long list of findings.

It keeps exploit detail out

It posts the advisory id and title, not proof-of-concept code, file paths, line numbers or code flows. Anyone with access can look up the rest. The limits are listed under what it will never do.

What a Monday digest looks like

A digest from Vulnerability digest is a single Slack post. It opens with the count, then one block per repository with each issue's package, advisory and fix.

Tidewater

Channels

  • # security
  • # engineering
  • # platform
  • # general

# security

Vulnerability digestAPP9:00 AM

13 to 20 October. 4 new critical and high issues in 2 repositories.

tidewater/api (2)

  • Critical, lodash 4.17.15, CVE-2020-8203, prototype pollution. Fixed in 4.17.19. Default branch updated 2 days ago.
  • High, axios 0.21.0, CVE-2021-3749, inefficient regular expression. Fixed in 0.21.2.

tidewater/web (2)

  • High, semver 5.7.1, CVE-2022-25883, regular expression denial of service. Fixed in 5.7.2. One upgrade closes 2 issues.

Nothing new

tidewater/admin, tidewater/docs, tidewater/worker, tidewater/infra, tidewater/mobile.

One message, posted on Monday at 9:00 AM. The company, repositories and findings are made up.
Critical first

Repositories with a new critical issue lead the digest, with the version that fixes it.

High

New high issues, grouped by the upgrade that closes them, so one line can stand for several findings.

Nothing new

Repositories with no new critical or high issue, in one line, so you know they were checked.

What a quiet week looks like

If nothing new reached critical or high, it posts one line saying so. A security digest that skips a week leaves people wondering whether it ran.

A failed run is different. If Snyk cannot be read, it posts that once and stops, so a broken connection never looks like a clean week.

Who uses Vulnerability digest

Vulnerability digest suits any team that monitors code with Snyk and plans its work in Slack and GitHub. The examples use made-up names.

An engineering lead planning the week

Fatima Zahra picks the week's upgrades on Monday morning. The digest tells her which repository has a critical and which single upgrade clears it.

In their digestNeeds youCritical, lodash 4.17.15. Fixed in 4.17.19.

A security engineer on a small team

Lukas Weber is the only security person. He used to triage Snyk emails one by one. Now he reads one post and spends the time on what is reachable.

In their digestWorth knowingHigh, semver 5.7.1. One upgrade closes 2 issues.

A CTO reporting to customers

Grace Liu answers security questionnaires. The weekly record of what was found, and when, helps her answer how quickly the team patches.

In their digestEverything elseNothing new in 5 repositories.

A platform team owning many services

Diego Morales looks after thirty services. Grouping by repository, with how fresh each default branch is, shows which ones are still maintained.

In their digestNeeds youtidewater/api, default branch updated 2 days ago.

What Vulnerability digest connects to

Vulnerability digest connects to three tools: it reads Snyk and GitHub and posts to Slack. You connect each one yourself, and Toolspoke stores the connection encrypted, so the agent never sees the credential.

  • Snyk

    Required

    Read organizations, projects, targets, security issues, SBOMs, and scan settings.

    Authentication: API token

  • GitHub

    Required

    Manage repositories, issues, pull requests, and Actions.

    Authentication: Personal access token

  • Slack

    Required

    Search conversations and send messages to your workspace.

    Authentication: Bot token

Skills it follows

What Vulnerability digest does and cannot do in each connected tool
ToolWhat Vulnerability digest doesWhat it cannot do
SnykReads projects, targets and issues (list_projects, list_targets, list_issues, get_issue).Ignore, fix or change an issue or a project: the connector has no write actions at all.
GitHubReads the latest commit on each repository's default branch with list_commits.Delete a repository or merge a pull request: the connector has no action for either. It can open issues and pull requests, comment, create branches, commit files and run workflows, and this agent's instructions forbid all of them.
SlackPosts one message with send_message, to a channel.Delete messages: the connector has no delete action. It can also edit the bot's messages, schedule messages and react, and the agent is told not to.

That the Snyk connection only reads is a property of the connector. That the agent only reads GitHub is an instruction, not a lock. If you want a lock, connect GitHub with a fine-grained token that can only read contents, or switch off its write actions in your project. The access control guide explains how.

The Snyk issue lists are not written to the activity log, because a list of unfixed vulnerabilities is what an attacker would want. The digest posted to Slack is stored, and it carries only advisory ids, titles and versions.

What Vulnerability digest will never do

Vulnerability digest is told never to open a pull request, branch or issue, never to change anything in Snyk, and never to post exploit details. It reports, and the team decides what to upgrade and when.

  • Open a pull request, create a branch, commit a file, open or comment on an issue, or run a workflow in GitHub.
  • Ignore, snooze or change an issue in Snyk.
  • Post exploit details, proof-of-concept code, vulnerable file paths and lines, or code flows.
  • Post anywhere but the channel chosen at install.
  • Rank by anything but severity and the fix's reach.

Why it does not open pull requests

An automated upgrade on Monday morning lands in the middle of someone's week, and a batch of them is how upgrades get merged without review. Snyk and Dependabot can open fix pull requests already, if you want them; this agent stays a report.

What it keeps out of Slack

A Slack channel is read by more people than your Snyk dashboard, and messages are kept for years. The advisory id is enough for anyone with access to find the detail.

A message that says too muchPrototype pollution in lodash via merge() at src/billing/import.ts line 88. Send {"__proto__": ...} to /api/import to trigger it.
What this agent writes insteadEverything elseCritical, lodash 4.17.15, CVE-2020-8203, prototype pollution. Fixed in 4.17.19.

Why you may still want a lock

Snyk cannot be changed through this connection. GitHub can, so a read-only token, or GitHub's write actions switched off in your project, makes the instruction a lock.

If something goes wrong

If Snyk cannot be read, post that once and stop. If GitHub cannot be read, post the digest without commit context and say so. If a project cannot be mapped to a repository, group it under its Snyk project name.

These are written into Vulnerability digest's instructions. They guide the agent, but they are not a permission. What it is allowed to touch is set by the access you grant.

Vulnerability digest reads Snyk and GitHub and reports what it finds. Every upgrade, pull request and decision to accept a risk stays with a person.

When Vulnerability digest runs

Vulnerability digest runs on Mondays at 9am, but only after you switch its schedule on. It arrives switched off, so nothing runs and nothing is charged until you decide.

  • Each run reads issues first found in the last seven days.
  • Only critical and high issues are included.
  • A quiet week gets one line saying so.
  • If Snyk cannot be read, it posts that once.

Each run uses model credit from your workspace balance, so it makes one run a week. An organization with many projects costs more, because there is more to read. The Snyk, GitHub and Slack calls themselves are free.

Your copy is an ordinary agent in your project. You can pause its schedule there, run it once on demand, change the day and time and edit its instructions. The agent's page lists recent runs and their cost.

How to set up Vulnerability digest

To get a weekly security digest, add Vulnerability digest to a Toolspoke project, connect Snyk, GitHub and Slack, choose the channel and switch on the schedule. It takes a few minutes, and nothing runs until the last step.

  1. Step 1: Create a Toolspoke account or sign in

    Choose Use this agent. If you are new, you will be asked to sign up first, and you come straight back to this agent afterwards.

  2. Step 2: Add it to a project

    Pick the project it should live in. You get your own editable copy, and you can see the three tools it brings before anything connects.

  3. Step 3: Connect Snyk

    Paste a Snyk service account token with view access to your organization. It is stored encrypted and the agent never sees it.

  4. Step 4: Connect GitHub

    Connect GitHub, ideally with a fine-grained token that can only read the repositories Snyk monitors.

  5. Step 5: Connect Slack and pick the channel

    Choose Sign in with Slack and approve the Toolspoke app. A private security channel is a good home: add the Toolspoke bot to it first, then name it in the instructions.

  6. Step 6: Switch on the schedule

    The schedule arrives switched off. Run it once to see a digest, then switch it on.

Make Vulnerability digest fit your team

Vulnerability digest's instructions are plain English and you can edit them after you install it. Installing copies the agent, so your edits stay with your copy. Open the agent in Toolspoke and tell the builder what to change, and it rewrites the instructions.

Paste any sentence below into the builder chat, or say the same thing in your own words.

Include medium issues
Include medium issues too, after the high ones.
Leave out a project
Leave out any Snyk project whose name starts with sandbox-.
Only production code
Only include projects whose lifecycle is production.
Tag the owners
Mention @payments-team when tidewater/api has a new critical issue.
Run twice a week
Run on Mondays and Thursdays at 9am, covering the days since the last run.

This changes when the agent wakes up, so the builder edits its schedule as well as the window.

None of these edits needs more access or touches the Never rules. They change what Vulnerability digest is told, not what the connections allow.

How it compares to other options

Vulnerability digest beats the alternatives when you want one weekly view of what is new and serious, grouped by repository, and loses to them when you want fix pull requests opened for you.

Vulnerability digest compared with Snyk email notifications, Snyk fix pull requests, Dependabot alerts
Compared onVulnerability digestSnyk email notificationsSnyk fix pull requestsDependabot alerts
One message for all repositoriesYes, weeklyPer projectNo, a pull request eachPer repository
Only new critical and highYesConfigurableConfigurableFilter by hand
Fixed version per issueYes, where Snyk has oneYesYes, appliedYes
Groups issues by upgradeYesNoYesPartly
Opens pull requestsNo, told not toNoYesWith security updates
Keeps exploit detail out of SlackYesNot in SlackNot in SlackNot in Slack
Setup effortConnect three accountsNonePer projectPer repository

Snyk's fix pull requests are the better choice when you want upgrades opened automatically and your team reviews them as they come. The digest is for deciding what to do first.

Dependabot alerts are better if you live in GitHub and do not use Snyk. They are per repository, and do not give a weekly view across all of them.

Frequently asked questions

Can Vulnerability digest open a pull request?

It is told never to. The GitHub connection can open pull requests and issues, create branches and commit files, so if you want a lock, use a read-only token or switch those actions off in your project (how access works).

Can it ignore or change an issue in Snyk?

No. The Snyk connector has no write actions at all.

Why only critical and high?

Because a weekly digest that lists everything gets skimmed. You can ask the builder to include medium issues too.

Does it post how to exploit an issue?

No. It posts the advisory id, title, package, version and fix. It is told never to post proof-of-concept code, file paths, line numbers or code flows.

Does it rank by whether the code is reachable?

It cannot see your runtime, so it ranks by severity and by how many issues one upgrade closes. The skill it follows asks a person to judge reachability.

Are the Snyk findings kept in the activity log?

No. The connector keeps issue lists out of the log. The Slack message itself is stored.

Is Vulnerability digest free?

It has no price of its own, and every Toolspoke plan includes agents. Tool calls cost nothing, but each run draws on your usage balance. Pricing has the details.

Start the week knowing what is exposed

Connect Snyk, GitHub and Slack and switch on the schedule. Your first digest lands on Monday at 9am.

Use this agent