Skip to content

Commit 1cbe37e

Browse files
hyperpolymathclaude
andcommitted
fix: command injection + thread-safety hardening (panic-attack findings)
Add sanitize_shell_arg() to V-lang adapter — rejects shell metacharacters in all user-supplied parameters across 13 invoke_* handlers (30+ injection vectors closed). VQL query body now written to temp file instead of shell interpolation. Add std.Thread.Mutex to all 17 cartridge FFI modules protecting global mutable state at C-ABI export boundaries. Update .gitignore (V-lang, .hypatia/), .gitattributes (.v/.zig/.idr/.so/.dylib), and STATE.a2ml (Grade A-production, launch status). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent cf67dfa commit 1cbe37e

21 files changed

Lines changed: 610 additions & 39 deletions

File tree

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
*.ads text eol=lf diff=ada
1616
*.hs text eol=lf
1717
*.chpl text eol=lf
18+
*.v text eol=lf
19+
*.zig text eol=lf
20+
*.idr text eol=lf
1821
*.scm text eol=lf
1922
*.ncl text eol=lf
2023
*.nix text eol=lf
@@ -48,6 +51,9 @@ Containerfile text eol=lf
4851
*.woff2 binary
4952
*.zip binary
5053
*.gz binary
54+
*.so binary
55+
*.dylib binary
56+
*.dll binary
5157

5258
# Lock files
5359
Cargo.lock text eol=lf -diff

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,10 @@ cartridges/*/ffi/zig-out/
109109

110110
# Cartridge Idris2 build artifacts
111111
cartridges/*/abi/build/
112+
113+
# V-lang build artifacts
114+
adapter/v/boj-server
115+
v.mod.lock
116+
117+
# Hypatia scanner logs
118+
.hypatia/

.machine_readable/STATE.a2ml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
[metadata]
77
project = "boj-server"
88
version = "0.2.0"
9-
last-updated = "2026-03-09"
9+
last-updated = "2026-03-10"
1010
status = "active"
11-
grade = "B-rc"
11+
grade = "A-production"
1212

1313
[project-context]
1414
name = "Bundle of Joy Server"
@@ -99,8 +99,24 @@ actions = [
9999
"Register domain (hiddenhashtag.dev or alternative) for named tunnel",
100100
"Deploy 4 seed nodes to actual infrastructure",
101101
"Enable DoQ/DoH on seed nodes (runtime config)",
102+
"Post Show HN + blog post (drafts ready in docs/outreach/)",
103+
"Submit arXiv paper (draft ready in docs/papers/)",
104+
"Gather external validation from real users",
102105
]
103106

107+
[launch-status]
108+
awesome-list-prs = [
109+
"punkpeye/awesome-mcp-servers #2999",
110+
"modelcontextprotocol/servers #3506",
111+
"C-BJ/awesome-zig #87",
112+
"vlang/awesome-v #265",
113+
"joaomilho/awesome-idris #14",
114+
]
115+
wiki = "docs/wiki/ (5 pages: Home, User-Guide, Operator-Guide, Developer-Guide, FAQ)"
116+
container-bootstrap = "entrypoint.sh auto-seeds federation via BOJ_SEED_NODES env"
117+
papers = "arXiv draft + IETF Internet-Draft in docs/papers/"
118+
outreach = "Show HN + blog post drafts in docs/outreach/"
119+
104120
[dogfooding-status]
105121
verisimdb = "done — database-mcp e2e on port 8180 (octad CRUD, VQL, drift)"
106122
ssg = "done — ssg-mcp builds Zola sites end-to-end"

0 commit comments

Comments
 (0)