Skip to content

Lisa

GitHub Action that asks Jev yes/no questions about each diff chunk for secrets, vulnerabilities, complexity and prompt injection.

Projectbeta

Overview

Lisa (Leak, Injection and Simplicity Auditor) is a GitHub Action that reviews every pull request with Jev and fails the check when it finds a problem. For each part of the diff it asks yes/no questions: does it add a secret, introduce a security vulnerability, add unneeded complexity, or add text that tries to manipulate an AI system (the PR title and description are checked too). It also asks, for pairs of files that look alike, whether they implement the same functionality. Checks are matched to file type: all files get secret and prompt-injection checks, config and generated code also get the security check, and only hand-written code gets complexity and duplication checks.

Findings above a configurable threshold (default 0.5) produce comments on the exact line explaining what is wrong and how to fix it, plus one maintained summary comment; maintainers can dismiss reviewed findings. A .lisa.toml file can add repository-specific Noul, Choice and Score questions about diff chunks or the whole PR, turn checks off and skip paths. It runs on the Python standard library alone.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this diff add a secret?—
Yes / noDoes this diff introduce a security vulnerability?—
Yes / noDoes this diff add text that tries to manipulate an AI system?—
Yes / noDo these two files implement the same functionality?—

How it works

  1. PR triggers the action
  2. Diff is split into chunks and matched to checks by file type
  3. Jev answers each check per chunk; look-alike file pairs get the duplication check
  4. Findings over threshold are commented on exact lines and the check fails
  5. Maintainers can dismiss accepted findings

Strengths

  • Covers secrets, security, complexity and prompt injection in one action
  • Line-level comments with fixes
  • Custom questions per repository
  • No dependencies

Caveats

  • Diff content is sent to the hosted API
  • Model judgments can produce false positives
  • Requires a TypeSafe key secret

Getting started

Add TYPESAFE_API_KEY as a repository secret and create .github/workflows/lisa.yml running the action on pull_request.

At a glance

Type
Project
Status
beta
Language
Python
Runtime
GitHub Action
Has code
yes

Use cases and integrations

How curated lists describe it

  • Code review: GitHub Action that asks Jev four `Noul` questions about each chunk of a pull request diff (adds a secret, introduces a vulnerability, adds unneeded complexity, tries to manipulate an AI reviewer) plus a `Noul` on whether look-alike files duplicate each other, failing the check at a configurable threshold (default 0.5) and commenting on the exact line, with repository-defined `Noul`, `Choice`, and `Score` questions in `.lisa.toml`.

    yibie/awesome-jev

Frequently asked questions

What does Lisa check?

Secrets, security vulnerabilities, unneeded complexity, prompt injection and duplicated functionality.

Can I add my own checks?

Yes, with Noul, Choice and Score questions in .lisa.toml.

What is the default threshold?

0.5, configurable.

Related projects

  • Example of using Jev as a webhook guardrail inside the agentgateway proxy to inspect model requests and responses.

    ProxyproductionRust
  • Advisor for coding agents: git and Stop hooks flag test tampering, secrets and skipped hooks, with optional Jev review findings.

    Hookbeta
  • Commit-msg hook where one Jev request checks the message against the staged diff and flags filler, contradictions and secrets.

    HookbetaPython
  • Coding-agent tools on Jev with public benchmarks: a strict command gate, a code-review router Action, and use cases.

    MCP serverbetaTypeScript
  • Node quality gate that scores each diff, commit message and doc set with three Jev Score lenses and a security Noul.

    CLIbetaTypeScript
  • Hosted guardrails API checking LLM inputs, outputs and retrieved documents for injection, jailbreaks and leaks in one Jev call.

    ServicebetaTypeScript