renma 0.2.0 → 0.3.0

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 CHANGED
@@ -1,8 +1,10 @@
1
1
  # Renma
2
2
 
3
- Renma is a Context Asset Repository and health layer for LLM-consumable repository knowledge.
3
+ Renma is a deterministic governance and health layer for LLM-facing repository knowledge.
4
4
 
5
- It helps teams keep the skills, instructions, shared context, examples, tool notes, and ownership metadata that agents rely on discoverable, reviewable, and safe to reuse. Instead of letting critical knowledge get copied into many prompts or buried in one-off Markdown files, Renma treats that knowledge as a software asset: named, owned, versioned, linked, and checked in CI.
5
+ It helps teams keep the skills, instructions, shared context, examples, tool notes, and ownership metadata that agents rely on discoverable, reviewable, and safe to reuse. Instead of letting critical knowledge get copied into many prompts or buried in one-off Markdown files, Renma treats that knowledge as a software asset: named, owned, versioned, linked, checked in CI, and reviewed with deterministic safety diagnostics.
6
+
7
+ Renma now supports `scan`, `catalog`, `ownership`, `graph`, `readiness`, repeated-context diagnostics, semantic diff, `ci-report`, and security diagnostics v1.
6
8
 
7
9
  Renma is especially useful when a repository contains agent-facing material such as:
8
10
 
@@ -359,6 +361,63 @@ Renma does not:
359
361
 
360
362
  This boundary keeps Renma useful as repository infrastructure. Agent tools can consume its reports, but the catalog remains grounded in Git, code review, and deterministic checks.
361
363
 
364
+ ## Security Diagnostics
365
+
366
+ Security diagnostics v2 extends the deterministic v1 command checks with
367
+ LLM-facing policy and data-handling diagnostics. Renma recognizes small policy
368
+ metadata such as `allowed_data`, `network_allowed`, `external_upload_allowed`,
369
+ `secrets_allowed`, and `requires_human_approval`; reports contradictory or
370
+ violated policy; flags sensitive file and secret-material instructions; and
371
+ detects external uploads, bulk sharing, cloud upload, overbroad context
372
+ collection, and no-redaction instructions.
373
+
374
+ Security diagnostics v3 also enforces approved destination allowlists such as
375
+ `approved_network_destinations` for URL and domain-like network instructions.
376
+
377
+ Security diagnostics v4 can also read repository-wide security policy from
378
+ `renma.config.json`:
379
+
380
+ ```json
381
+ {
382
+ "security": {
383
+ "approvedDomains": ["github.com", "registry.npmjs.org"],
384
+ "approvedUploadDomains": ["internal-artifacts.example.com"],
385
+ "disallowedCommands": ["gh gist create", "pastebin", "webhook.site", "nc"]
386
+ }
387
+ }
388
+ ```
389
+
390
+ Global `approvedDomains` combine with artifact-local
391
+ `approved_network_destinations`. Upload destinations must be approved separately
392
+ with `approvedUploadDomains`.
393
+
394
+ Security profiles can be defined under `security.profiles` and selected by artifacts with `security_profile` or `securityProfile`. Artifact-local explicit denials such as `network_allowed: false` and `external_upload_allowed: false` remain stricter than inherited profile or repository allowances.
395
+
396
+ ```json
397
+ {
398
+ "security": {
399
+ "profiles": {
400
+ "appium-disclosed-local": {
401
+ "allowedDataClass": "disclosed",
402
+ "networkAllowed": true,
403
+ "externalUploadAllowed": false,
404
+ "secretsAllowed": false,
405
+ "humanApprovalRequired": true,
406
+ "allowedData": ["sanitized diagnostics"],
407
+ "forbiddenInputs": ["secrets", "credentials"],
408
+ "approvedDomains": ["github.com"],
409
+ "approvedUploadDomains": [],
410
+ "disallowedCommands": ["gh gist create"]
411
+ }
412
+ }
413
+ }
414
+ }
415
+ ```
416
+
417
+ Renma reports deterministic safety findings for agent-facing operational instructions, such as unpinned remote scripts, unsafe privileged commands, predictable temporary paths, and credential-like command arguments.
418
+
419
+ These findings are guardrails for review. They do not replace secret scanning, SAST, dependency scanning, or human security review.
420
+
362
421
  ## Development
363
422
 
364
423
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKrE,kFAAkF;AAClF,eAAO,MAAM,cAAc,EAAE,UAuB5B,CAAC;AAEF,+EAA+E;AAC/E,qBAAa,WAAY,SAAQ,KAAK;CAAG;AAEzC,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKrE,kFAAkF;AAClF,eAAO,MAAM,cAAc,EAAE,UA6B5B,CAAC;AAEF,+EAA+E;AAC/E,qBAAa,WAAY,SAAQ,KAAK;CAAG;AAEzC,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
package/dist/config.js CHANGED
@@ -26,6 +26,12 @@ export const DEFAULT_CONFIG = {
26
26
  layout: {
27
27
  workflowAliases: {},
28
28
  },
29
+ security: {
30
+ approvedDomains: [],
31
+ approvedUploadDomains: [],
32
+ disallowedCommands: [],
33
+ profiles: {},
34
+ },
29
35
  };
30
36
  /** Error raised for invalid Renma configuration or CLI configuration input. */
31
37
  export class ConfigError extends Error {
@@ -90,6 +96,7 @@ function normalizeConfig(value, configPath) {
90
96
  "max_depth",
91
97
  "concurrency",
92
98
  "layout",
99
+ "security",
93
100
  ]);
94
101
  for (const key of Object.keys(value)) {
95
102
  if (!allowed.has(key)) {
@@ -114,6 +121,8 @@ function normalizeConfig(value, configPath) {
114
121
  config.concurrency = positiveInteger("concurrency", value.concurrency);
115
122
  if (value.layout !== undefined)
116
123
  config.layout = layoutPolicy(value.layout);
124
+ if (value.security !== undefined)
125
+ config.security = securityPolicy(value.security);
117
126
  return config;
118
127
  }
119
128
  function enumValue(field, value, allowed) {
@@ -166,6 +175,116 @@ function layoutPolicy(value) {
166
175
  },
167
176
  };
168
177
  }
178
+ function securityPolicy(value) {
179
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
180
+ throw new ConfigError("security must be an object.");
181
+ }
182
+ const security = value;
183
+ const allowed = new Set([
184
+ "approvedDomains",
185
+ "approvedUploadDomains",
186
+ "disallowedCommands",
187
+ "profiles",
188
+ ]);
189
+ for (const key of Object.keys(security)) {
190
+ if (!allowed.has(key)) {
191
+ throw new ConfigError(`Unknown security config key "${key}". Allowed keys: ${[
192
+ ...allowed,
193
+ ].join(", ")}.`);
194
+ }
195
+ }
196
+ return {
197
+ approvedDomains: security.approvedDomains === undefined
198
+ ? DEFAULT_CONFIG.security.approvedDomains
199
+ : stringArray("security.approvedDomains", security.approvedDomains),
200
+ approvedUploadDomains: security.approvedUploadDomains === undefined
201
+ ? DEFAULT_CONFIG.security.approvedUploadDomains
202
+ : stringArray("security.approvedUploadDomains", security.approvedUploadDomains),
203
+ disallowedCommands: security.disallowedCommands === undefined
204
+ ? DEFAULT_CONFIG.security.disallowedCommands
205
+ : stringArray("security.disallowedCommands", security.disallowedCommands),
206
+ profiles: security.profiles === undefined
207
+ ? DEFAULT_CONFIG.security.profiles
208
+ : securityProfiles(security.profiles),
209
+ };
210
+ }
211
+ function securityProfiles(value) {
212
+ const profiles = objectRecord("security.profiles", value);
213
+ const normalized = {};
214
+ for (const [name, profile] of Object.entries(profiles)) {
215
+ if (!profile || typeof profile !== "object" || Array.isArray(profile)) {
216
+ throw new ConfigError(`security.profiles.${name} must be an object.`);
217
+ }
218
+ const source = profile;
219
+ const allowed = new Set([
220
+ "allowedDataClass",
221
+ "allowed_data_class",
222
+ "networkAllowed",
223
+ "network_allowed",
224
+ "externalUploadAllowed",
225
+ "external_upload_allowed",
226
+ "secretsAllowed",
227
+ "secrets_allowed",
228
+ "humanApprovalRequired",
229
+ "human_approval_required",
230
+ "requiresHumanApproval",
231
+ "requires_human_approval",
232
+ "securityProfile",
233
+ "security_profile",
234
+ "allowedData",
235
+ "allowed_data",
236
+ "forbiddenInputs",
237
+ "forbidden_inputs",
238
+ "approvedDomains",
239
+ "approvedUploadDomains",
240
+ "disallowedCommands",
241
+ ]);
242
+ for (const key of Object.keys(source)) {
243
+ if (!allowed.has(key)) {
244
+ throw new ConfigError(`Unknown security profile key "${key}" in security.profiles.${name}.`);
245
+ }
246
+ }
247
+ normalized[name] = {
248
+ allowedDataClass: optionalString(`security.profiles.${name}.allowedDataClass`, source.allowedDataClass ?? source.allowed_data_class),
249
+ networkAllowed: optionalBoolean(`security.profiles.${name}.networkAllowed`, source.networkAllowed ?? source.network_allowed),
250
+ externalUploadAllowed: optionalBoolean(`security.profiles.${name}.externalUploadAllowed`, source.externalUploadAllowed ?? source.external_upload_allowed),
251
+ secretsAllowed: optionalBoolean(`security.profiles.${name}.secretsAllowed`, source.secretsAllowed ?? source.secrets_allowed),
252
+ humanApprovalRequired: optionalBoolean(`security.profiles.${name}.humanApprovalRequired`, source.humanApprovalRequired ??
253
+ source.human_approval_required ??
254
+ source.requiresHumanApproval ??
255
+ source.requires_human_approval),
256
+ securityProfile: optionalString(`security.profiles.${name}.securityProfile`, source.securityProfile ?? source.security_profile),
257
+ allowedData: stringArray(`security.profiles.${name}.allowedData`, source.allowedData ?? source.allowed_data ?? []),
258
+ forbiddenInputs: stringArray(`security.profiles.${name}.forbiddenInputs`, source.forbiddenInputs ?? source.forbidden_inputs ?? []),
259
+ approvedDomains: stringArray(`security.profiles.${name}.approvedDomains`, source.approvedDomains ?? []),
260
+ approvedUploadDomains: stringArray(`security.profiles.${name}.approvedUploadDomains`, source.approvedUploadDomains ?? []),
261
+ disallowedCommands: stringArray(`security.profiles.${name}.disallowedCommands`, source.disallowedCommands ?? []),
262
+ };
263
+ }
264
+ return normalized;
265
+ }
266
+ function optionalString(name, value) {
267
+ if (value === undefined)
268
+ return undefined;
269
+ if (typeof value !== "string") {
270
+ throw new ConfigError(`${name} must be a string.`);
271
+ }
272
+ return value;
273
+ }
274
+ function optionalBoolean(name, value) {
275
+ if (value === undefined)
276
+ return undefined;
277
+ if (typeof value !== "boolean") {
278
+ throw new ConfigError(`${name} must be a boolean.`);
279
+ }
280
+ return value;
281
+ }
282
+ function objectRecord(name, value) {
283
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
284
+ throw new ConfigError(`${name} must be an object.`);
285
+ }
286
+ return value;
287
+ }
169
288
  function stringRecord(name, value) {
170
289
  if (!value || typeof value !== "object" || Array.isArray(value))
171
290
  throw new ConfigError(`${name} must be an object of string values.`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/scanner.js CHANGED
@@ -17,7 +17,7 @@ export async function scan(targetPath, overrides = {}) {
17
17
  ...runRules(documents, config, catalogResult.catalog),
18
18
  ...detectRepeatedContextPatterns(documents),
19
19
  ...catalogDiagnosticFindings(catalogResult.diagnostics),
20
- ...securityDiagnosticFindings(artifacts),
20
+ ...securityDiagnosticFindings(artifacts, config),
21
21
  ].sort((a, b) => {
22
22
  const byPath = a.evidence.path.localeCompare(b.evidence.path);
23
23
  if (byPath !== 0)
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
- import type { Artifact, Finding } from "./types.js";
2
- export declare function securityDiagnosticFindings(artifacts: Artifact[]): Finding[];
1
+ import type { Artifact, Finding, SecurityConfig } from "./types.js";
2
+ type SecurityDiagnosticsConfig = {
3
+ security?: SecurityConfig;
4
+ };
5
+ export declare function securityDiagnosticFindings(artifacts: Artifact[], config?: SecurityDiagnosticsConfig): Finding[];
6
+ export {};
3
7
  //# sourceMappingURL=security-diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-diagnostics.d.ts","sourceRoot":"","sources":["../src/security-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AAgI9D,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAI3E"}
1
+ {"version":3,"file":"security-diagnostics.d.ts","sourceRoot":"","sources":["../src/security-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA6lBpE,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,GAAE,yBAA8B,GACrC,OAAO,EAAE,CAIX"}