All 9 formula files converted: - shiny, rule-of-five, security-audit, shiny-enterprise - towers-of-hanoi - mol-deacon-patrol, mol-refinery-patrol, mol-witness-patrol, mol-polecat-arm 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
43 lines
1.2 KiB
JSON
43 lines
1.2 KiB
JSON
{
|
|
"formula": "security-audit",
|
|
"type": "aspect",
|
|
"description": "Cross-cutting security concern. Applies security scanning before and after implementation steps.",
|
|
"version": 1,
|
|
"pointcuts": [
|
|
{"glob": "*.implement"},
|
|
{"glob": "*.submit"}
|
|
],
|
|
"advice": {
|
|
"around": {
|
|
"before": [
|
|
{
|
|
"id": "security-prescan",
|
|
"description": "Pre-implementation security check. Review for secrets/credentials in scope. Check dependencies for known vulnerabilities.",
|
|
"args": {
|
|
"target": "{step.id}"
|
|
}
|
|
}
|
|
],
|
|
"after": [
|
|
{
|
|
"id": "security-postscan",
|
|
"description": "Post-implementation security scan. Scan new code for vulnerabilities (SAST). Check for hardcoded secrets. Review for OWASP Top 10 issues.",
|
|
"args": {
|
|
"target": "{step.id}"
|
|
},
|
|
"output": {
|
|
"approved": "boolean",
|
|
"findings": "list"
|
|
}
|
|
},
|
|
{
|
|
"gate": {
|
|
"condition": "security-postscan.output.approved == true",
|
|
"message": "Security approval required before proceeding"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|