@mrciphersmith/keryx 0.2.88 → 0.2.94
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.
- package/README.md +31 -0
- package/dist/cli.js +3365 -440
- package/dist/core.js +24 -1
- package/package.json +2 -2
package/dist/core.js
CHANGED
|
@@ -3467,9 +3467,17 @@ var init_secrets = __esm(() => {
|
|
|
3467
3467
|
confidence: 0.9,
|
|
3468
3468
|
remediation: "Treat the JWT as a live credential; do not persist it."
|
|
3469
3469
|
},
|
|
3470
|
+
{
|
|
3471
|
+
policyId: "secrets.credential-file-assignment",
|
|
3472
|
+
regex: /\b((?:aws_)?secret_access_key|aws_session_token|aws_secret_key|client_secret)\s*[:=]\s*["']?([^\s"'#]{6,})/gi,
|
|
3473
|
+
severity: "critical",
|
|
3474
|
+
confidence: 0.95,
|
|
3475
|
+
remediation: "Rotate the credential; it was read from a credentials file into agent-visible output.",
|
|
3476
|
+
valueGroup: 2
|
|
3477
|
+
},
|
|
3470
3478
|
{
|
|
3471
3479
|
policyId: "secrets.env-assignment",
|
|
3472
|
-
regex: /\b([A-Z0-9_]*(?:DATABASE_URL|JWT_SECRET|SECRET(?:_KEY)?|API_?KEY|ACCESS_?TOKEN|AUTH_?TOKEN|PASSWORD|PRIVATE_?KEY|TOKEN))["']?\s*[:=]\s*["']?([^\s"'#]{6,})/g,
|
|
3480
|
+
regex: /\b([A-Z0-9_]*(?:DATABASE_URL|JWT_SECRET|SECRET(?:_KEY)?|API_?KEY|ACCESS_?KEY|ACCESS_?TOKEN|AUTH_?TOKEN|PASSWORD|PRIVATE_?KEY|TOKEN))["']?\s*[:=]\s*["']?([^\s"'#]{6,})/g,
|
|
3473
3481
|
severity: "high",
|
|
3474
3482
|
confidence: 0.85,
|
|
3475
3483
|
remediation: "Move the secret to an untracked env file or secrets manager.",
|
|
@@ -6880,6 +6888,7 @@ __export(exports_service2, {
|
|
|
6880
6888
|
analyze: () => analyze,
|
|
6881
6889
|
createSecurityService: () => createSecurityService,
|
|
6882
6890
|
memoizeResolved: () => memoizeResolved,
|
|
6891
|
+
redactSensitiveText: () => redactSensitiveText,
|
|
6883
6892
|
runGate: () => runGate,
|
|
6884
6893
|
runReport: () => runReport,
|
|
6885
6894
|
runScan: () => runScan,
|
|
@@ -7100,6 +7109,7 @@ var init_service = __esm(() => {
|
|
|
7100
7109
|
init_incidents();
|
|
7101
7110
|
init_self_protect();
|
|
7102
7111
|
init_path_scan();
|
|
7112
|
+
init_redact();
|
|
7103
7113
|
RECOGNIZED_GATES = new Set(["pass", "needs-approval", "incomplete", "fail"]);
|
|
7104
7114
|
});
|
|
7105
7115
|
|
|
@@ -10479,6 +10489,14 @@ function validateNode(value, schema, docRoot, valuePath, ctx, errors) {
|
|
|
10479
10489
|
if (maximum !== undefined && value > maximum) {
|
|
10480
10490
|
errors.push({ path: valuePath, message: `Expected number <= ${maximum}` });
|
|
10481
10491
|
}
|
|
10492
|
+
const exclusiveMinimum = asNumber(schema.exclusiveMinimum);
|
|
10493
|
+
if (exclusiveMinimum !== undefined && value <= exclusiveMinimum) {
|
|
10494
|
+
errors.push({ path: valuePath, message: `Expected number > ${exclusiveMinimum}` });
|
|
10495
|
+
}
|
|
10496
|
+
const exclusiveMaximum = asNumber(schema.exclusiveMaximum);
|
|
10497
|
+
if (exclusiveMaximum !== undefined && value >= exclusiveMaximum) {
|
|
10498
|
+
errors.push({ path: valuePath, message: `Expected number < ${exclusiveMaximum}` });
|
|
10499
|
+
}
|
|
10482
10500
|
}
|
|
10483
10501
|
if (Array.isArray(value)) {
|
|
10484
10502
|
if (schema.items !== undefined) {
|
|
@@ -10527,6 +10545,11 @@ function validateNode(value, schema, docRoot, valuePath, ctx, errors) {
|
|
|
10527
10545
|
}
|
|
10528
10546
|
}
|
|
10529
10547
|
}
|
|
10548
|
+
if (isPlainObject(schema.propertyNames)) {
|
|
10549
|
+
for (const key of Object.keys(value)) {
|
|
10550
|
+
validateNode(key, schema.propertyNames, docRoot, `${valuePath}.${key}`, ctx, errors);
|
|
10551
|
+
}
|
|
10552
|
+
}
|
|
10530
10553
|
const properties = isPlainObject(schema.properties) ? schema.properties : {};
|
|
10531
10554
|
const additional = schema.additionalProperties;
|
|
10532
10555
|
for (const [key, nested] of Object.entries(value)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrciphersmith/keryx",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.94",
|
|
4
4
|
"description": "Version-controlled project context for AI coding agents: code graph, architecture wiki, project memory, relevant tests, quality signals, and task flows.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"test:client:terminal": "bun test src/tui/ src/commands/shell",
|
|
50
50
|
"test:client:streaming": "bun test src/harness/provider/",
|
|
51
51
|
"test:client:cancel-resume": "bun test src/harness/run/ src/harness/resume/ src/harness/session/ src/session/ src/commands/sessions",
|
|
52
|
-
"test:client:runtime": "bun test src/harness/ src/mcp-client/ src/agents/ src/commands/agent src/commands/harness src/commands/providers",
|
|
52
|
+
"test:client:runtime": "bun test src/harness/ src/mcp-client/ src/mcp-servers/ src/agents/ src/commands/agent src/commands/harness src/commands/providers",
|
|
53
53
|
"test:client": "bun run test:client:terminal && bun run test:client:streaming && bun run test:client:cancel-resume && bun run test:client:runtime",
|
|
54
54
|
"check": "bun run lint && bun run typecheck && bun run typecheck:scripts && bun test",
|
|
55
55
|
"check:core": "bun run lint && bun run typecheck && bun run typecheck:scripts && bun run test:core",
|