Security Guardian

Enforce RBAC permissions and input validation in the RuoYi framework.

1|Updated Jan 27, 2026
One-click install
npx skills add https://github.com/chrysaliscat/designgraduation --skill security-guardian-chrysaliscat
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Security Guardian
Source: https://github.com/chrysaliscat/designgraduation/tree/main/.agent/skills/security-guardian
Command: npx skills add https://github.com/chrysaliscat/designgraduation --skill security-guardian-chrysaliscat

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill ensures the application adheres to strict security standards, including robust permission management and input validation, to prevent vulnerabilities and unauthorized access.

Core Features & Use Cases

  • RBAC Enforcement: Guarantees that all API endpoints are protected by appropriate role-based access control annotations (@PreAuthorize).
  • Input Validation: Enforces a "Zero Trust" model by validating all data received from the frontend on the server-side.
  • Data Scoping: Implements multi-tenancy and data isolation to ensure users can only access their own data.
  • SQL Injection Prevention: Promotes the use of prepared statements (#{param}) over string concatenation (${param}) to mitigate SQL injection risks.

Quick Start

Use the Security Guardian skill to add a @PreAuthorize annotation to the new agri:product:add API endpoint.

Frequently Asked Questions about Security Guardian

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

FAQPage Schema
How do I enforce RBAC permissions for new API endpoints in RuoYi?

To enforce RBAC permissions in RuoYi, protect your API endpoints using @PreAuthorize annotations. This ensures role-based access control is applied at the method level, preventing unauthorized access and privilege escalation.

How do I prevent SQL injection in RuoYi framework queries?

Prevent SQL injection in RuoYi by using prepared statements with the #{param} syntax instead of string concatenation like ${param}. This enforces strict parameterization to mitigate SQL injection risks across your data queries.

How does data scoping work for multi-tenancy in the RuoYi framework?

Data scoping for multi-tenancy in RuoYi works by binding records to specific users through patterns like order.setUserId(SecurityUtils.getUserId()). This implements data isolation so users can only access their own data.

How do I implement Zero Trust input validation for frontend data?

To implement Zero Trust input validation, you must validate all data received from the frontend on the server-side. This ensures strict security standards by treating all incoming data as untrusted until verified.

Can I use Security Guardian to secure APIs outside the RuoYi framework?

Security Guardian is designed for the RuoYi framework, enforcing strict security standards including RBAC permissions, input validation, and data scoping. It specifically addresses unauthorized data access, privilege escalation, and injection vulnerabilities.