whatisgithub

What is assay?

chawdamrunal/assay — explained in plain English

Analysis updated 2026-05-18

4GoAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

A security scanner that threat-models Claude Code plugins, MCP servers, hooks, and skills with an LLM to catch prompt injection and credential exfiltration before you trust them.

Mindmap

mindmap
  root((assay))
    What it does
      LLM threat modeling
      Cited code findings
      Safe caution unsafe verdict
      Citation validation
    Tech stack
      Go
      React
      Claude Code
      MCP
    Use cases
      Pre-install security scan
      MCP server review
      Plugin and skill audit
    Audience
      Security engineers
      Claude Code users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Scan an MCP server or Claude Code plugin for prompt injection and credential exfiltration risks before installing it.

USE CASE 2

Get a safe, caution, or unsafe verdict backed by verbatim code citations for a given tool.

USE CASE 3

Run scans through a local web UI, CLI, or as an MCP server Claude Code drives directly.

What is it built with?

GoReactClaude CodeMCP

How does it compare?

chawdamrunal/assayaeneasr/github-trendsbxcodec/go-simple-flatbuffer
Stars444
LanguageGoGoGo
Last pushed2020-12-182017-06-09
MaintenanceDormantDormant
Setup difficultymoderateeasyeasy
Complexity3/52/52/5
Audiencedeveloperpm founderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Runs on an existing Claude Code subscription by default, building from source requires Go and make.

Apache-2.0 license, use freely including commercially, with patent grant protections, as long as you keep attribution notices.

So what is it?

Assay is a security scanner built specifically for the Claude Code and MCP ecosystem. Before you install a plugin, connect an MCP server, or trust a hook or skill, Assay uses a large language model to first build a threat model of what that piece of code could do, then reads the actual source to check whether the code backs up or contradicts that threat model. Every finding it reports must point to a real, verbatim quote from a specific file and line, rather than a vague warning. The tool is aimed at a category of risk that traditional static analysis and dependency scanners tend to miss: code that is technically legal and functional but written with bad intent. It specifically looks for prompt injection, MCP tool poisoning, credential exfiltration, hook abuse, and cases where a tool's claimed capability does not match what it actually does. Because the threat model is built before the code is read, the review works more like a reasoning process than a pattern-matching search. A separate validation step re-checks every citation the model makes and throws out any claim that cannot be backed by real code in the file. Assay runs using your existing Claude Code subscription by default, calling out to the Claude Code CLI rather than requiring a separate API key or running into API rate limits. It ships as a single binary that can act as a command line tool, a local web interface for starting and reviewing scans, or an MCP server that Claude Code itself can drive directly. A completed scan produces a plain verdict of safe, caution, or unsafe, along with a JSON and Markdown report you can read or feed into other tools. Getting started means cloning the repository, running a build and install command that produces one binary with its web interface embedded, then running an inventory command to see what is currently installed under your Claude configuration, followed by the serve command to open the web UI and start a new scan. The project is still pre-1.0 and under active development, and is released under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
Write a threat model for an MCP server that lists its tools, expected capabilities, and possible abuse cases.
Prompt 2
Review this code for evidence of prompt injection or hidden credential exfiltration, citing exact file and line locations.
Prompt 3
Design a validation step that re-checks an LLM's citations against the actual source file before trusting a finding.
Prompt 4
How do I build a Go CLI that can also run as a local web server and as an MCP server?

Frequently asked questions

What is assay?

A security scanner that threat-models Claude Code plugins, MCP servers, hooks, and skills with an LLM to catch prompt injection and credential exfiltration before you trust them.

What language is assay written in?

Mainly Go. The stack also includes Go, React, Claude Code.

What license does assay use?

Apache-2.0 license, use freely including commercially, with patent grant protections, as long as you keep attribution notices.

How hard is assay to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is assay for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.