@bryan-thompson/inspector-assessment 1.15.2 → 1.15.3

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.
@@ -1,4 +1,4 @@
1
- import { u as useToast, r as reactExports, j as jsxRuntimeExports, p as parseOAuthCallbackParams, g as generateOAuthErrorDescription, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-Css2Fvxh.js";
1
+ import { u as useToast, r as reactExports, j as jsxRuntimeExports, p as parseOAuthCallbackParams, g as generateOAuthErrorDescription, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-Clvld8oY.js";
2
2
  const OAuthCallback = ({ onConnect }) => {
3
3
  const { toast } = useToast();
4
4
  const hasProcessedRef = reactExports.useRef(false);
@@ -1,4 +1,4 @@
1
- import { r as reactExports, S as SESSION_KEYS, p as parseOAuthCallbackParams, j as jsxRuntimeExports, g as generateOAuthErrorDescription } from "./index-Css2Fvxh.js";
1
+ import { r as reactExports, S as SESSION_KEYS, p as parseOAuthCallbackParams, j as jsxRuntimeExports, g as generateOAuthErrorDescription } from "./index-Clvld8oY.js";
2
2
  const OAuthDebugCallback = ({ onConnect }) => {
3
3
  reactExports.useEffect(() => {
4
4
  let isProcessed = false;
@@ -16320,7 +16320,7 @@ object({
16320
16320
  token_type_hint: string().optional()
16321
16321
  }).strip();
16322
16322
  const name = "@bryan-thompson/inspector-assessment-client";
16323
- const version$1 = "1.15.2";
16323
+ const version$1 = "1.15.3";
16324
16324
  const packageJson = {
16325
16325
  name,
16326
16326
  version: version$1
@@ -45294,7 +45294,7 @@ const useTheme = () => {
45294
45294
  [theme, setThemeWithSideEffect]
45295
45295
  );
45296
45296
  };
45297
- const version = "1.15.2";
45297
+ const version = "1.15.3";
45298
45298
  var [createTooltipContext] = createContextScope("Tooltip", [
45299
45299
  createPopperScope
45300
45300
  ]);
@@ -51843,8 +51843,9 @@ const SECURITY_ATTACK_PATTERNS = [
51843
51843
  parameterTypes: ["url", "uri", "link", "endpoint"]
51844
51844
  },
51845
51845
  {
51846
- payload: "http://metadata.google.internal/computeMetadata/v1/",
51847
- evidence: /(SSRF.*fetched|SSRF.*attempted|project-id|instance|google.*metadata|computeMetadata|fetched.*internal)/i,
51846
+ // GCP metadata via IP (more reliable than metadata.google.internal which requires GCP DNS)
51847
+ payload: "http://169.254.169.254/computeMetadata/v1/project/project-id",
51848
+ evidence: /(SSRF.*attempted.*169\.254|SSRF.*fetched.*169\.254|HTTPConnectionPool.*169\.254|attempted.*SSRF.*metadata|google.*project|gcp.*metadata)/i,
51848
51849
  riskLevel: "HIGH",
51849
51850
  description: "SSRF - GCP metadata endpoint",
51850
51851
  payloadType: "injection",
@@ -58420,13 +58421,13 @@ const App = () => {
58420
58421
  ) });
58421
58422
  if (window.location.pathname === "/oauth/callback") {
58422
58423
  const OAuthCallback = React.lazy(
58423
- () => __vitePreload(() => import("./OAuthCallback-B2W3bBou.js"), true ? [] : void 0)
58424
+ () => __vitePreload(() => import("./OAuthCallback-BmlQdPya.js"), true ? [] : void 0)
58424
58425
  );
58425
58426
  return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthCallback, { onConnect: onOAuthConnect }) });
58426
58427
  }
58427
58428
  if (window.location.pathname === "/oauth/callback/debug") {
58428
58429
  const OAuthDebugCallback = React.lazy(
58429
- () => __vitePreload(() => import("./OAuthDebugCallback-BL3_Hknj.js"), true ? [] : void 0)
58430
+ () => __vitePreload(() => import("./OAuthDebugCallback-B3VPMxiJ.js"), true ? [] : void 0)
58430
58431
  );
58431
58432
  return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthDebugCallback, { onConnect: onOAuthDebugConnect }) });
58432
58433
  }
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/mcp.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>MCP Inspector</title>
8
- <script type="module" crossorigin src="/assets/index-Css2Fvxh.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-Clvld8oY.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-BdXNC65t.css">
10
10
  </head>
11
11
  <body>
@@ -1 +1 @@
1
- {"version":3,"file":"securityPatterns.d.ts","sourceRoot":"","sources":["../../src/lib/securityPatterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAAa,EAqnBnD,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,eAAe,EAAE,CAQnB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,aAAa,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,oBAAoB;;;;;;;;EA8BnC"}
1
+ {"version":3,"file":"securityPatterns.d.ts","sourceRoot":"","sources":["../../src/lib/securityPatterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAAa,EAsnBnD,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,eAAe,EAAE,CAQnB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,aAAa,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,oBAAoB;;;;;;;;EA8BnC"}
@@ -365,8 +365,9 @@ export const SECURITY_ATTACK_PATTERNS = [
365
365
  parameterTypes: ["url", "uri", "link", "endpoint"],
366
366
  },
367
367
  {
368
- payload: "http://metadata.google.internal/computeMetadata/v1/",
369
- evidence: /(SSRF.*fetched|SSRF.*attempted|project-id|instance|google.*metadata|computeMetadata|fetched.*internal)/i,
368
+ // GCP metadata via IP (more reliable than metadata.google.internal which requires GCP DNS)
369
+ payload: "http://169.254.169.254/computeMetadata/v1/project/project-id",
370
+ evidence: /(SSRF.*attempted.*169\.254|SSRF.*fetched.*169\.254|HTTPConnectionPool.*169\.254|attempted.*SSRF.*metadata|google.*project|gcp.*metadata)/i,
370
371
  riskLevel: "HIGH",
371
372
  description: "SSRF - GCP metadata endpoint",
372
373
  payloadType: "injection",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bryan-thompson/inspector-assessment",
3
- "version": "1.15.2",
3
+ "version": "1.15.3",
4
4
  "description": "Enhanced MCP Inspector with comprehensive assessment capabilities for server validation",
5
5
  "license": "MIT",
6
6
  "author": "Bryan Thompson <bryan@triepod.ai>",