@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.
- package/all/copy-overwrite/scripts/lisa-work-item.mjs +33 -29
- package/dist/cli/doctor-readiness-credentials.d.ts +4 -3
- package/dist/cli/doctor-readiness-credentials.d.ts.map +1 -1
- package/dist/cli/doctor-readiness-credentials.js +28 -10
- package/dist/cli/doctor-readiness-credentials.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +3 -1
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/migrations/ensure-audit-ignore-local-exclusions.d.ts.map +1 -1
- package/dist/migrations/ensure-audit-ignore-local-exclusions.js +63 -10
- package/dist/migrations/ensure-audit-ignore-local-exclusions.js.map +1 -1
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- 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 =
|
|
540
|
-
|
|
557
|
+
const result = secureCurl(
|
|
558
|
+
[url],
|
|
541
559
|
[
|
|
542
|
-
"
|
|
543
|
-
"
|
|
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 =
|
|
684
|
-
"
|
|
697
|
+
const result = secureCurl(
|
|
698
|
+
["https://api.linear.app/graphql"],
|
|
685
699
|
[
|
|
686
|
-
"
|
|
687
|
-
"-
|
|
688
|
-
"
|
|
689
|
-
"-
|
|
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 =
|
|
794
|
-
|
|
801
|
+
const result = secureCurl(
|
|
802
|
+
[url],
|
|
795
803
|
[
|
|
796
|
-
"
|
|
797
|
-
"
|
|
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
|
-
|
|
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
|
|
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
|
|
16
|
-
*
|
|
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
|
|
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
|
|
6
|
-
const
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
95
|
-
|
|
96
|
-
|
|
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}\`
|
|
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":"
|
|
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,
|
|
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": "
|
|
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,
|