@codyswann/lisa 2.286.4 → 2.286.6

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.
Files changed (62) hide show
  1. package/all/copy-overwrite/scripts/lisa-work-item.mjs +33 -29
  2. package/dist/cli/doctor-readiness-credentials.d.ts +4 -3
  3. package/dist/cli/doctor-readiness-credentials.d.ts.map +1 -1
  4. package/dist/cli/doctor-readiness-credentials.js +28 -10
  5. package/dist/cli/doctor-readiness-credentials.js.map +1 -1
  6. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  7. package/dist/core/upstream-evidence-manifest.js +3 -1
  8. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  9. package/dist/migrations/ensure-audit-ignore-local-exclusions.d.ts.map +1 -1
  10. package/dist/migrations/ensure-audit-ignore-local-exclusions.js +63 -10
  11. package/dist/migrations/ensure-audit-ignore-local-exclusions.js.map +1 -1
  12. package/package.json +1 -1
  13. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  14. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  15. package/plugins/lisa-agy/plugin.json +1 -1
  16. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  17. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  18. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  19. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  20. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  21. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  25. package/plugins/lisa-expo-agy/plugin.json +1 -1
  26. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  30. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  31. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  35. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  36. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  40. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  41. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  45. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  46. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-rails-agy/plugin.json +1 -1
  51. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  55. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  56. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  60. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  61. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
@@ -46,6 +46,24 @@ function git(args, options = {}) {
46
46
  return run("git", args, options).stdout.trim();
47
47
  }
48
48
 
49
+ function curlConfigValue(value) {
50
+ return `"${String(value)
51
+ .replace(/\\/g, "\\\\")
52
+ .replace(/"/g, '\\"')
53
+ .replace(/\r/g, "\\r")
54
+ .replace(/\n/g, "\\n")}"`;
55
+ }
56
+
57
+ function secureCurl(args, entries, options = {}) {
58
+ const input = `${entries
59
+ .map(([name, value]) => `${name} = ${curlConfigValue(value)}`)
60
+ .join("\n")}\n`;
61
+ return run("curl", ["-fsS", "--config", "-", ...args], {
62
+ ...options,
63
+ input,
64
+ });
65
+ }
66
+
49
67
  function projectRoot() {
50
68
  return git(["rev-parse", "--show-toplevel"]);
51
69
  }
@@ -536,15 +554,11 @@ function jiraIssue(ref, contract) {
536
554
  const credentials = jiraCredentials(contract);
537
555
  if (credentials) {
538
556
  const url = `${credentials.baseUrl}/rest/api/3/issue/${encodeURIComponent(ref)}?fields=project,status,labels,components,issuetype,subtasks,comment`;
539
- const result = run(
540
- "curl",
557
+ const result = secureCurl(
558
+ [url],
541
559
  [
542
- "-fsS",
543
- "-u",
544
- `${credentials.login}:${credentials.token}`,
545
- "-H",
546
- "Accept: application/json",
547
- url,
560
+ ["user", `${credentials.login}:${credentials.token}`],
561
+ ["header", "Accept: application/json"],
548
562
  ],
549
563
  { allowFailure: true }
550
564
  );
@@ -680,19 +694,13 @@ function linearIssue(ref, contract) {
680
694
  const query =
681
695
  "query($id:String!){issue(id:$id){id identifier team{key} state{type} labels{nodes{name}} children{nodes{state{type}}} attachments{nodes{url}} comments{nodes{body}}}}";
682
696
  const payload = JSON.stringify({ query, variables: { id: ref } });
683
- const result = run(
684
- "curl",
697
+ const result = secureCurl(
698
+ ["https://api.linear.app/graphql"],
685
699
  [
686
- "-fsS",
687
- "-X",
688
- "POST",
689
- "-H",
690
- "Content-Type: application/json",
691
- "-H",
692
- `Authorization: ${token}`,
693
- "--data-binary",
694
- payload,
695
- "https://api.linear.app/graphql",
700
+ ["request", "POST"],
701
+ ["header", "Content-Type: application/json"],
702
+ ["header", `Authorization: ${token}`],
703
+ ["data-binary", payload],
696
704
  ],
697
705
  { allowFailure: true }
698
706
  );
@@ -790,15 +798,11 @@ function assertBacklink(
790
798
  const credentials = jiraCredentials(contract);
791
799
  if (credentials) {
792
800
  const url = `${credentials.baseUrl}/rest/api/3/issue/${encodeURIComponent(ref)}/remotelink`;
793
- const result = run(
794
- "curl",
801
+ const result = secureCurl(
802
+ [url],
795
803
  [
796
- "-fsS",
797
- "-u",
798
- `${credentials.login}:${credentials.token}`,
799
- "-H",
800
- "Accept: application/json",
801
- url,
804
+ ["user", `${credentials.login}:${credentials.token}`],
805
+ ["header", "Accept: application/json"],
802
806
  ],
803
807
  { allowFailure: true }
804
808
  );
@@ -1092,7 +1096,7 @@ function main() {
1092
1096
  }
1093
1097
 
1094
1098
  try {
1095
- await main();
1099
+ main();
1096
1100
  } catch (error) {
1097
1101
  const detail = error instanceof Error ? error.message : String(error);
1098
1102
  console.error(
@@ -10,10 +10,11 @@
10
10
  *
11
11
  * Four declarations are treated as material over-authority: inherited secrets
12
12
  * (`secrets: inherit` hands a called workflow everything), `write-all`/`read-all`
13
- * blanket permission grants, a job that uses `GITHUB_TOKEN` with no
13
+ * blanket permission grants, a job that uses the repository token with no
14
14
  * `permissions` block at all (so it takes the repository default rather than a
15
- * stated minimum), and static long-lived AWS keys in a job that could have used
16
- * OIDC instead. Each is provable from the declaration alone.
15
+ * stated minimum), and static long-lived deployment credentials in jobs that
16
+ * should use a scoped or federated credential instead. Each is provable from
17
+ * the declaration alone.
17
18
  *
18
19
  * A fifth signal — one secret NAME appearing under several environments — is
19
20
  * reported as an *observation*, never a blocker: environment secrets are meant
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-readiness-credentials.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-readiness-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,iCAAiC,CAAC;AA4OzC,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,cAAc,EAAE,GACnC,kBAAkB,CAYpB"}
1
+ {"version":3,"file":"doctor-readiness-credentials.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-readiness-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,iCAAiC,CAAC;AAiQzC,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,cAAc,EAAE,GACnC,kBAAkB,CAYpB"}
@@ -2,10 +2,28 @@
2
2
  const BLANKET_PERMISSIONS = new Set(["write-all", "read-all"]);
3
3
  /** Matches every `secrets.NAME` reference inside a job's declared text. */
4
4
  const SECRET_REFERENCE = /secrets\.(\w+)/g;
5
- /** Static AWS credential inputs that OIDC (`id-token: write`) would replace. */
6
- const STATIC_AWS_KEYS = ["aws-access-key-id", "aws-secret-access-key"];
5
+ /** Static credential names and inputs that keyless or scoped auth should replace. */
6
+ const STATIC_CREDENTIAL_KEYS = [
7
+ "aws-access-key-id",
8
+ "aws-secret-access-key",
9
+ "NPM_TOKEN",
10
+ "GCP_SERVICE_ACCOUNT_JSON",
11
+ "GOOGLE_APPLICATION_CREDENTIALS",
12
+ "AZURE_CREDENTIALS",
13
+ "ADMIN_PAT",
14
+ "BOT_ADMIN_PAT",
15
+ "GH_ADMIN_PAT",
16
+ ];
17
+ /** Static cloud credential inputs that OIDC (`id-token: write`) can replace. */
18
+ const OIDC_REPLACEABLE_KEYS = new Set([
19
+ "aws-access-key-id",
20
+ "aws-secret-access-key",
21
+ "GCP_SERVICE_ACCOUNT_JSON",
22
+ "GOOGLE_APPLICATION_CREDENTIALS",
23
+ "AZURE_CREDENTIALS",
24
+ ]);
7
25
  /** Matches a repository-token reference in either of its spellings. */
8
- const REPOSITORY_TOKEN = /GITHUB_TOKEN|github\.token/;
26
+ const REPOSITORY_TOKEN = /\b(?:GITHUB_TOKEN|GH_TOKEN)\b|github\.token/;
9
27
  /**
10
28
  * Flatten every string a job declares — step commands, actions, `env`, and
11
29
  * `with` — into one searchable blob so a credential reference is found wherever
@@ -71,12 +89,13 @@ function inheritedSecretViolations(where, job) {
71
89
  * @returns Evidence lines (empty when permissions are declared)
72
90
  */
73
91
  function unscopedTokenViolations(where, workflow, job, text) {
74
- const unscoped = REPOSITORY_TOKEN.test(text) &&
92
+ const token = REPOSITORY_TOKEN.exec(text)?.[0];
93
+ const unscoped = token !== undefined &&
75
94
  job.permissions === null &&
76
95
  workflow.permissions === null;
77
96
  return unscoped
78
97
  ? [
79
- `${where} uses GITHUB_TOKEN with no \`permissions:\` block at either ` +
98
+ `${where} uses ${token} with no \`permissions:\` block at either ` +
80
99
  "scope, so it runs with the repository default rather than a stated minimum",
81
100
  ]
82
101
  : [];
@@ -91,15 +110,14 @@ function unscopedTokenViolations(where, workflow, job, text) {
91
110
  * @returns Evidence lines (empty when the job is keyless or already OIDC-enabled)
92
111
  */
93
112
  function staticKeyViolations(where, workflow, job, text) {
94
- const staticKey = STATIC_AWS_KEYS.find(key => text.includes(key));
95
- if (staticKey === undefined ||
96
- grantsOidc(job.permissions) ||
97
- grantsOidc(workflow.permissions)) {
113
+ const oidcGranted = grantsOidc(job.permissions) || grantsOidc(workflow.permissions);
114
+ const staticKey = STATIC_CREDENTIAL_KEYS.find(key => text.includes(key) && !(oidcGranted && OIDC_REPLACEABLE_KEYS.has(key)));
115
+ if (staticKey === undefined) {
98
116
  return [];
99
117
  }
100
118
  return [
101
119
  `${where} authenticates with the static long-lived credential ` +
102
- `\`${staticKey}\` where keyless OIDC (\`id-token: write\`) would do`,
120
+ `\`${staticKey}\` instead of a scoped or federated deployment credential`,
103
121
  ];
104
122
  }
105
123
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-readiness-credentials.js","sourceRoot":"","sources":["../../src/cli/doctor-readiness-credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-readiness-credentials.js","sourceRoot":"","sources":["../../src/cli/doctor-readiness-credentials.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAshEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAutMjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
1
+ {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAshEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAytMjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -2,7 +2,7 @@
2
2
  /** Generated by scripts/generate-upstream-evidence-manifest.mjs. Do not edit. */
3
3
  export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
4
4
  "all/copy-contents/gitignore": "06b56376465d5421db55d0b04958bbc79fdbf33b42f0559fe5ef6875ced1160f",
5
- "all/copy-overwrite/scripts/lisa-work-item.mjs": "f88f69d44693084428f44e3f2b80afecda08c7ee8747588f40277fdc9396fd8f",
5
+ "all/copy-overwrite/scripts/lisa-work-item.mjs": "4c263fef48c03b3b6c623ea8a6cd55505bfaf28197e5072226ea35f9f3d26885",
6
6
  "all/create-only/.claude/rules/PROJECT_RULES.md": "6e1c7923ad2a15356babc60c97e7f97be728d790af285b6a7cd7d1b4d39cd97f",
7
7
  "all/create-only/.lisaignore": "3c9827e7e98daa46510b5357cd6dd9406da1821e64cc46d2eea9f311cd6d06b9",
8
8
  "all/create-only/scripts/remote-agent-aws-setup.sh": "7677908a345891810d2104ba8b2fd1a8318bb29c408fb5ce0110d57beef9b556",
@@ -6653,6 +6653,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6653
6653
  "tests/unit/cli/doctor-readiness-capabilities.test.ts": true,
6654
6654
  "tests/unit/cli/doctor-readiness-context-precision.test.ts": true,
6655
6655
  "tests/unit/cli/doctor-readiness-context.test.ts": true,
6656
+ "tests/unit/cli/doctor-readiness-credentials-round2.test.ts": true,
6656
6657
  "tests/unit/cli/doctor-readiness-delivery-artifact.test.ts": true,
6657
6658
  "tests/unit/cli/doctor-readiness-delivery-triggers.test.ts": true,
6658
6659
  "tests/unit/cli/doctor-readiness-delivery.test.ts": true,
@@ -6829,6 +6830,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6829
6830
  "tests/unit/hooks/verification-failure-mode-fixtures.test.ts": true,
6830
6831
  "tests/unit/hooks/work-item-wiring.test.ts": true,
6831
6832
  "tests/unit/hooks/worktree-create.test.ts": true,
6833
+ "tests/unit/migrations/ensure-audit-ignore-local-exclusions-esbuild.test.ts": true,
6832
6834
  "tests/unit/migrations/ensure-audit-ignore-local-exclusions.test.ts": true,
6833
6835
  "tests/unit/migrations/ensure-jest-rn-mock-accessibility-manager.test.ts": true,
6834
6836
  "tests/unit/migrations/ensure-lisa-postinstall.test.ts": true,