ue-mcp 1.0.20 → 1.0.21
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/dist/privacy-scrub.d.ts +43 -0
- package/dist/privacy-scrub.js +59 -0
- package/dist/privacy-scrub.js.map +1 -0
- package/dist/tool-counts.json +2 -2
- package/dist/tools/feedback.js +39 -11
- package/dist/tools/feedback.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-side redaction of personal/project identifiers from feedback bodies
|
|
3
|
+
* before they hit the elicitation prompt or the GitHub POST. Applied
|
|
4
|
+
* unconditionally; the agent has no surface to bypass it and the user never
|
|
5
|
+
* sees the pre-scrubbed bytes outside the in-process call stack.
|
|
6
|
+
*
|
|
7
|
+
* Threat model: feedback issues post to a public tracker. The body the agent
|
|
8
|
+
* assembled may contain absolute paths, the OS username, the project name,
|
|
9
|
+
* etc. None of those carry signal a reader needs to understand the issue,
|
|
10
|
+
* and all of them carry privacy/confidentiality risk (NDA projects, machine
|
|
11
|
+
* fingerprinting, doxxing).
|
|
12
|
+
*
|
|
13
|
+
* What gets redacted:
|
|
14
|
+
*
|
|
15
|
+
* - The absolute project root path → REDACTED_PROJECT_ROOT
|
|
16
|
+
* - The OS home directory path → REDACTED_HOME
|
|
17
|
+
* - The project name as a whole word → REDACTED_PROJECT
|
|
18
|
+
* - The OS username as a whole word → REDACTED_USER
|
|
19
|
+
*
|
|
20
|
+
* Project/username matches use `\b` word boundaries (case-insensitive) so
|
|
21
|
+
* "david" inside paths or sentences matches but "davidson" does not. Class,
|
|
22
|
+
* component, and actor names are NOT redacted — the user can use the
|
|
23
|
+
* "Revise first" path on the approval prompt to request specific further
|
|
24
|
+
* redactions.
|
|
25
|
+
*/
|
|
26
|
+
export interface PrivacyScrubContext {
|
|
27
|
+
/** Absolute path to the .uproject's containing directory. */
|
|
28
|
+
projectRoot?: string;
|
|
29
|
+
/** Project name without the .uproject extension. */
|
|
30
|
+
projectName?: string;
|
|
31
|
+
/** OS username. Defaults to os.userInfo().username; tests pass an explicit value. */
|
|
32
|
+
username?: string;
|
|
33
|
+
/** OS home directory. Defaults to os.homedir(); tests pass an explicit value. */
|
|
34
|
+
homeDir?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface PrivacyScrubResult {
|
|
37
|
+
text: string;
|
|
38
|
+
hits: Array<{
|
|
39
|
+
rule: string;
|
|
40
|
+
count: number;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
43
|
+
export declare function privacyScrub(input: string, ctx?: PrivacyScrubContext): PrivacyScrubResult;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as os from "node:os";
|
|
2
|
+
// Names shorter than this are not redacted as whole-word matches because the
|
|
3
|
+
// false-positive surface explodes. Project name "AI" would otherwise nuke
|
|
4
|
+
// every occurrence of "ai" in the body.
|
|
5
|
+
const MIN_WORD_LEN = 3;
|
|
6
|
+
function escapeRegex(s) {
|
|
7
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
8
|
+
}
|
|
9
|
+
export function privacyScrub(input, ctx = {}) {
|
|
10
|
+
let text = input;
|
|
11
|
+
const hits = [];
|
|
12
|
+
function record(rule, count) {
|
|
13
|
+
if (count > 0)
|
|
14
|
+
hits.push({ rule, count });
|
|
15
|
+
}
|
|
16
|
+
// Replace an absolute path under multiple separator conventions in one
|
|
17
|
+
// call. Source text may use \, /, or mixed paths depending on whether it
|
|
18
|
+
// came from execute_python output, JSON config, or a console log.
|
|
19
|
+
function replacePath(rawPath, replacement, rule) {
|
|
20
|
+
if (!rawPath || rawPath.length < MIN_WORD_LEN)
|
|
21
|
+
return;
|
|
22
|
+
const variants = new Set([
|
|
23
|
+
rawPath,
|
|
24
|
+
rawPath.replace(/\\/g, "/"),
|
|
25
|
+
rawPath.replace(/\//g, "\\"),
|
|
26
|
+
]);
|
|
27
|
+
let total = 0;
|
|
28
|
+
for (const v of variants) {
|
|
29
|
+
const re = new RegExp(escapeRegex(v), "gi");
|
|
30
|
+
text = text.replace(re, () => {
|
|
31
|
+
total++;
|
|
32
|
+
return replacement;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
record(rule, total);
|
|
36
|
+
}
|
|
37
|
+
function replaceWord(word, replacement, rule) {
|
|
38
|
+
if (!word || word.length < MIN_WORD_LEN)
|
|
39
|
+
return;
|
|
40
|
+
const re = new RegExp(`\\b${escapeRegex(word)}\\b`, "gi");
|
|
41
|
+
let count = 0;
|
|
42
|
+
text = text.replace(re, () => {
|
|
43
|
+
count++;
|
|
44
|
+
return replacement;
|
|
45
|
+
});
|
|
46
|
+
record(rule, count);
|
|
47
|
+
}
|
|
48
|
+
// ORDER MATTERS: replace longest/most-specific patterns first so the
|
|
49
|
+
// word-boundary passes don't fragment a string the path pass would
|
|
50
|
+
// otherwise have matched cleanly.
|
|
51
|
+
const home = ctx.homeDir ?? os.homedir();
|
|
52
|
+
const user = ctx.username ?? os.userInfo().username;
|
|
53
|
+
replacePath(ctx.projectRoot, "REDACTED_PROJECT_ROOT", "project-root-path");
|
|
54
|
+
replacePath(home, "REDACTED_HOME", "home-path");
|
|
55
|
+
replaceWord(ctx.projectName, "REDACTED_PROJECT", "project-name");
|
|
56
|
+
replaceWord(user, "REDACTED_USER", "username");
|
|
57
|
+
return { text, hits };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=privacy-scrub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-scrub.js","sourceRoot":"","sources":["../src/privacy-scrub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AA4C9B,6EAA6E;AAC7E,0EAA0E;AAC1E,wCAAwC;AACxC,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,MAA2B,EAAE;IAE7B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,IAAI,GAA2C,EAAE,CAAC;IAExD,SAAS,MAAM,CAAC,IAAY,EAAE,KAAa;QACzC,IAAI,KAAK,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,kEAAkE;IAClE,SAAS,WAAW,CAAC,OAA2B,EAAE,WAAmB,EAAE,IAAY;QACjF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY;YAAE,OAAO;QACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS;YAC/B,OAAO;YACP,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SAC7B,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE;gBAC3B,KAAK,EAAE,CAAC;gBACR,OAAO,WAAW,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,SAAS,WAAW,CAAC,IAAwB,EAAE,WAAmB,EAAE,IAAY;QAC9E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY;YAAE,OAAO;QAChD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE;YAC3B,KAAK,EAAE,CAAC;YACR,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,kCAAkC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;IAEpD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;IAC3E,WAAW,CAAC,IAAI,EAAa,eAAe,EAAU,WAAW,CAAC,CAAC;IACnE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;IACjE,WAAW,CAAC,IAAI,EAAa,eAAe,EAAK,UAAU,CAAC,CAAC;IAE7D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
|
package/dist/tool-counts.json
CHANGED
package/dist/tools/feedback.js
CHANGED
|
@@ -4,6 +4,7 @@ import { submitFeedback } from "../github-app.js";
|
|
|
4
4
|
import { readUserAuth } from "../auth.js";
|
|
5
5
|
import { getWorkarounds, clearWorkarounds } from "../workaround-tracker.js";
|
|
6
6
|
import { scrubSecrets } from "../secret-scrub.js";
|
|
7
|
+
import { privacyScrub } from "../privacy-scrub.js";
|
|
7
8
|
import { warn } from "../log.js";
|
|
8
9
|
const PLACEHOLDER_TITLE_RE = /^(noop|nop|test|tests?|testing|x|y|z|todo|tbd|tba|ignore|ignored|stop|dummy|temp|tmp|placeholder|accidental|oops|cleanup|n\/?a|none|null|undefined|na|misc|\.+|-+)$/i;
|
|
9
10
|
const PLACEHOLDER_PHRASE_RE = /\b(ignore (previous|accidental|placeholder)|accidental (feedback|submission|tool call|placeholder)|placeholder feedback|stop accidental|cleanup needed|test submission)\b/i;
|
|
@@ -97,7 +98,7 @@ function inferLabels(title, summary, idealTool) {
|
|
|
97
98
|
labels.add("enhancement");
|
|
98
99
|
return [...labels];
|
|
99
100
|
}
|
|
100
|
-
function assemblePayload(title, summary, pythonWorkaround, idealTool) {
|
|
101
|
+
function assemblePayload(title, summary, pythonWorkaround, idealTool, privacy) {
|
|
101
102
|
const sections = ["## Summary", summary];
|
|
102
103
|
if (idealTool) {
|
|
103
104
|
sections.push("", "## Ideal Tool/Action", idealTool);
|
|
@@ -114,18 +115,42 @@ function assemblePayload(title, summary, pythonWorkaround, idealTool) {
|
|
|
114
115
|
}
|
|
115
116
|
sections.push("", "---", "*Submitted via ue-mcp agent feedback*");
|
|
116
117
|
const rawBody = sections.join("\n");
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
// Two-pass scrub. Order matters:
|
|
119
|
+
// 1. Secret-shaped strings (PEMs, API tokens, JWTs, env-style secrets).
|
|
120
|
+
// 2. Personal/project identifiers (project root path, home dir, project
|
|
121
|
+
// name, OS username). Applied second so a path that contained a
|
|
122
|
+
// secret-shaped substring has the secret redacted before we drop the
|
|
123
|
+
// surrounding path bytes.
|
|
124
|
+
// The agent has no surface to bypass either pass — both are applied here
|
|
125
|
+
// server-side before the body ever appears on the elicitation prompt or
|
|
126
|
+
// crosses the GitHub API boundary.
|
|
127
|
+
const secretsBody = scrubSecrets(rawBody);
|
|
128
|
+
const privacyBody = privacyScrub(secretsBody.text, {
|
|
129
|
+
projectRoot: privacy.projectRoot,
|
|
130
|
+
projectName: privacy.projectName,
|
|
131
|
+
});
|
|
132
|
+
const secretsTitle = scrubSecrets(title);
|
|
133
|
+
const privacyTitle = privacyScrub(secretsTitle.text, {
|
|
134
|
+
projectRoot: privacy.projectRoot,
|
|
135
|
+
projectName: privacy.projectName,
|
|
136
|
+
});
|
|
137
|
+
const allHits = [
|
|
138
|
+
...secretsBody.hits,
|
|
139
|
+
...privacyBody.hits,
|
|
140
|
+
...secretsTitle.hits,
|
|
141
|
+
...privacyTitle.hits,
|
|
142
|
+
];
|
|
143
|
+
const scrubHits = allHits.reduce((n, h) => n + h.count, 0);
|
|
121
144
|
if (scrubHits > 0) {
|
|
122
|
-
|
|
123
|
-
warn("feedback", `redacted ${scrubHits} secret-shaped strings before approval prompt: ${allHits.map((h) => `${h.rule}=${h.count}`).join(", ")}`);
|
|
145
|
+
warn("feedback", `redacted ${scrubHits} string(s) before approval prompt: ${allHits.map((h) => `${h.rule}=${h.count}`).join(", ")}`);
|
|
124
146
|
}
|
|
125
147
|
return {
|
|
126
|
-
title:
|
|
127
|
-
body:
|
|
128
|
-
labels
|
|
148
|
+
title: privacyTitle.text,
|
|
149
|
+
body: privacyBody.text,
|
|
150
|
+
// Inferred labels look at the (already-scrubbed) title + the
|
|
151
|
+
// user-supplied summary. summary feeds keyword detection (blueprint,
|
|
152
|
+
// niagara, etc.) which is structural classification, not user identity.
|
|
153
|
+
labels: inferLabels(privacyTitle.text, summary, idealTool),
|
|
129
154
|
scrubHits,
|
|
130
155
|
};
|
|
131
156
|
}
|
|
@@ -197,7 +222,10 @@ export const feedbackTool = categoryTool("feedback", "Submit feedback to improve
|
|
|
197
222
|
context: { code: "elicitation_unsupported" },
|
|
198
223
|
});
|
|
199
224
|
}
|
|
200
|
-
const payload = assemblePayload(title, summary, pythonWorkaround, idealTool
|
|
225
|
+
const payload = assemblePayload(title, summary, pythonWorkaround, idealTool, {
|
|
226
|
+
projectRoot: ctx.project?.projectDir ?? undefined,
|
|
227
|
+
projectName: ctx.project?.projectName ?? undefined,
|
|
228
|
+
});
|
|
201
229
|
// Two independent checks: (1) capture intent above, (2) validate
|
|
202
230
|
// auth here. Auth validation only matters when intent is "user".
|
|
203
231
|
// If validation fails, return a normal error directive — there is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
|