feat: vendorizar as 10 skills do pilar de seguranca em skills/

Copia local (nao fork, nao submodule) de safedeps, sca-audit,
secrets-scan, code-review-security, api-security-review,
web-security-review, cve-triage, patch-prioritization,
dependency-scanning e hermaguard -- commit exato de origem e licenca
de cada uma em skills/NOTICE.md. Elimina o passo de clone externo
pro pilar de seguranca do wf-security-review: git clone deste repo
ja traz tudo funcional.

Corrige tambem o comando de instalacao pro Claude Code nos dois
READMEs e no docs/SKILLS.md: Claude Code exige um diretorio por
skill (skills/<nome>/SKILL.md), nao aceita os .md soltos que o
comando antigo copiava -- confirmado testando a instalacao real.
This commit is contained in:
evandrodevbr committed 2026-08-24 00:32:20 -03:00
1 parent ee44fa0f7a
commit c17192c9fe
130 files changed
+10533 -33

No files matched your search

@@ -0,0 +1,4 @@
def transfer(conn, from_id, to_id, amount):
conn.execute("UPDATE accounts SET balance = balance - ? WHERE id = ?", (amount, from_id))
conn.execute("UPDATE accounts SET balance = balance + ? WHERE id = ?", (amount, to_id))
conn.commit()
@@ -0,0 +1,18 @@
{
"title": "Non-atomic multi-step update",
"description": "Two-table update without transaction; crash between statements corrupts state.",
"severity": "HIGH",
"category": "data-integrity",
"findings": [
{
"file": "app.py",
"trigger": "two dependent updates without a wrapping transaction",
"description": "Crash mid-sequence loses money \u2014 debit without credit",
"severity": "HIGH",
"classes": [
"HG-PARTIAL-WRITE",
"CWE-362"
]
}
]
}
@@ -0,0 +1,7 @@
--- a/app.py
+++ b/app.py
def transfer(conn, from_id, to_id, amount):
- with conn:
conn.execute("UPDATE accounts SET balance = balance - ? WHERE id = ?", (amount, from_id))
conn.execute("UPDATE accounts SET balance = balance + ? WHERE id = ?", (amount, to_id))
- conn.commit()