Agent Skills
› OpenAEV-Platform/openaev
› review-security
review-security
GitHub提供OpenAEV代码的安全审查清单,涵盖RBAC、租户隔离、数据暴露、认证授权及密钥管理。用于PR审查和功能安全审计,确保符合安全规范。
Trigger Scenarios
审查代码提交或PR时
对功能模块进行安全审计时
Install
npx skills add OpenAEV-Platform/openaev --skill review-security -g -y
SKILL.md
Frontmatter
{
"name": "review-security",
"description": "Security review checklist for OpenAEV code: RBAC, tenant isolation, data exposure, authentication. Use when reviewing PRs or auditing security of a feature."
}
Security Review
Procedure
Step 1 — Check @AccessControl coverage
- Every REST endpoint MUST have
@AccessControl - Verify
resourceTypematches the entity being accessed - Verify
actionPerformedmatches the HTTP method semantics - If
skipRBAC = trueis used, verify there's a comment explaining why
Step 2 — Check tenant isolation
- All
TenantBaseentities must have@Filter(name = "tenantFilter") - Search for any native
@Query— they bypass the filter:grep -rn "nativeQuery = true" openaev-model/ openaev-api/ - Each native query MUST include
WHERE tenant_id = :tenantIdor join via tenant - Tenant relation must be
@JsonIgnore— never in API output
Step 3 — Check data exposure
- New controllers must use Output DTOs — never return JPA entities directly
- Swagger annotations must be explicit for LAZY relations:
@ArraySchema(schema = @Schema(type = "string"))when returning IDs - No
tenant_idin any JSON response - No stack traces or internal error details exposed to clients
Step 4 — Check authentication & authorization
- Protected endpoints require valid session (Spring Security)
- Admin-only operations:
ResourceType.UNKNOWNor explicit admin check - Grant-managed resources: verify they're in
RESOURCES_MANAGED_BY_GRANTS isUserHasAccess()returns meaningful logic, not justreturn true
Step 5 — Check secrets & credentials
grep -rn "password\|secret\|api_key\|apiKey\|token" --include="*.java" --include="*.ts" src/
- No hardcoded credentials
- Secrets in
application.propertiesuse environment variables - No
.envfiles committed
Step 6 — Report
Document findings using conventional comments format:
issue (blocking):for security vulnerabilitiessuggestion (non-blocking):for improvementsnote:for informational items
Version History
- 3.260818.1 Current 2026-08-20 12:00


