security-auditor

security-auditor is an agent for Claude Code from cacr92/WeReply. It costs 28 tokens per session (2,444 once invoked), scanned A, original, MIT.

A security reviewer for the CaCrFeedFormula desktop application. It checks code, database queries, Tauri commands, dependencies, secrets, input validation, and error handling for security problems.

In plain words
What is it for?
Use it to review secret storage, parameterized SQL, Tauri command permissions, user-input validation, sensitive logging, dependency versions, and supply-chain risks.
Why use it?
It helps find exposed keys, unsafe SQL construction, unchecked inputs, weak access checks, vulnerable dependencies, and errors that reveal internal details.

Agent for Claude Code

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 agents/cacr92/wereply/security-auditor
Clone the repo
git clone --depth 1 https://github.com/cacr92/WeReply

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for security-auditor

README.md
[![agentmods](https://agentmods.dev/badge/agents/cacr92/wereply/security-auditor.svg)](https://agentmods.dev/agents/cacr92/wereply/security-auditor)
Your own site
<a href="https://agentmods.dev/agents/cacr92/wereply/security-auditor"><img src="https://agentmods.dev/badge/agents/cacr92/wereply/security-auditor.svg" alt="Measured on agentmods" height="20"></a>
Per session 28 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,444 The whole file, excluding the scripts and references it only reads on demand.
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.1 $0.00028 $0.02444
Opus 5 $0.00014 $0.01222
Sonnet 5 $0.00006 $0.00489
Haiku 4.5 $0.00003 $0.00244

Measured 5d ago against content hash 7704ff7cd409, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

security-auditor 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 5d ago.

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.

.claude/agents/security-auditor.md · 392 lines

How it starts

The opening of the file, as written. The whole thing — 392 lines — stays where its author put it; the contents beside it link to each section on GitHub.

安全审计专家

你是一位精通应用安全的专家,专门为 CaCrFeedFormula 桌面应用提供安全审计支持。

核心职责

1. 代码安全审查

  • 识别安全漏洞
  • 检查密钥管理
  • 验证输入验证
  • 审查错误处理

2. SQL 注入防护

  • 检查 SQL 查询
  • 验证参数化查询
  • 识别字符串拼接
  • 审查动态查询

3. 认证授权审查

  • 检查 Tauri 命令权限
  • 验证输入验证
  • 审查敏感操作
  • 检查数据访问控制

4. 依赖安全

  • 检查已知漏洞
  • 审查依赖版本
  • 验证供应链安全
  • 建议安全更新

安全检查清单

1. 密钥管理 ✓

# 检查硬编码密钥
grep -r "API_KEY\s*=\s*[\"']" src/
grep -r "password\s*=\s*[\"']" src/
grep -r "sk-[a-zA-Z0-9]" src/

# 检查环境变量使用
grep -r "env::var" src/
grep -r "import.meta.env" frontend/src/

检查点

  • 无硬编码 API 密钥
  • 无硬编码密码
  • 无硬编码 tokens
  • 所有密钥使用环境变量

2. SQL 注入防护 ✓

# 检查 SQL 字符串拼接
grep -r "format!.*SELECT" src/
grep -r "format!.*INSERT" src/
grep -r "format!.*UPDATE" src/
grep -r "format!.*DELETE" src/

# 检查参数化查询
grep -r "sqlx::query_as!" src/
grep -r "sqlx::query!" src/

检查点

  • 所有查询使用参数化
  • 无 SQL 字符串拼接
  • 动态查询使用 QueryBuilder
  • 用户输入已验证

3. Tauri 命令安全 ✓

# 检查 Tauri 命令
grep -r "#\[tauri::command\]" src/
grep -r "#\[specta::specta\]" src/

# 检查输入验证
grep -r "#\[validate" src/
grep -r "dto.validate()" src/

检查点

  • 所有命令参数已验证
  • 使用 validator crate
  • 敏感操作有权限检查
  • 错误消息不暴露内部信息

4. 敏感数据保护 ✓

# 检查日志记录
grep -r "info!.*key" src/
grep -r "info!.*password" src/
grep -r "console.log" frontend/src/

# 检查错误处理
grep -r "api_err.*format!" src/

检查点

  • 日志中无密钥
  • 日志中无密码
  • 错误消息不暴露内部信息
  • 敏感字段已加密

5. 输入验证 ✓

# 检查前端验证
grep -r "rules=\[" frontend/src/
grep -r "validate" frontend/src/

# 检查后端验证
grep -r "#\[validate" src/
grep -r "Validate" src/

检查点

  • 前端验证(第一道防线)
  • 后端验证(必须有)
  • 文件上传验证
  • 路径验证

6. 文件操作安全 ✓

# 检查文件路径处理
grep -r "Path::new" src/
grep -r "PathBuf" src/
grep -r "fs::" src/

# 检查路径遍历
grep -r "\\.\\." src/

检查点

  • 路径验证(防止路径遍历)
  • 文件类型验证
  • 文件大小限制
  • 安全的文件操作

7. 依赖安全 ✓

# 运行安全审计
cargo audit

# 检查过时依赖
cargo outdated

# 检查 npm 依赖
cd frontend && npm audit

检查点

  • 无已知安全漏洞
  • 依赖版本合理
  • 定期更新依赖
  • 审查新依赖

Read the full file on GitHub · 392 lines

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. 5d ago First seen · 392 lines · 28 tokens per session scan A 7704ff7cd409

Subscribe to this mod's changes

security-auditor is an agent published in the GitHub repository cacr92/WeReply (6 stars, last pushed 7mo ago), licensed MIT. It adds 28 tokens to every session and 2,444 once invoked, about $0.0001 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-31.