Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
layne — A doggo that helps look for security issues in your repositories. | Kitploit
Tools/GitHubGitHub/rocketchat/layne
Static AnalysisVulnerability ScannersCode AnalysisDevSecOpsSecret DetectionSupply Chain SecurityAI Security
GitHubrocketchat/layne

layne

A doggo that helps look for security issues in your repositories.

View Repository
11452 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Layne

Layne logo

Layne is a self-hosted GitHub App that centralizes security scanning across our repositories. Since we don't use commercial SAST/secrets scanning tools, nor we have access to GitHub Enterprise, it can get hard to maintain different GitHub Actions workflow files across different repositories - especially as such repositories grow in number. Instead, we install Layne once and it listens for pull request events, runs our security tools server-side, posts the results back as native GitHub Check Run annotations, and notifies our security team's security notifications channel.

This tool was based on Reddit's Implementation.

How It Works

root@kitploit:~
                        ┌─────────────────────────────────┐
                        │      GITHUB PULL REQUEST        │◀────────────────────────┐
                        │      (OPEN, SYNC, REOPEN)       │                         │
                        └─────────────────────────────────┘                         │
                                        │                                 Check run │
                                  HTTP Post /webhook                                │
                                        │                                           │
┌──────────────────────────────────────────────────────────────────────────────────────────┐
│  EC2 Instance (Docker)                │                                           │      │
│                               ┌───────▼────────┐                                  │      │
│                               │  NGINX + TLS   │                                  │      │
│                               └───────┬────────┘                                  │      │
│                                       │                                           │      │
│                 ┌─────────────────────┘                                           │      │
│                 │                                                                 │      │
│┌─────────────┐  │   Schedules job   ┌────────────────┐    ┌────────────┐          │      │
││    LAYNE    │◀─┘ ─────────────────▶│     REDIS      │───▶│ TRUFFLEHOG │──┐       │      │
││    SERVER   │                      │    (BULLMQ)    │ │  └────────────┘  │       │      │
│└─────────────┘                      └────────────────┘ │  ┌────────────┐  │       │      │
│                                                        │─▶│   SEMGREP  │──┤       │      │
│                                                        │  └────────────┘  │       │      │
│                                                        │  ┌────────────┐  │  ┌──────────┐│
│                                                        ├─▶│   CLAUDE   │──┼─▶│ REPORTER ││
│                                                        │  └────────────┘  │  └──────────┘│
│                                                        │  ┌────────────┐  │              │
│                                                        ├─▶│   SPECTRE  │──┤              │
│                                                        │  └────────────┘  │              │
│                                                        │  ┌────────────┐  │              │
│                                                        └─▶│ DEP DOCTOR │──┘              │
│                                                           └────────────┘                 │
└──────────────────────────────────────────────────────────────────────────────────────────┘
Download Tool

When a PR is opened or updated - or after a workflow/job runs, depending on your configured trigger -, GitHub sends a webhook to Layne. The server immediately enqueues a scan job and returns 200 OK to GitHub. A worker picks up the job, clones exactly the commit that triggered the event, hands the changed files off to each configured scanner (Semgrep, Trufflehog, Claude, Spectre, Dep Doctor), collects their findings, and posts the results as inline annotations on the Check Run.

Only the files modified in the PR are passed to each scanner. Findings in files you did not touch are never reported.

Scanners

Layne ships with five built-in scanners. You can enable, disable, or configure each one per repository in config/layne.json.

ScannerWhat it detectsNotes
SemgrepSAST - bugs, vulnerabilities, insecure patternsRuns semgrep scan --config auto by default; fully configurable via extraArgs
TrufflehogSecrets, API keys and credentialsRuns trufflehog filesystem; use --only-verified to reduce noise
ClaudeMalicious intent, backdoors, obfuscated payloads, supply-chain attacksDisabled by default; opt in per repo; requires ANTHROPIC_API_KEY
SpectreMalicious intent via single LLM call per fileDisabled by default; opt in per repo; supports Anthropic, OpenAI, Google, Mistral, Bedrock
Dep DoctorCVEs, abandoned and deprecated dependenciesDisabled by default; opt in per repo; requires osv-scanner in PATH

You can also add your own scanners. See Extending Layne.

Layne's Workflow

Once everything is properly configured, Layne will add a run to the pull request and run the configured scanning tools. When a scan fails, it looks like this.

Layne failed check in the PR

Layne's findings will be written to the PR as inline annotations, indicating the exact lines where the security issues were found.

Layne check run with inline security annotations on a pull request

You can also see Layne's findings and a summary of them by clicking on the check itself.

Layne check run summary showing findings broken down by severity

And you can configure Layne to send a notification via webhook to a Rocket.Chat channel - you can also configure Slack and it's easy to add new notifiers if you use a different chat platform.

Rocket.Chat message from Layne showing finding count and PR link

Documentation

Run the documentation site locally:

root@kitploit:~
npm run docs:dev

Then open http://localhost:3000.

The full documentation covers deployment, configuration, scanners, notifiers, PR comments, finding suppression, metrics, security architecture, and more.

License

Layne is licensed under the Apache License 2.0 (Apache-2.0). See LICENSE for the full text.

Copyright 2026 Rocket.Chat Technologies Corp.