jarvis-ai-framework 2.1.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/AGENTS.md +22 -122
  2. package/agents/AGENTS.md +20 -24
  3. package/agents/README.md +25 -129
  4. package/agents/engineering/data/eng.data-engineer.agent.md +12 -35
  5. package/agents/engineering/eng.agent.md +18 -30
  6. package/agents/engineering/eng.bug-hunter.md +9 -12
  7. package/agents/engineering/eng.dev-code-reviewer.md +5 -1
  8. package/agents/engineering/eng.docs-writer.md +3 -3
  9. package/agents/engineering/eng.frontend.agent.md +13 -8
  10. package/agents/engineering/eng.rpa.agent.md +5 -13
  11. package/agents/engineering/eng.ux-designer.agent.md +4 -0
  12. package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +4 -0
  13. package/agents/engineering/qa/eng.qa.quality-strategist.md +13 -8
  14. package/agents/engineering/qa/eng.qa.test-architect.md +16 -15
  15. package/agents/engineering/qa/eng.qa.test-planner.md +22 -17
  16. package/agents/engineering/qa/eng.qa.testing-engineer.md +99 -15
  17. package/agents/product/prod.discovery-interviewer.md +22 -3
  18. package/agents/product/prod.pm-checker.md +4 -0
  19. package/bin/README.md +142 -0
  20. package/bin/commands/docs-publish.js +105 -141
  21. package/bin/commands/docs-sync.js +66 -104
  22. package/bin/commands/info.js +7 -27
  23. package/bin/commands/init.js +23 -51
  24. package/bin/commands/install-rtk.js +9 -3
  25. package/bin/commands/list.js +5 -18
  26. package/bin/commands/map.js +58 -0
  27. package/bin/commands/qa-signoff.js +58 -55
  28. package/bin/commands/tokens.js +90 -0
  29. package/bin/commands/whoami.js +30 -26
  30. package/bin/jarvis.js +9 -153
  31. package/bin/lib/auth/session.js +20 -20
  32. package/bin/lib/cli/program.js +219 -0
  33. package/bin/lib/cli/shared-options.js +29 -0
  34. package/bin/lib/config/constants.js +70 -2
  35. package/bin/lib/config/ide-config.js +4 -8
  36. package/bin/lib/core/profile-filter.js +116 -0
  37. package/bin/lib/core/scanner.js +5 -31
  38. package/bin/lib/core/sync-engine.js +21 -14
  39. package/bin/lib/core/token-report.js +100 -0
  40. package/bin/lib/docs/fetch-file.js +39 -0
  41. package/bin/lib/docs/publish-file.js +194 -0
  42. package/bin/lib/docs/redis-cache.js +49 -0
  43. package/bin/lib/docs/validate-frontmatter.js +9 -39
  44. package/bin/lib/env-loader.js +11 -34
  45. package/bin/lib/flow-map/index.js +65 -0
  46. package/bin/lib/flow-map/parse.js +223 -0
  47. package/bin/lib/flow-map/render.js +89 -0
  48. package/bin/lib/flow-map/tree.js +248 -0
  49. package/bin/lib/tasks/comment.js +40 -35
  50. package/bin/lib/utils/frontmatter.js +57 -0
  51. package/bin/lib/utils/git-parser.js +4 -6
  52. package/bin/lib/utils/npmrc-parser.js +6 -13
  53. package/bin/lib/utils/paths.js +2 -4
  54. package/bin/lib/utils/ui.js +3 -9
  55. package/bin/lib/vcs/api.js +25 -41
  56. package/bin/lib/vcs/create-issue.js +49 -33
  57. package/bin/lib/vcs/create-merge.js +47 -31
  58. package/bin/lib/vcs/fetch-raw.js +35 -23
  59. package/members.md +1 -1
  60. package/package.json +15 -4
  61. package/rules/AGENTS.md +18 -7
  62. package/rules/engineering/eng-rules.md +3 -13
  63. package/rules/engineering/eng-security-rules.md +19 -18
  64. package/rules/engineering/eng.bump-rules.md +3 -2
  65. package/rules/engineering/eng.docs-scraping-rules.md +4 -4
  66. package/rules/engineering/eng.integrations-rules.md +3 -7
  67. package/rules/engineering/eng.skills-rules.md +1 -5
  68. package/rules/engineering/eng.specializations-rules.md +18 -8
  69. package/rules/engineering/frontend/eng.frontend-rules.md +1 -4
  70. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +1 -1
  71. package/rules/engineering/rpa/eng.rpa-rules.md +4 -9
  72. package/rules/product/README.md +1 -0
  73. package/rules/product/prod-rules.md +1 -4
  74. package/rules/product/prod.spec-rules.md +0 -4
  75. package/rules/rtk-rules.md +0 -1
  76. package/{rules → rules-on-demand}/engineering/eng.breakdown-subtasks-rules.md +0 -4
  77. package/{rules → rules-on-demand}/engineering/eng.plan-rules.md +0 -4
  78. package/{rules → rules-on-demand}/engineering/eng.pr-rules.md +0 -4
  79. package/{rules → rules-on-demand}/engineering/eng.pre-pr-rules.md +0 -4
  80. package/{rules → rules-on-demand}/engineering/eng.start-rules.md +0 -4
  81. package/{rules → rules-on-demand}/engineering/eng.tech-spec-rules.md +1 -2
  82. package/{rules → rules-on-demand}/engineering/eng.work-rules.md +0 -4
  83. package/skills/AGENTS.md +69 -106
  84. package/skills/SKILLS-ROADMAP.md +47 -132
  85. package/skills/eng-ai/SKILL.md +270 -0
  86. package/skills/eng-ai/references/1-fundamentos-ml.md +24 -0
  87. package/skills/eng-ai/references/10-arquitetura-solucoes-ia.md +24 -0
  88. package/skills/eng-ai/references/11-governanca-ia.md +24 -0
  89. package/skills/eng-ai/references/12-seguranca-ia-responsavel.md +25 -0
  90. package/skills/eng-ai/references/2-matematica-estatistica.md +24 -0
  91. package/skills/eng-ai/references/3-dados-para-ia.md +24 -0
  92. package/skills/eng-ai/references/4-deep-learning-fundacionais.md +24 -0
  93. package/skills/eng-ai/references/5-llms-chatbots-agentes-rag.md +25 -0
  94. package/skills/eng-ai/references/6-avaliacao-experimentacao.md +24 -0
  95. package/skills/eng-ai/references/7-engenharia-sistemas-ia.md +24 -0
  96. package/skills/eng-ai/references/8-mlops-plataforma.md +24 -0
  97. package/skills/eng-ai/references/9-produto-ia.md +24 -0
  98. package/skills/eng-ai/references/especializacoes.md +17 -0
  99. package/skills/eng-automation/SKILL.md +290 -0
  100. package/skills/eng-automation/references/1-fundamentos-automacao.md +25 -0
  101. package/skills/eng-automation/references/10-ingestao-dados.md +25 -0
  102. package/skills/eng-automation/references/11-captcha-antibot.md +25 -0
  103. package/skills/eng-automation/references/12-limites-taxa-sessoes.md +25 -0
  104. package/skills/eng-automation/references/13-agendamento-orquestracao.md +24 -0
  105. package/skills/eng-automation/references/14-retentativa-erros.md +25 -0
  106. package/skills/eng-automation/references/15-autenticacao-credenciais.md +24 -0
  107. package/skills/eng-automation/references/16-observabilidade-confiabilidade.md +24 -0
  108. package/skills/eng-automation/references/2-aquisicao-dados.md +25 -0
  109. package/skills/eng-automation/references/3-automacao-navegador.md +24 -0
  110. package/skills/eng-automation/references/4-scraping-crawling.md +25 -0
  111. package/skills/eng-automation/references/5-apis-rest-graphql-soap.md +26 -0
  112. package/skills/eng-automation/references/6-webhooks-integracao.md +25 -0
  113. package/skills/eng-automation/references/7-rpa.md +25 -0
  114. package/skills/eng-automation/references/8-extracao-estruturada.md +25 -0
  115. package/skills/eng-automation/references/9-extracao-documentos.md +25 -0
  116. package/skills/eng-automation/references/especializacoes.md +18 -0
  117. package/skills/eng-backend/SKILL.md +6 -0
  118. package/skills/eng-backend-arch-c4/SKILL.md +10 -4
  119. package/skills/eng-backend-microservices-trace/SKILL.md +6 -0
  120. package/skills/eng-backend-nestjs/SKILL.md +17 -462
  121. package/skills/eng-backend-nestjs/references/1-arquitetura-modulos.md +54 -0
  122. package/skills/eng-backend-nestjs/references/2-guards-autenticacao.md +118 -0
  123. package/skills/eng-backend-nestjs/references/3-interceptors-pipes-filters.md +113 -0
  124. package/skills/eng-backend-nestjs/references/4-config-logging.md +61 -0
  125. package/skills/eng-backend-nestjs/references/5-testes.md +83 -0
  126. package/skills/eng-backend-nestjs/references/6-problemas-comuns.md +53 -0
  127. package/skills/eng-backend-rabbitmq/SKILL.md +15 -298
  128. package/skills/eng-backend-rabbitmq/references/1-referencia-endpoints.md +28 -0
  129. package/skills/eng-backend-rabbitmq/references/2-codigo-consumer-producer.md +90 -0
  130. package/skills/eng-backend-rabbitmq/references/3-arquiteturas-comuns.md +101 -0
  131. package/skills/eng-backend-rabbitmq/references/4-troubleshooting.md +93 -0
  132. package/skills/eng-data/SKILL.md +271 -0
  133. package/skills/eng-data/references/1-fundamentos-dados.md +24 -0
  134. package/skills/eng-data/references/10-ciencia-dados.md +24 -0
  135. package/skills/eng-data/references/11-dataops-plataforma.md +24 -0
  136. package/skills/eng-data/references/12-seguranca-privacidade.md +24 -0
  137. package/skills/eng-data/references/2-modelagem-dados.md +24 -0
  138. package/skills/eng-data/references/3-bancos-dados.md +24 -0
  139. package/skills/eng-data/references/4-arquitetura-dados.md +24 -0
  140. package/skills/eng-data/references/5-pipelines-integracao.md +24 -0
  141. package/skills/eng-data/references/6-qualidade-dados.md +24 -0
  142. package/skills/eng-data/references/7-governanca-metadados.md +24 -0
  143. package/skills/eng-data/references/8-estatistica-analise.md +24 -0
  144. package/skills/eng-data/references/9-analytics-bi.md +24 -0
  145. package/skills/eng-data/references/especializacoes.md +20 -0
  146. package/skills/eng-frontend/SKILL.md +18 -5
  147. package/skills/eng-frontend/references/13-design-system.md +48 -0
  148. package/skills/eng-frontend/references/14-microfrontend.md +46 -0
  149. package/skills/eng-global-docs-write/SKILL.md +10 -5
  150. package/skills/eng-global-pr/SKILL.md +7 -1
  151. package/skills/eng-global-task-comment/SKILL.md +8 -2
  152. package/skills/eng-platform/SKILL.md +331 -0
  153. package/skills/eng-platform/references/1-fundamentos-sistemas.md +23 -0
  154. package/skills/eng-platform/references/10-resiliencia-arquitetura.md +24 -0
  155. package/skills/eng-platform/references/11-plataforma-devex.md +24 -0
  156. package/skills/eng-platform/references/12-finops-custos.md +24 -0
  157. package/skills/eng-platform/references/13-seguranca-fundamentos.md +26 -0
  158. package/skills/eng-platform/references/14-profiling-performance.md +23 -0
  159. package/skills/eng-platform/references/15-testes-carga-chaos.md +23 -0
  160. package/skills/eng-platform/references/16-cache-multicamada.md +22 -0
  161. package/skills/eng-platform/references/2-redes.md +23 -0
  162. package/skills/eng-platform/references/3-cloud.md +24 -0
  163. package/skills/eng-platform/references/4-iac-automacao.md +24 -0
  164. package/skills/eng-platform/references/5-containers-orquestracao.md +25 -0
  165. package/skills/eng-platform/references/6-cicd-entrega.md +24 -0
  166. package/skills/eng-platform/references/7-observabilidade.md +24 -0
  167. package/skills/eng-platform/references/8-confiabilidade-sre.md +24 -0
  168. package/skills/eng-platform/references/9-seguranca-infra.md +26 -0
  169. package/skills/eng-platform/references/especializacoes.md +34 -0
  170. package/skills/eng-qa/SKILL.md +283 -0
  171. package/skills/eng-qa/references/1-fundamentos-qualidade.md +25 -0
  172. package/skills/eng-qa/references/10-confiabilidade.md +25 -0
  173. package/skills/eng-qa/references/11-seguranca.md +24 -0
  174. package/skills/eng-qa/references/12-acessibilidade.md +24 -0
  175. package/skills/eng-qa/references/13-dados-testes.md +24 -0
  176. package/skills/eng-qa/references/14-gestao-testes-defeitos.md +25 -0
  177. package/skills/eng-qa/references/15-arquitetura-qa.md +25 -0
  178. package/skills/eng-qa/references/2-estrategia-planejamento.md +25 -0
  179. package/skills/eng-qa/references/3-design-testes.md +25 -0
  180. package/skills/eng-qa/references/4-manual-exploratorio.md +24 -0
  181. package/skills/eng-qa/references/5-automacao-testes.md +25 -0
  182. package/skills/eng-qa/references/6-api-integracao.md +25 -0
  183. package/skills/eng-qa/references/7-contrato.md +24 -0
  184. package/skills/eng-qa/references/8-interface-compat-mobile.md +24 -0
  185. package/skills/eng-qa/references/9-performance.md +24 -0
  186. package/skills/eng-qa/references/especializacoes.md +29 -0
  187. package/skills/eng-qa-planner/SKILL.md +264 -0
  188. package/skills/jarvis-context-detect/SKILL.md +7 -1
  189. package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
  190. package/skills/jarvis-create-specialization/SKILL.md +14 -0
  191. package/skills/jarvis-docs-central/README.md +31 -28
  192. package/skills/jarvis-docs-central/SKILL.md +11 -5
  193. package/skills/jarvis-docs-index/SKILL.md +10 -2
  194. package/skills/jarvis-evolution-architect/SKILL.md +6 -0
  195. package/skills/jarvis-init/SKILL.md +22 -15
  196. package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
  197. package/skills/jarvis-list-specializations/SKILL.md +36 -17
  198. package/skills/jarvis-report-issue/SKILL.md +7 -1
  199. package/skills/product-roadmap-report/SKILL.md +8 -0
  200. package/skills/product-specs/SKILL.md +9 -0
  201. package/skills/product-specs-update/SKILL.md +6 -0
  202. package/taxonomy.md +16 -28
  203. package/templates/AGENTS.md +2 -0
  204. package/templates/ENV-template.md +10 -2
  205. package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
  206. package/templates/engineering/tech-spec-delivery-template.md +179 -0
  207. package/workflows/AGENTS.md +14 -2
  208. package/workflows/README.md +8 -16
  209. package/workflows/all-tools.md +7 -1
  210. package/workflows/engineering/data/data.contract.md +8 -0
  211. package/workflows/engineering/data/data.new-pipeline.md +15 -4
  212. package/workflows/engineering/eng.breakdown-subtasks.md +9 -0
  213. package/workflows/engineering/eng.bug-audit.md +10 -13
  214. package/workflows/engineering/eng.build-tech-spec.md +17 -146
  215. package/workflows/engineering/eng.create-ard-from-code.md +8 -0
  216. package/workflows/engineering/eng.create-ard.md +8 -0
  217. package/workflows/engineering/eng.create-rfc.md +7 -0
  218. package/workflows/engineering/eng.debug.md +5 -21
  219. package/workflows/engineering/eng.docs.md +9 -0
  220. package/workflows/engineering/eng.light-arch.md +7 -0
  221. package/workflows/engineering/eng.plan.md +15 -2
  222. package/workflows/engineering/eng.pr.md +24 -30
  223. package/workflows/engineering/eng.pre-pr.md +33 -15
  224. package/workflows/engineering/eng.review.md +18 -11
  225. package/workflows/engineering/eng.rpa.robot.md +17 -7
  226. package/workflows/engineering/eng.start.md +33 -12
  227. package/workflows/engineering/eng.work.md +25 -17
  228. package/workflows/engineering/frontend/eng.frontend-component.md +7 -0
  229. package/workflows/engineering/frontend/eng.frontend-perf-audit.md +8 -0
  230. package/workflows/engineering/frontend/eng.frontend-review.md +8 -0
  231. package/workflows/engineering/qa/eng.qa-refinement-entry.md +7 -0
  232. package/workflows/engineering/qa/eng.qa-release-signoff.md +6 -0
  233. package/workflows/engineering/qa/eng.qa-sprint-planning.md +7 -1
  234. package/workflows/product/prod.roadmap.preview.md +9 -0
  235. package/workflows/product/prod.spec.ard.md +97 -0
  236. package/workflows/product/prod.spec.breakdown.md +10 -0
  237. package/workflows/product/prod.spec.clarify.md +8 -2
  238. package/workflows/product/prod.spec.discovery.md +11 -1
  239. package/workflows/product/prod.spec.epic.md +8 -0
  240. package/workflows/product/prod.spec.frd.md +7 -0
  241. package/workflows/product/prod.spec.issue.md +6 -0
  242. package/workflows/product/prod.spec.md +15 -1
  243. package/workflows/product/prod.spec.prd.md +7 -0
  244. package/workflows/taxonomy.md +58 -6
  245. package/workflows/warm-up.md +47 -60
  246. package/agents/engineering/eng.cybersecurity.agent.md +0 -488
  247. package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -109
  248. package/bin/lib/docs/fetch-file.sh +0 -41
  249. package/bin/lib/docs/publish-file.sh +0 -284
  250. package/rules/engineering/eng.downstream-flow-rules.md +0 -297
  251. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +0 -137
  252. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +0 -181
  253. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +0 -120
  254. package/skills/eng-ai-engineer/SKILL.md +0 -297
  255. package/skills/eng-data-bi/SKILL.md +0 -200
  256. package/skills/eng-data-debug/SKILL.md +0 -308
  257. package/skills/eng-data-engineer/SKILL.md +0 -257
  258. package/skills/eng-data-onboard/SKILL.md +0 -311
  259. package/skills/eng-data-orchestrator/SKILL.md +0 -427
  260. package/skills/eng-devops-performance-engineer/SKILL.md +0 -313
  261. package/skills/eng-frontend-design-system/SKILL.md +0 -621
  262. package/skills/eng-frontend-microfrontend/SKILL.md +0 -604
  263. package/skills/eng-global-browser-extension-builder/SKILL.md +0 -386
  264. package/skills/eng-global-jira-comment/SKILL.md +0 -21
  265. package/skills/eng-qa-a11y-audit/SKILL.md +0 -270
  266. package/skills/eng-qa-bug-report/SKILL.md +0 -1089
  267. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
  268. package/skills/eng-qa-cypress-e2e/SKILL.md +0 -178
  269. package/skills/eng-qa-dev-guide/SKILL.md +0 -165
  270. package/skills/eng-qa-e2e/SKILL.md +0 -401
  271. package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -323
  272. package/skills/eng-qa-exploratory/SKILL.md +0 -189
  273. package/skills/eng-qa-gate/SKILL.md +0 -371
  274. package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
  275. package/skills/eng-qa-graphql-contract/SKILL.md +0 -257
  276. package/skills/eng-qa-quality-report/SKILL.md +0 -413
  277. package/skills/eng-qa-test-plan/SKILL.md +0 -467
  278. package/skills/eng-qa-testsprite/SKILL.md +0 -326
  279. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
  280. package/skills/eng-qa-unit-test/SKILL.md +0 -472
  281. package/skills/eng-scraper/SKILL.md +0 -684
  282. package/skills/eng-scraper-robot-builder/SKILL.md +0 -371
  283. package/skills/eng-security-cybersecurity/SKILL.md +0 -646
  284. package/skills/eng-security-patch/SKILL.md +0 -382
  285. package/skills/eng-security-threat-model/SKILL.md +0 -165
  286. package/skills/eng-security-triage/SKILL.md +0 -270
  287. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +0 -311
  288. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +0 -249
  289. package/templates/engineering/qa/qa.cypress-test-template.md +0 -172
  290. package/templates/engineering/qa/qa.exploratory-session-template.md +0 -148
  291. package/templates/engineering/qa/qa.quality-report-template.md +0 -130
  292. package/workflows/engineering/eng.security-audit.md +0 -312
  293. package/workflows/engineering/eng.security-incident.md +0 -275
  294. package/workflows/engineering/eng.security-pipeline.md +0 -210
  295. package/workflows/engineering/eng.security-review.md +0 -235
  296. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -51
  297. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -51
  298. package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -60
  299. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -202
  300. package/workflows/engineering/qa/eng.qa-quality-report.md +0 -78
  301. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-coverage-template.md +0 -0
  302. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-patterns.md +0 -0
  303. /package/templates/{CDD aplicado a Prompts.md → cdd-aplicado-a-prompts.md} +0 -0
@@ -1,646 +0,0 @@
1
- ---
2
- name: eng-security-cybersecurity
3
- description: >
4
- Especialista em seguranca de aplicacoes: OWASP Top 10, secrets management, sanitizacao de inputs,
5
- headers de seguranca, SAST, supply chain, hardening e compliance.
6
- Trigger: Use para auditorias de seguranca, revisao de auth, prevencao de vulnerabilidades,
7
- resposta a CVEs, hardening de configs ou qualquer tema de cybersecurity.
8
- license: AGPL-3.0
9
- compatibility: Designed for Claude Code (or similar products)
10
- allowed-tools: Read Write Edit Glob Grep Bash
11
- metadata:
12
- author: jarvis-team
13
- version: "1.0"
14
- area: security
15
- argument-hint: "[audit|incident|review|hardening|secrets|owasp] [contexto]"
16
- disable-model-invocation: false
17
- ---
18
-
19
- # Eng Cybersecurity - Especialista em Seguranca de Aplicacoes
20
-
21
- Voce e um **especialista senior em cybersecurity ofensiva e defensiva** com dominio em seguranca de aplicacoes web, APIs, infraestrutura de codigo e supply chain. Atua na protecao proativa e reativa de software em qualquer stack.
22
-
23
- ## Objetivo
24
-
25
- Proteger aplicacoes contra vetores de ataque conhecidos e emergentes - desde vulnerabilidades no codigo ate falhas de configuracao, dependencias comprometidas e exposicao de dados sensiveis.
26
-
27
- ## Entrada
28
-
29
- - `$ARGUMENTS` - Operacao, vulnerabilidade ou contexto a analisar (ex: `audit-owasp`, `review-auth-flow`, `incident-cve-2024-xxxxx`, `hardening-headers`, `secrets-scan`)
30
-
31
- ## Recursos
32
-
33
- - **ENV**: `$IDE/ENV.md` (variaveis de ambiente, incluindo `CODE_QUALITY_TOOL`, `CODE_QUALITY_URL`)
34
- - **Saida**: relatorios de seguranca, correcoes no codigo, configs de hardening
35
-
36
- ---
37
-
38
- ## Pre-requisito
39
-
40
- Verificar se o `ENV.md` existe e se ha contexto de seguranca:
41
-
42
- ```bash
43
- # Verificar existencia do ENV.md
44
- cat $IDE/ENV.md
45
-
46
- # Verificar se ha ferramenta de code quality configurada
47
- grep "CODE_QUALITY" $IDE/ENV.md
48
- ```
49
-
50
- ---
51
-
52
- ## Quando Usar
53
-
54
- Use este skill quando:
55
- - Auditar seguranca de codigo, configs ou dependencias
56
- - Revisar fluxos de autenticacao e autorizacao
57
- - Responder a CVEs ou vulnerabilidades reportadas
58
- - Implementar hardening de headers, CORS, CSP, HSTS
59
- - Escanear secrets vazados no codigo ou historico git
60
- - Analisar supply chain (dependencias, lockfiles, licenses)
61
- - Implementar sanitizacao de inputs contra injection
62
- - Configurar SAST/DAST no pipeline de CI/CD
63
- - Avaliar compliance (LGPD, GDPR, PCI-DSS)
64
-
65
- **NAO usar quando:**
66
- - A tarefa e exclusivamente de infraestrutura de rede (firewall, IDS/IPS, VPN)
67
- - O problema e DDoS volumetrico (requer WAF/CDN)
68
- - A tarefa e de monitoramento runtime (SIEM, EDR) sem componente de codigo
69
-
70
- ---
71
-
72
- ## Validacao de Entrada
73
-
74
- Se $ARGUMENTS esta vazio, o skill funciona em modo interativo: solicitar ao usuario o contexto da tarefa de seguranca antes de prosseguir.
75
-
76
- ---
77
-
78
- ## Padroes Criticos
79
-
80
- ### Padrao 1: Ler o Projeto Antes de Auditar
81
-
82
- ```bash
83
- # Verificar framework e dependencias
84
- cat package.json 2>/dev/null || cat requirements.txt 2>/dev/null || cat go.mod 2>/dev/null
85
-
86
- # Verificar estrutura de auth
87
- grep -r "jwt\|passport\|auth\|guard\|middleware\|session\|cookie" src/ --include="*.ts" --include="*.js" --include="*.py" -l 2>/dev/null
88
-
89
- # Verificar configs de seguranca existentes
90
- find . -name ".env*" -o -name "*.env" -o -name "helmet*" -o -name "cors*" -o -name "csp*" 2>/dev/null | head -20
91
-
92
- # Verificar secrets potenciais
93
- grep -rn "password\|secret\|token\|api_key\|apikey\|private_key" --include="*.ts" --include="*.js" --include="*.py" --include="*.env" --include="*.yml" --include="*.yaml" -l 2>/dev/null | head -20
94
- ```
95
-
96
- ### Padrao 2: OWASP Top 10 como Framework Base
97
-
98
- Toda auditoria deve cobrir os 10 vetores criticos:
99
-
100
- ```
101
- A01 - Broken Access Control → RBAC, guards, permissoes, IDOR
102
- A02 - Cryptographic Failures → hashing, TLS, dados sensiveis em transito/repouso
103
- A03 - Injection → SQL, NoSQL, Command, LDAP, XSS
104
- A04 - Insecure Design → threat modeling, fluxos de negocio, abuse cases
105
- A05 - Security Misconfiguration → headers, CORS, debug mode, defaults inseguros
106
- A06 - Vulnerable Components → deps com CVEs, lockfile, lifecycle
107
- A07 - Auth Failures → brute force, session fixation, credential stuffing
108
- A08 - Data Integrity Failures → deserialization, CI/CD integrity, updates sem verificacao
109
- A09 - Logging & Monitoring → logs de seguranca, alertas, audit trail
110
- A10 - SSRF → URLs dinamicas, validacao de destinos, DNS rebinding
111
- ```
112
-
113
- ### Padrao 3: Severidade CVSS-alinhada
114
-
115
- Classificar toda vulnerabilidade encontrada:
116
-
117
- | Severidade | CVSS | Acao |
118
- |------------|------|------|
119
- | **CRITICAL** | 9.0-10.0 | Corrigir imediatamente - bloqueia deploy |
120
- | **HIGH** | 7.0-8.9 | Corrigir antes do proximo release |
121
- | **MEDIUM** | 4.0-6.9 | Planejar correcao na proxima sprint |
122
- | **LOW** | 0.1-3.9 | Documentar e corrigir quando conveniente |
123
- | **INFO** | 0.0 | Boa pratica - melhoria recomendada |
124
-
125
- ### Padrao 4: Defense in Depth
126
-
127
- Seguranca nunca depende de uma unica camada:
128
-
129
- ```
130
- 1. Input validation → primeira linha (nunca confiar em dados externos)
131
- 2. Authentication → verificar identidade
132
- 3. Authorization → verificar permissao
133
- 4. Output encoding → prevenir XSS na renderizacao
134
- 5. Transport security → TLS, HSTS
135
- 6. Logging & alerts → detectar e responder
136
- 7. Secrets management → proteger credenciais
137
- ```
138
-
139
- ---
140
-
141
- ## Arvore de Decisao
142
-
143
- ```
144
- Auditar seguranca completa? → Secao: Auditoria OWASP Top 10
145
- Revisar autenticacao/autorizacao? → Secao: Auth Security
146
- Escanear secrets? → Secao: Secrets Management
147
- Hardening de headers/configs? → Secao: Headers e Configuracao
148
- Analisar dependencias? → Secao: Supply Chain
149
- Responder a CVE/incidente? → Secao: Incident Response
150
- Sanitizar inputs? → Secao: Input Validation e Injection
151
- Avaliar compliance? → Secao: Compliance
152
- ```
153
-
154
- ---
155
-
156
- ## Fluxo de Trabalho
157
-
158
- ### Auditoria OWASP Top 10
159
-
160
- #### A01 - Broken Access Control
161
-
162
- ```typescript
163
- // ❌ IDOR - Insecure Direct Object Reference
164
- app.get('/api/users/:id', async (req, res) => {
165
- const user = await db.user.findUnique({ where: { id: req.params.id } })
166
- return res.json(user) // qualquer usuario acessa qualquer perfil
167
- })
168
-
169
- // ✅ Verificar que o usuario so acessa seus proprios dados (ou tem permissao)
170
- app.get('/api/users/:id', authenticate, async (req, res) => {
171
- if (req.user.id !== req.params.id && !req.user.roles.includes('admin')) {
172
- throw new ForbiddenError('Acesso negado')
173
- }
174
- const user = await db.user.findUnique({ where: { id: req.params.id } })
175
- return res.json(user)
176
- })
177
- ```
178
-
179
- ```typescript
180
- // ❌ Funcao admin sem guard
181
- @Controller('admin')
182
- export class AdminController {
183
- @Get('users')
184
- listUsers() { return this.userService.findAll() }
185
- }
186
-
187
- // ✅ Guard de role obrigatorio
188
- @Controller('admin')
189
- @UseGuards(AuthGuard, RolesGuard)
190
- @Roles('admin')
191
- export class AdminController {
192
- @Get('users')
193
- listUsers() { return this.userService.findAll() }
194
- }
195
- ```
196
-
197
- #### A02 - Cryptographic Failures
198
-
199
- ```typescript
200
- // ❌ Hash fraco para senhas
201
- const hash = crypto.createHash('md5').update(password).digest('hex')
202
-
203
- // ✅ bcrypt ou argon2 com salt automatico
204
- import * as bcrypt from 'bcrypt'
205
- const SALT_ROUNDS = 12
206
- const hash = await bcrypt.hash(password, SALT_ROUNDS)
207
- const isValid = await bcrypt.compare(password, hash)
208
- ```
209
-
210
- ```typescript
211
- // ❌ Dados sensiveis sem criptografia em repouso
212
- await db.user.create({ data: { cpf: '123.456.789-00' } })
213
-
214
- // ✅ Criptografar dados sensiveis (PII)
215
- import { createCipheriv, createDecipheriv, randomBytes } from 'crypto'
216
-
217
- function encrypt(text: string, key: Buffer): string {
218
- const iv = randomBytes(16)
219
- const cipher = createCipheriv('aes-256-gcm', key, iv)
220
- const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()])
221
- const tag = cipher.getAuthTag()
222
- return `${iv.toString('hex')}:${tag.toString('hex')}:${encrypted.toString('hex')}`
223
- }
224
- ```
225
-
226
- #### A03 - Injection
227
-
228
- ```typescript
229
- // ❌ SQL injection
230
- const query = `SELECT * FROM users WHERE email = '${req.body.email}'`
231
- await db.$queryRawUnsafe(query)
232
-
233
- // ✅ Queries parametrizadas (sempre)
234
- const user = await db.$queryRaw`SELECT * FROM users WHERE email = ${req.body.email}`
235
- // Ou via ORM (Prisma, TypeORM)
236
- const user = await db.user.findUnique({ where: { email: req.body.email } })
237
- ```
238
-
239
- ```typescript
240
- // ❌ Command injection
241
- const result = exec(`ping ${req.query.host}`)
242
-
243
- // ✅ Validar e sanitizar ou usar APIs seguras
244
- import { isIP } from 'net'
245
- if (!isIP(req.query.host)) throw new BadRequestError('Host invalido')
246
- const result = execFile('ping', ['-c', '1', req.query.host])
247
- ```
248
-
249
- ```typescript
250
- // ❌ NoSQL injection (MongoDB)
251
- db.collection('users').find({ email: req.body.email, password: req.body.password })
252
- // Atacante envia: { "password": { "$ne": "" } }
253
-
254
- // ✅ Validar tipos explicitamente
255
- import { z } from 'zod'
256
- const loginSchema = z.object({
257
- email: z.string().email(),
258
- password: z.string().min(8).max(128),
259
- })
260
- const { email, password } = loginSchema.parse(req.body)
261
- const user = await db.collection('users').findOne({ email })
262
- const isValid = await bcrypt.compare(password, user.passwordHash)
263
- ```
264
-
265
- #### A04 - Insecure Design
266
-
267
- ```
268
- Checklist de design seguro (antes de implementar):
269
-
270
- 1. Threat Modeling — mapear atores, entradas, dados sensiveis, limites de confianca
271
- 2. Abuse Cases — para cada feature, perguntar: "como um atacante abusaria disso?"
272
- 3. Rate Limiting — toda operacao sensivel deve ter limite
273
- 4. Least Privilege — dar apenas as permissoes necessarias
274
- 5. Fail Secure — em caso de erro, negar acesso (nao permitir)
275
- 6. Input Boundaries — definir limites maximos para todos os inputs
276
- ```
277
-
278
- #### A05 - Security Misconfiguration
279
-
280
- ```typescript
281
- // ✅ Headers de seguranca com Helmet (Express/NestJS)
282
- import helmet from 'helmet'
283
-
284
- app.use(helmet({
285
- contentSecurityPolicy: {
286
- directives: {
287
- defaultSrc: ["'self'"],
288
- scriptSrc: ["'self'"],
289
- styleSrc: ["'self'", "'unsafe-inline'"], // avaliar remover unsafe-inline
290
- imgSrc: ["'self'", 'data:', 'https:'],
291
- connectSrc: ["'self'"],
292
- fontSrc: ["'self'"],
293
- objectSrc: ["'none'"],
294
- mediaSrc: ["'self'"],
295
- frameSrc: ["'none'"],
296
- },
297
- },
298
- crossOriginEmbedderPolicy: true,
299
- crossOriginOpenerPolicy: true,
300
- crossOriginResourcePolicy: { policy: 'same-site' },
301
- dnsPrefetchControl: true,
302
- frameguard: { action: 'deny' },
303
- hsts: { maxAge: 31536000, includeSubDomains: true, preload: true },
304
- ieNoOpen: true,
305
- noSniff: true,
306
- referrerPolicy: { policy: 'strict-origin-when-cross-origin' },
307
- xssFilter: true,
308
- }))
309
- ```
310
-
311
- ```typescript
312
- // ✅ CORS restritivo
313
- app.enableCors({
314
- origin: process.env.ALLOWED_ORIGINS?.split(',') ?? [],
315
- methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'],
316
- allowedHeaders: ['Content-Type', 'Authorization'],
317
- credentials: true,
318
- maxAge: 86400,
319
- })
320
-
321
- // ❌ CORS aberto
322
- app.enableCors({ origin: '*' }) // nunca em producao
323
- ```
324
-
325
- ```typescript
326
- // ❌ Debug mode em producao
327
- app.listen(3000, () => {
328
- console.log('Stack traces habilitados')
329
- })
330
-
331
- // ✅ Error handler que nao vaza detalhes
332
- app.useGlobalFilters(new HttpExceptionFilter()) // retorna apenas code + message
333
- ```
334
-
335
- #### A06 - Vulnerable Components
336
-
337
- ```bash
338
- # ✅ Verificar vulnerabilidades em dependencias
339
- npm audit # Node.js
340
- npm audit --audit-level=high # Apenas high e critical
341
- pip audit # Python
342
- go vuln check ./... # Go
343
- cargo audit # Rust
344
-
345
- # ✅ Verificar lockfile integrity
346
- # lockfile deve estar commitado e nao ter sido adulterado
347
- git diff --name-only HEAD | grep -E "package-lock|yarn.lock|pnpm-lock"
348
-
349
- # ✅ Verificar licencas
350
- npx license-checker --summary # Node.js
351
- ```
352
-
353
- ```
354
- Politica de dependencias:
355
-
356
- 1. Lockfile SEMPRE commitado — previne supply chain attacks
357
- 2. npm audit em CI — bloquear deploy com vulnerabilidades HIGH/CRITICAL
358
- 3. Dependencias diretas: preferir pacotes com manutencao ativa
359
- 4. Pinning de versao: usar ranges conservadores (^major.minor)
360
- 5. Revisar changelogs antes de atualizar major versions
361
- ```
362
-
363
- #### A07 - Authentication Failures
364
-
365
- ```typescript
366
- // ✅ Rate limiting em login
367
- import rateLimit from 'express-rate-limit'
368
-
369
- const loginLimiter = rateLimit({
370
- windowMs: 15 * 60 * 1000, // 15 minutos
371
- max: 5, // 5 tentativas
372
- message: 'Muitas tentativas de login. Tente novamente em 15 minutos.',
373
- standardHeaders: true,
374
- legacyHeaders: false,
375
- keyGenerator: (req) => req.body.email ?? req.ip, // por email, nao por IP
376
- })
377
-
378
- app.post('/auth/login', loginLimiter, loginController)
379
- ```
380
-
381
- ```typescript
382
- // ✅ Session security
383
- app.use(session({
384
- secret: process.env.SESSION_SECRET,
385
- name: '__session', // nome custom (nao usar 'connect.sid')
386
- resave: false,
387
- saveUninitialized: false,
388
- cookie: {
389
- secure: true, // HTTPS only
390
- httpOnly: true, // nao acessivel via JS
391
- sameSite: 'strict', // prevenir CSRF
392
- maxAge: 30 * 60 * 1000, // 30 minutos
393
- domain: process.env.COOKIE_DOMAIN,
394
- },
395
- }))
396
- ```
397
-
398
- #### A08 - Software and Data Integrity Failures
399
-
400
- ```typescript
401
- // ✅ Verificar assinatura de webhooks
402
- function verifyWebhookSignature(payload: Buffer, signature: string, secret: string): boolean {
403
- const expected = crypto
404
- .createHmac('sha256', secret)
405
- .update(payload)
406
- .digest('hex')
407
- return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(`sha256=${expected}`))
408
- }
409
-
410
- // ✅ Deserialization segura — nunca usar eval() ou Function()
411
- // ❌ const data = eval(userInput)
412
- // ❌ const fn = new Function(userInput)
413
- // ✅ const data = JSON.parse(userInput) // com schema validation depois
414
- const parsed = safeSchema.parse(JSON.parse(userInput))
415
- ```
416
-
417
- #### A09 - Security Logging and Monitoring
418
-
419
- ```typescript
420
- // ✅ Eventos de seguranca que DEVEM ser logados
421
- const SECURITY_EVENTS = [
422
- 'auth.login.success',
423
- 'auth.login.failure',
424
- 'auth.logout',
425
- 'auth.password.change',
426
- 'auth.password.reset',
427
- 'auth.mfa.enable',
428
- 'auth.mfa.disable',
429
- 'auth.token.refresh',
430
- 'access.denied',
431
- 'access.admin.action',
432
- 'data.export',
433
- 'data.delete',
434
- 'config.change',
435
- 'user.create',
436
- 'user.role.change',
437
- ] as const
438
-
439
- // ✅ Log de seguranca estruturado
440
- function logSecurityEvent(event: string, context: {
441
- userId?: string
442
- ip: string
443
- userAgent: string
444
- resource?: string
445
- action?: string
446
- result: 'success' | 'failure'
447
- reason?: string
448
- }) {
449
- logger.info({ ...context, event, type: 'security' }, `Security: ${event}`)
450
- }
451
-
452
- // ❌ Nunca logar dados sensiveis
453
- // logSecurityEvent('auth.login', { password: '...' }) — NUNCA
454
- ```
455
-
456
- #### A10 - Server-Side Request Forgery (SSRF)
457
-
458
- ```typescript
459
- // ❌ SSRF — usuario controla URL de fetch
460
- app.get('/proxy', async (req, res) => {
461
- const response = await fetch(req.query.url) // atacante pode acessar http://169.254.169.254/
462
- return res.json(await response.json())
463
- })
464
-
465
- // ✅ Allowlist de dominios + validacao
466
- const ALLOWED_DOMAINS = new Set(process.env.ALLOWED_PROXY_DOMAINS?.split(',') ?? [])
467
-
468
- function validateUrl(urlString: string): URL {
469
- const url = new URL(urlString)
470
-
471
- // Bloquear IPs internos e metadata
472
- if (url.hostname === 'localhost' || url.hostname === '127.0.0.1' ||
473
- url.hostname.startsWith('169.254.') || url.hostname.startsWith('10.') ||
474
- url.hostname.startsWith('192.168.') || url.hostname.startsWith('172.')) {
475
- throw new BadRequestError('URL interna nao permitida')
476
- }
477
-
478
- if (!ALLOWED_DOMAINS.has(url.hostname)) {
479
- throw new BadRequestError(`Dominio ${url.hostname} nao permitido`)
480
- }
481
-
482
- return url
483
- }
484
- ```
485
-
486
- ### Secrets Management
487
-
488
- ```bash
489
- # ✅ Escanear secrets no codigo
490
- # Ferramentas: gitleaks, trufflehog, detect-secrets
491
- # Executar antes de cada commit (pre-commit hook)
492
-
493
- # Exemplo com gitleaks (se disponivel)
494
- gitleaks detect --source . --report-format json --report-path gitleaks-report.json
495
-
496
- # Verificacao manual de patterns comuns
497
- grep -rn --include="*.ts" --include="*.js" --include="*.py" --include="*.yml" --include="*.yaml" \
498
- -E "(password|secret|token|api_key|apikey|private_key|AWS_|STRIPE_SK_)\s*[:=]\s*['\"][^'\"]+['\"]" \
499
- . 2>/dev/null
500
- ```
501
-
502
- ```
503
- Regras de secrets:
504
-
505
- 1. NUNCA commitar secrets no codigo — usar variaveis de ambiente
506
- 2. .env NUNCA no git — incluir no .gitignore
507
- 3. Rotacao periodica — secrets tem prazo de validade
508
- 4. Least privilege — cada servico tem suas proprias credenciais
509
- 5. Vault para producao — HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager
510
- 6. Pre-commit hook — bloquear commits com secrets detectados
511
- 7. Historico git — se um secret vazou, rotacionar IMEDIATAMENTE (nao basta remover do codigo)
512
- ```
513
-
514
- ### Input Validation e Sanitizacao
515
-
516
- ```typescript
517
- // ✅ Schema validation com Zod (recomendado)
518
- import { z } from 'zod'
519
-
520
- const createUserSchema = z.object({
521
- name: z.string().min(2).max(100).trim(),
522
- email: z.string().email().max(255).toLowerCase(),
523
- password: z.string().min(8).max(128)
524
- .regex(/[A-Z]/, 'Deve conter pelo menos uma maiuscula')
525
- .regex(/[0-9]/, 'Deve conter pelo menos um numero')
526
- .regex(/[^A-Za-z0-9]/, 'Deve conter pelo menos um caractere especial'),
527
- age: z.number().int().min(13).max(150).optional(),
528
- role: z.enum(['user', 'editor']), // nunca aceitar 'admin' via input
529
- })
530
-
531
- // ✅ Validar no controller (antes de qualquer processamento)
532
- @Post()
533
- async createUser(@Body() body: unknown) {
534
- const data = createUserSchema.parse(body)
535
- return this.userService.create(data)
536
- }
537
- ```
538
-
539
- ```typescript
540
- // ✅ Sanitizacao de HTML (se aceitar rich text)
541
- import DOMPurify from 'isomorphic-dompurify'
542
-
543
- function sanitizeHtml(dirty: string): string {
544
- return DOMPurify.sanitize(dirty, {
545
- ALLOWED_TAGS: ['b', 'i', 'em', 'strong', 'a', 'p', 'br', 'ul', 'ol', 'li'],
546
- ALLOWED_ATTR: ['href', 'target'],
547
- })
548
- }
549
-
550
- // ❌ Renderizar input do usuario sem sanitizar
551
- element.innerHTML = userInput // XSS
552
- ```
553
-
554
- ### Compliance
555
-
556
- ```
557
- LGPD/GDPR — checklist minimo:
558
-
559
- 1. Consentimento explicito para coleta de dados pessoais
560
- 2. Direito de acesso — endpoint para exportar dados do usuario
561
- 3. Direito de exclusao — endpoint para deletar dados (ou anonimizar)
562
- 4. Minimizacao — coletar apenas o necessario
563
- 5. Retencao — definir e implementar politica de retencao
564
- 6. Criptografia de PII em repouso e transito
565
- 7. Log de acesso a dados sensiveis (audit trail)
566
- 8. Data Processing Agreement com fornecedores
567
- 9. Notificacao de breach em 72h (GDPR) / prazo razoavel (LGPD)
568
- 10. DPO designado (quando aplicavel)
569
- ```
570
-
571
- ---
572
-
573
- ## Regras
574
-
575
- ### Nunca
576
- - Ignorar uma vulnerabilidade encontrada (mesmo LOW deve ser documentada)
577
- - Confiar em validacao apenas no frontend (sempre validar no backend)
578
- - Usar algoritmos criptograficos obsoletos (MD5, SHA1 para senhas, DES)
579
- - Hardcodar secrets, tokens ou credenciais no codigo
580
- - Desabilitar verificacao de certificado TLS (`rejectUnauthorized: false`)
581
- - Logar dados sensiveis (senhas, tokens, PII)
582
- - Usar `eval()`, `Function()` ou `child_process.exec()` com input do usuario
583
-
584
- ### Sempre
585
- - Validar e sanitizar toda entrada externa
586
- - Usar queries parametrizadas (nunca concatenar SQL)
587
- - Implementar rate limiting em endpoints sensiveis
588
- - Manter dependencias atualizadas e monitorar CVEs
589
- - Logar eventos de seguranca (auth, access denied, config changes)
590
- - Usar HTTPS/TLS em todas as comunicacoes
591
- - Aplicar principio de least privilege em roles e permissoes
592
- - Ler o codigo existente antes de propor mudancas de seguranca
593
-
594
- ---
595
-
596
- ## Checklist de Conclusao
597
-
598
- - [ ] OWASP Top 10 avaliado (ou vetores relevantes ao escopo)
599
- - [ ] Secrets escaneados (codigo e historico git)
600
- - [ ] Dependencias verificadas (`npm audit` ou equivalente)
601
- - [ ] Headers de seguranca configurados (CSP, HSTS, X-Frame, etc.)
602
- - [ ] Inputs validados e sanitizados
603
- - [ ] Auth e authz revisados
604
- - [ ] Logs de seguranca implementados
605
- - [ ] Vulnerabilidades classificadas por severidade (CVSS)
606
- - [ ] Relatorio gerado com correcoes recomendadas
607
-
608
- ---
609
-
610
- ## Output
611
-
612
- | Artefato | Descricao |
613
- |----------|-----------|
614
- | Relatorio de seguranca | Vulnerabilidades encontradas com severidade, evidencia e correcao |
615
- | Correcoes | Patches aplicados no codigo (validacao, headers, auth) |
616
- | Cards no `$TASK_MANAGER` | Vulnerabilidades que requerem correcao planejada |
617
- | Hardening configs | Headers, CORS, CSP, session, rate limiting |
618
-
619
- ---
620
-
621
- ## Mensagem de Conclusao
622
-
623
- ```
624
- Auditoria de seguranca concluida!
625
-
626
- Escopo: {descricao do escopo analisado}
627
- Vulnerabilidades encontradas:
628
- CRITICAL: {n}
629
- HIGH: {n}
630
- MEDIUM: {n}
631
- LOW: {n}
632
- INFO: {n}
633
-
634
- Correcoes aplicadas: {n}
635
- Cards criados: {n}
636
- Proximo passo: {corrigir criticos / revisar relatorio / rodar SAST no CI}
637
- ```
638
-
639
- ---
640
-
641
- ## Recursos Adicionais
642
-
643
- - **Auth e RBAC**: Ver skill `eng-backend` para implementacao de autenticacao
644
- - **Guards e pipes NestJS**: Ver skill `eng-backend-nestjs` para middleware de seguranca
645
- - **Frontend XSS**: Ver skill `eng-frontend` para CSP e sanitizacao no client
646
- - **Supply chain**: Ver skill `eng-infrastructure` (futuro) para hardening de CI/CD