cursor

Rules for using CodeInspectus, a local code-security scanner that reports risks without changing source files. It requires the user to review findings and approve any fix.

In plain words
What is it for?
Use it to scan a workspace, review security findings by severity, investigate one finding at a time, and optionally create a software bill of materials.
Why use it?
It keeps security review separate from editing, so problems are shown with their location and suggested remedy before any code change is made.

Cursor rule

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/synvoya/codeinspectus/cursor
Clone the repo
git clone --depth 1 https://github.com/Synvoya/codeinspectus
Per session 868 This file is loaded in full into every session.
When invoked 868 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00868 $0.00868
Opus 5 $0.00434 $0.00434
Sonnet 5 $0.00174 $0.00174
Haiku 4.5 $0.00087 $0.00087

Measured yesterday against content hash 39fbb5134672, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

cursor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agent-rules/cursor.mdc · 55 lines

What it actually says

CodeInspectus REPORTS; the user DECIDES; you fix only with consent. The tool never edits or deletes your source code or repository — the only file it writes is an optional SBOM (managed dir by default, or a path you choose), with data under ~/.codeinspectus. After generating or modifying code:

  1. Scancodeinspectus_scan on the workspace root (absolute path); local, zero egress; returns CWE-keyed findings + a remediation each. Inspect engine_setup: if it is not ready, explain the exact state (partial engine coverage only for repair_required; DB freshness/rescan continuity for db_refresh_recommended) and ask before running npx codeinspectus repair-engines in the user's terminal. Never download engines silently.
  2. Surface first — present the findings to the user before any change: grouped by severity (criticals first), each with a plain-language risk explanation, the file:line, and the recommended fix from remediation. Never patch silently; never skip to fixing.
  3. Select one finding — ask the user to choose exactly one finding to investigate. Triage Accepted is context only, not reproduction, checkpoint, or edit approval.
  4. Checkpoint first, then fix. Before editing, if the scan's read-only git_safety.state is no_git or dirty, surface its recommendation and — only with user approval — offer a rollback point (git init + commit, or commit/stash current changes). The tool never runs git; YOU do, only if approved (clean/unknown → stay silent). Do not edit yet; the selected finding's source-and-test proposal has its own approval gate below (CodeInspectus only reads/reports).
  5. Rescan after the contract below — after its approved source patch and tests, codeinspectus_rescan, then report honestly: resolved / still firing / introduced. Don't claim a fix worked unless the exact-prior-scan rescan confirms it.
  6. Secrets — for a hardcoded credential, tell the user to rotate/revoke the exposed key at the provider (already compromised; you can't rotate it), not just move it to env. Never report "fixed" without surfacing rotation.

Compliance: codeinspectus_compliance_report — code-level control coverage only, never certification or "% compliant".

Keep secret values redacted (CodeInspectus already redacts them).

Fix-one-finding contract

Load the selected prior scan_id, finding ID, and exact target. Inspect source, sink, controls, and reachability before editing; classify it as actionable, disproven, or unverified. If disproven, stop without calling it resolved. Reproduce only through an explicitly approved, bounded, local, reversible, safe method; otherwise record unsafe-to-reproduce as a proof gap.

Identify or propose a focused regression without adding it yet. Propose the smallest source-and-test patch for this finding only and request patch approval separately from triage, investigation, reproduction, and checkpoint approval. Make no source or test edit before explicit patch approval; if rejected, do not edit. After approval, add the focused regression first and capture failing-before-fix evidence when practical. If it cannot run or does not reproduce the condition, stop before the source patch unless that proof gap is explicitly accepted.

Then apply the source patch, run focused and relevant tests, and call codeinspectus_rescan on the same target with the exact original scan ID as prior_scan_id. Claim scanner resolution only when CodeInspectus returns the target in resolved; remaining is unresolved and not_rechecked is a proof gap. Keep unrelated findings untouched. Report investigation, regression, test, and rescan/proof-gap evidence separately.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 55 lines · 868 tokens per session scan A 39fbb5134672

Subscribe to this mod's changes

cursor is a cursor rule published in the GitHub repository Synvoya/codeinspectus (44 stars, last pushed 7d ago), licensed Apache-2.0. It adds 868 tokens to every session, about $0.0043 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.