rafter

Scan code for secrets, SAST findings, and vulnerable dependencies via the Rafter CLI.

27|13|Updated Jul 25, 2025
One-click install
npx skills add https://github.com/Raftersecurity/rafter-cli --skill rafter-raftersecurity
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: rafter
Source: https://github.com/Raftersecurity/rafter-cli/tree/main/python/rafter_cli/resources/skills/rafter
Command: npx skills add https://github.com/Raftersecurity/rafter-cli --skill rafter-raftersecurity

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code changes that touch auth, secrets, untrusted input, SQL, shell execution, or dependencies carry security risk that is easy to miss in fast-moving AI-assisted workflows. This Skill routes those changes through the Rafter CLI so scans, command-risk checks, and finding triage actually happen before work is called done. ## Core Features & Use Cases - Remote and local scanning: Run rafter run for remote SAST + SCA + secrets analysis, rafter run --mode plus for an agentic deep-dive, or rafter secrets for offline hardcoded-credential detection with no API key. - Command risk evaluation: Classify shell commands into low/medium/high/critical risk tiers with rafter agent exec --dry-run before executing destructive operations. - Finding triage and suppression: Interpret severity, confidence, and rule IDs, then fix, baseline, or suppress findings with documented reasons in .rafter.yml. - Use Case: Before merging a PR that adds a new API endpoint and bumps dependencies, run rafter run to catch injection flaws and known-vulnerable packages, then triage any findings by severity and confidence. ## Quick Start Ask the AI to run a Rafter security scan on the current repository and summarize any findings by severity.

Frequently Asked Questions about rafter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scan a repository for security issues with Rafter?▼

Run `rafter run` in the repository to trigger a remote SAST + SCA + secrets scan, which requires an RAFTER_API_KEY. Results come back as JSON with ruleId, severity, file, line, and confidence per finding, retrievable later via `rafter get <scan-id>`.

What is the difference between rafter secrets and rafter run?▼

`rafter secrets` is a local, offline scan that only detects hardcoded credentials using regex and Betterleaks, with no API key needed. `rafter run` is the full remote analysis covering SAST, dependency CVEs, and secrets, and is the default for security-relevant work.

Can I use Rafter without an API key?▼

Yes, but only `rafter secrets` works without an RAFTER_API_KEY, and it only checks for leaked credentials rather than performing code security analysis. For SQL injection, SSRF, auth bugs, or dependency vulnerabilities, the remote scan with a key is required.

How do I check if a shell command is safe before running it?▼

Use `rafter agent exec --dry-run -- <command>` to classify the command into low, medium, high, or critical risk tiers without executing it. Critical commands like irreversible deletions are blocked, while high-risk ones prompt for approval.

How do I suppress a false positive finding in Rafter?▼

Add an `ignore` block in `.rafter.yml` listing the paths, optional rule names or IDs, and a written reason. Suppressed findings move to a `_suppressed` array and no longer affect the exit code, and the same block applies to both local and remote scans.

When should I use rafter run --mode plus instead of fast mode?▼

Use plus mode when fast mode flags something worth deeper investigation or before a release, since it performs agentic cross-file reasoning at higher cost and latency. It consumes paid credits, so confirm with the user before running it.