@mitkox/security-audit-rlm
ARun 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.
Install
agr install @mitkox/security-audit-rlm --target claudeWrites 10 files into .claude/skills/, pinned to git-0740abca.
- .claude/skills/security-audit-rlm/.gitignore
- .claude/skills/security-audit-rlm/CHANGELOG.md
- .claude/skills/security-audit-rlm/CODE_OF_CONDUCT.md
- .claude/skills/security-audit-rlm/CONTRIBUTING.md
- .claude/skills/security-audit-rlm/LICENSE
- .claude/skills/security-audit-rlm/README.md
- .claude/skills/security-audit-rlm/SECURITY.md
- .claude/skills/security-audit-rlm/SKILL.md
- .claude/skills/security-audit-rlm/audit.py
- .claude/skills/security-audit-rlm/pyproject.toml
Document
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
- Verify prerequisites:
deno --version- model endpoint is reachable (default
http://localhost:8000/v1)
- Run a baseline audit:
AUDIT_VERBOSE=1 python audit.py --source-root <repo-path>
- Confirm outputs:
security_audit_report.mdsecurity_audit_metadata.jsonsecurity_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-tokensif backend supports it - reduce tool output and iteration count
- raise
- 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.pyincludeslist_manifest/read_file/search_patterntools
Deliverable Format
Ensure report sections remain:
- Executive Summary
- Critical Findings (CRITICAL/HIGH)
- Other Findings (MEDIUM/LOW)
- Remediation
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-0740abcafe2a2026-07-29