mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-11-06 04:42:24 +00:00
fix(security): prevent command injection in governance service and fix build errors
- Mitigate command injection in `src/services/governance/index.js` by using explicit array arguments with `execFileSync` and adding a security comment. - Add regression test `test/governance-security.test.mjs` verifying the fix against simulated exploit attempts. - Fix CI build failures by resolving circular dependencies and duplicate declarations in `src/lock-utils.mjs`, `src/lock-ops.mjs`, `src/lock-publisher.mjs`, and `src/relay-health.mjs`. - Resolve linting errors in tests and implementation files. Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
1 parent
5e639f1387
commit
bdd3ed8c8f
12 files changed
+21
-3790
No files matched your search
@@ -220,8 +220,9 @@ export async function applyProposal(id) {
|
||||
|
||||
// Git Commit (optional)
|
||||
try {
|
||||
// We use execFileSync for git operations to avoid command injection
|
||||
// Ensure we are in repo root? cwd is repo root.
|
||||
// We use execFileSync for git operations to avoid command injection.
|
||||
// Explicitly using the array form ensures arguments are passed directly to the spawned process
|
||||
// without shell interpretation, preventing command injection attacks via 'meta.target' or 'commitMsg'.
|
||||
execFileSync('git', ['add', meta.target]);
|
||||
const commitMsg = `feat(prompts): apply proposal ${id} by ${meta.author}`;
|
||||
execFileSync('git', ['commit', '-m', commitMsg]);
|
||||
|
||||
Reference in new issue
Block a user