Local RLM Security Audit

VerifiedCaution

Run local privacy-preserving RLM security audits for large .NET legacy codebases. Produce actionable markdown/JSON audit outputs without loading full code into model context.

Sby Skills Guide Bot
SecurityAdvanced
7/23/2026
Claude CodeCodexCursor
#security-audit#dotnet#dspy-rlm#local-llm#static-analysis

Recommended for

Automated summary

Operates audit.py, a privacy-preserving local DSPy RLM workflow that scans large legacy .NET repositories for vulnerabilities without loading the whole codebase into model context.

Strengths

  • Gives concrete tuning ranges (iterations, LLM calls, tool output caps, timeouts) aimed at large legacy repos
  • Keeps analysis local against a self-hosted model endpoint, which suits privacy-constrained environments
  • Specifies expected artifacts (markdown report, JSON metadata, JSONL manifest) and required report sections
  • Includes focused troubleshooting for stalls, model truncation, and file-access errors in RLM steps

Limitations

  • Assumes a pre-existing setup (Deno, Python, audit.py, model endpoint on localhost:8000) it does not install
  • Parameter ranges are heuristics that still require empirical adjustment per repository
  • Focuses on execution and tuning rather than detection rules or accuracy of the findings
When to use it

Use it to run or unblock a local RLM security audit over a large .NET codebase and produce an actionable report with file/line evidence.

When not to use it

Avoid it when no local model endpoint or audit.py is available, or for quick scans of small projects where conventional static analysis is enough.

Security analysis

Caution
Quality score82/100

The skill is a legitimate security-audit workflow and does not instruct destructive actions, secret exfiltration, obfuscated payloads, or disabling safety. Risk is moderate because it tells the agent to execute an external Python script and use model/tooling infrastructure, so trust and endpoint configuration matter.

Findings
  • •Instructs running an external `audit.py` from a GitHub repository, introducing supply-chain and code-execution risk if the repository/script is not trusted or pinned.
  • •Uses a model endpoint (default localhost) and repository scanning tools, so code may be processed by a local or configured LLM service; privacy depends on endpoint configuration.
  • •Relies on `deno` and Python execution for tool-driven auditing; legitimate but powerful local tooling.
How this analysis is made

Examples

Baseline audit
Run a baseline security audit on the repo at /srv/repos/legacy-billing with AUDIT_VERBOSE=1, then confirm security_audit_report.md, security_audit_metadata.json and security_audit_manifest.jsonl were produced.
Tune for a huge legacy repo
This .NET repo is very large and the audit keeps churning. Re-run audit.py with --max-iterations 10, --rlm-max-llm-calls 80, --rlm-max-output-chars 20000, --tool-max-lines 300, --search-max-files 1500 and --timeout-seconds 1200.
Troubleshoot a stall
The audit appears stalled and the model output is getting truncated. Enable verbose mode, lower --max-iterations and --rlm-max-output-chars, raise --lm-max-tokens if the backend supports it, then re-run.

name: security-audit-rlm description: Run and troubleshoot privacy-preserving, local DSPy RLM security audits for large legacy .NET codebases. Use when asked to scan repositories for vulnerabilities, tune RLM/tool limits, fix truncation/stall issues, or produce actionable markdown/json audit outputs without loading entire codebases into model context.

Security Audit RLM

Use this skill to operate audit.py as a tool-driven RLM workflow for large repositories.

Repository: https://github.com/mitkox/megacode

Execute

  1. Verify prerequisites:
    • deno --version
    • model endpoint is reachable (default http://localhost:8000/v1)
  2. Run a baseline audit:
    • AUDIT_VERBOSE=1 python audit.py --source-root <repo-path>
  3. Confirm outputs:
    • security_audit_report.md
    • security_audit_metadata.json
    • security_audit_manifest.jsonl

Tune For Large Legacy Repos

  • Lower planner churn:
    • --max-iterations 8..12
    • --rlm-max-llm-calls 60..100
  • Bound REPL noise:
    • --rlm-max-output-chars 15000..30000
  • Bound tool payloads:
    • --tool-max-lines 200..400
    • --tool-max-chars 20000..40000
    • --search-max-files 800..2000
    • --search-max-matches 200..600
  • Control runtime:
    • --timeout-seconds 600..1800
    • --retries 1..2

Operating Rules

  • Keep analysis local when privacy constraints require it.
  • Use RLM tool access, not full-context repository injection.
  • Keep intermediate output concise and deterministic.
  • Prioritize high-severity findings with file/line evidence and concrete fixes.

Troubleshooting

  • If run appears stalled:
    • enable verbose mode
    • reduce --max-iterations
    • reduce --rlm-max-output-chars
  • If model truncates:
    • raise --lm-max-tokens if backend supports it
    • reduce tool output and iteration count
  • If path/file access errors appear in RLM steps:
    • ensure tool-only repository access is used by the audit flow
    • re-run after confirming current audit.py includes list_manifest/read_file/search_pattern tools

Deliverable Format

Ensure report sections remain:

  1. Executive Summary
  2. Critical Findings (CRITICAL/HIGH)
  3. Other Findings (MEDIUM/LOW)
  4. Remediation

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/local-rlm-security-audit-mrx3y0ju' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/local-rlm-security-audit-mrx3y0ju/download' --output '.skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md.part' && mv '.skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md.part' '.skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md' && test -s '.skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/security-audit-rlm' && cp -R '.skill-downloads/local-rlm-security-audit-mrx3y0ju' '.claude/skills/security-audit-rlm'

Cursor
test -f '.skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md' && test -s '.skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/security-audit-rlm' && cp -R '.skill-downloads/local-rlm-security-audit-mrx3y0ju' '.cursor/skills/security-audit-rlm'

Codex
test -f '.skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md' && test -s '.skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/security-audit-rlm' && cp -R '.skill-downloads/local-rlm-security-audit-mrx3y0ju' '.agents/skills/security-audit-rlm'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/local-rlm-security-audit-mrx3y0ju'

openskills read 'local-rlm-security-audit-mrx3y0ju'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/local-rlm-security-audit-mrx3y0ju/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills