Skip to content

Commit c1ec5c5

Browse files
committed
chore(catalog): bump entry to v0.3.1
Reflects the v0.3.1 release in the community-catalog entry so the spec-kit catalog maintainers see current content when reviewing PR github/spec-kit#2215. - version: 0.3.0 → 0.3.1 - commands_count: 8 → 9 (dep-audit added) - description: mention polyglot scan and Gate G - PR-BODY.md: rewritten for v0.3.1 (Gate G, polyglot, anchored allowlist, recursive .env, --staged-only / --json flags) No behavior changes. Release artifacts (CHANGELOG, README, tag v0.3.1, GitHub release) already reflect v0.3.1.
1 parent fa4fb54 commit c1ec5c5

File tree

2 files changed

+68
-45
lines changed

2 files changed

+68
-45
lines changed

catalog/PR-BODY.md

Lines changed: 65 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,80 @@
1-
# Update `tekimax-security` to v0.3.0 in community catalog
2-
3-
Updates the TEKIMAX Secure SDD extension catalog entry from v0.2.0 to
4-
v0.3.0 with security hardening, new gates, and a docs site.
5-
6-
## What changed since v0.2.0
7-
8-
### Security hardening (v0.3.0)
9-
10-
- **Project-root confinement** — all scripts validate file paths stay
11-
inside the project directory (prevents path traversal and symlink attacks)
12-
- **JSONL injection prevention** — all log output uses Python `json.dumps`
13-
(shell metacharacters in values cannot break JSON structure)
14-
- **Tamper-evident hash chain** — every gate-log entry includes the SHA-256
15-
of the previous line for lightweight tamper detection
16-
- **Guardrail completeness audit** — warns on missing rate limits or
17-
cost ceilings in guardrail YAML files
18-
- **Gate B** now verifies STRIDE table has actual content rows
19-
- **Gate D** now verifies rate limit and cost ceiling are numeric
20-
- ShellCheck enforcing in CI
21-
22-
### Features added since v0.2.0
23-
24-
- **8 commands** (was 7): added `install-rules` for project-wide
25-
development discipline
26-
- **Docs site** at [speckit.tekimax.com](https://speckit.tekimax.com)
27-
with full docs, Security Model page, and AI chat
28-
- **Ask AI** grounded docs chat at
29-
[speckit.tekimax.com/chat](https://speckit.tekimax.com/chat)
30-
- **Config read-back** — user config extends built-in defaults for
31-
secret patterns, inline-prompt patterns, and gateway allowlist
32-
- **15 automated tests** covering gate-check, audit, config parser,
33-
and install-rules (zero external deps, POSIX bash only)
34-
35-
## The eight commands
1+
# Update `tekimax-security` to v0.3.1 in community catalog
2+
3+
Updates the TEKIMAX Secure SDD extension catalog entry to v0.3.1 with
4+
a new dependency CVE gate, polyglot scan coverage, and an anchored
5+
gateway allowlist.
6+
7+
## What changed since v0.3.0
8+
9+
### Added in v0.3.1
10+
11+
- **Gate G — Dependency CVEs.** New `dep-audit.sh` and
12+
`speckit.tekimax-security.dep-audit` command. Resolution chain:
13+
`osv-scanner` (polyglot, preferred) → `pnpm audit``npm audit`
14+
`yarn npm audit`. Threshold via `dep_audit.fail_on`
15+
(`low`|`moderate`|`high`|`critical`, default `high`). Runs
16+
automatically as part of `gate-check` and logs to
17+
`.tekimax-security/dep-audit-log.jsonl`.
18+
- **Polyglot file coverage for Gate F and the audit.** TS/JS/Py
19+
plus Go, Rust, Ruby, Java, Kotlin, Swift, PHP, shell, YAML,
20+
JSON, TOML, Terraform, Markdown. Secrets and inline prompts
21+
commonly land in CI YAML and Terraform, not only application
22+
code.
23+
- **`audit.include_globs`, `audit.exclude_paths`,
24+
`audit.direct_sdk_patterns`** config keys. Built-in direct-SDK
25+
list expanded to include `cohere-ai`, `@mistralai/mistralai`,
26+
`@aws-sdk/client-bedrock-runtime`, `replicate`, `together-ai`.
27+
- **`--staged-only` and `--json` flags** on `audit.sh`,
28+
`gate-check.sh`, and `dep-audit.sh`. Pre-commit-hook friendly;
29+
CI-friendly.
30+
- **Recursive `.env` detection.** `apps/*/.env`,
31+
`packages/*/.env.local`, and similar nested env files are now
32+
flagged. `.env.example`, `.env.sample`, and `.env.template`
33+
remain allowed.
34+
35+
### Changed in v0.3.1 (breaking)
36+
37+
- **Gateway allowlist uses anchored matching.** An entry
38+
`src/ai/gateway` matches the exact path, any subdirectory, or a
39+
file-extension append. It no longer silently matches
40+
`src/ai/gateway-bypass.ts`. Projects that relied on the
41+
substring match must list the full file path or the containing
42+
directory.
43+
44+
### Carried forward from v0.3.0
45+
46+
- Project-root confinement on all file-path arguments
47+
(`require_inside_project`) — prevents path traversal and
48+
symlink attacks.
49+
- JSONL injection prevention (`jsonl_append`,
50+
`jsonl_append_chained`) — values serialized via Python
51+
`json.dumps`, shell metacharacters cannot break output.
52+
- Tamper-evident hash chain on every gate-log entry
53+
(SHA-256 of previous line, no crypto signing dependencies).
54+
- Gate B verifies STRIDE table has content rows, not just a
55+
heading. Gate D verifies numeric rate limit and cost ceiling.
56+
57+
## The nine commands
3658

3759
| Command | Hook | Catches |
3860
|---|---|---|
3961
| `data-contract` | `after_specify` | Data debt — unvetted sources, unprotected PII, undeclared schemas |
4062
| `threat-model` | `after_plan` | Design-time security flaws via STRIDE |
4163
| `model-governance` | manual | Model debt — unpinned versions, no rollback, no eval baselines |
4264
| `guardrails` | manual | Prompt debt — no input validation, no output redaction |
43-
| `gate-check` | `before_implement` | Blocks until all six security gates pass |
44-
| `audit` | `after_implement` | Inline prompts, committed secrets, SDK imports, guardrail drift |
65+
| `gate-check` | `before_implement` | Blocks until all seven security gates pass |
66+
| `audit` | `after_implement` | Inline prompts, committed secrets, SDK imports, guardrail drift (polyglot) |
67+
| `dep-audit` | part of `gate-check` | Dependency CVEs (Gate G) via osv-scanner / pnpm / npm / yarn |
4568
| `red-team` | `before_analyze` | Adversarial testing — prompt injection, jailbreak, extraction |
4669
| `install-rules` | manual | Development discipline — commit hygiene, DRY, naming, tests |
4770

4871
## Verification
4972

50-
- [x] `extension.yml` validates (v0.3.0)
73+
- [x] `extension.yml` validates (v0.3.1)
5174
- [x] Installs cleanly via `specify extension add --dev`
52-
- [x] All 8 commands register correctly
53-
- [x] 15/15 tests pass on macOS and Ubuntu
54-
- [x] ShellCheck passes on all scripts
75+
- [x] All 9 commands register correctly
76+
- [x] 18/18 tests pass on macOS and Ubuntu
77+
- [x] ShellCheck passes on all scripts (CI-enforcing)
5578
- [x] `.extensionignore` excludes dev-only files
5679
- [x] Apache 2.0 license included
5780
- [x] Zero open Dependabot vulnerabilities
@@ -61,7 +84,7 @@ v0.3.0 with security hardening, new gates, and a docs site.
6184
- Repo: https://github.com/TEKIMAX/speckit-security
6285
- Docs: https://speckit.tekimax.com
6386
- Changelog: https://github.com/TEKIMAX/speckit-security/blob/main/CHANGELOG.md
64-
- Release: https://github.com/TEKIMAX/speckit-security/releases/tag/v0.3.0
87+
- Release: https://github.com/TEKIMAX/speckit-security/releases/tag/v0.3.1
6588

6689
## Compatibility
6790

catalog/entry.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"id": "tekimax-security",
33
"name": "TEKIMAX Secure SDD",
4-
"description": "Security-first extension for Spec Kit. Adds threat modeling (STRIDE), red teaming (automated), AI guardrails, data contracts, model governance gates, and project-root-confined security scripts with tamper-evident hash-chain audit logs.",
5-
"version": "0.3.0",
4+
"description": "Security-first extension for Spec Kit. Adds threat modeling (STRIDE), red teaming (automated), AI guardrails, data contracts, model governance gates, polyglot inline-content scan, dependency CVE scan (Gate G via osv-scanner / pnpm / npm / yarn), and project-root-confined security scripts with tamper-evident hash-chain audit logs.",
5+
"version": "0.3.1",
66
"author": {
77
"name": "Christian Kaman",
88
"org": "TEKIMAX",
@@ -24,7 +24,7 @@
2424
"compliance",
2525
"tekimax"
2626
],
27-
"commands_count": 8,
27+
"commands_count": 9,
2828
"hooks_count": 5,
2929
"status": "alpha"
3030
}

0 commit comments

Comments
 (0)