aws-security-mcp 0.6.2 → 0.7.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/dashboard/dist/assets/index-AKJ_-GfD.js +46 -0
- package/dashboard/dist/assets/index-UN8P_PO6.css +2 -0
- package/dashboard/dist/data.json +293 -105
- package/dashboard/dist/index.html +2 -2
- package/dist/bin/aws-security-mcp.js +116 -25
- package/dist/bin/aws-security-mcp.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +116 -25
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
- package/dashboard/dist/assets/index-BYE-UdjR.js +0 -46
- package/dashboard/dist/assets/index-CQyERuqT.css +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--radius-lg:.5rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-16{top:calc(var(--spacing) * 16)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-\[300px\]{height:300px}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-56{width:calc(var(--spacing) * 56)}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.border-current{border-color:currentColor}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.border-green-500\/30{border-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab, red, red)){.border-orange-500\/30{border-color:color-mix(in oklab, var(--color-orange-500) 30%, transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-700{border-color:var(--color-slate-700)}.border-transparent{border-color:#0000}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/20{border-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/30{border-color:color-mix(in oklab, var(--color-yellow-500) 30%, transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/20{background-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/20{background-color:color-mix(in oklab, var(--color-green-500) 20%, transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/20{background-color:color-mix(in oklab, var(--color-orange-500) 20%, transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/20{background-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.bg-slate-700{background-color:var(--color-slate-700)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/30{background-color:#1d293d4d}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/30{background-color:color-mix(in oklab, var(--color-slate-800) 30%, transparent)}}.bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.bg-slate-800\/80{background-color:#1d293dcc}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/80{background-color:color-mix(in oklab, var(--color-slate-800) 80%, transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-yellow-500\/5{background-color:#edb2000d}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/5{background-color:color-mix(in oklab, var(--color-yellow-500) 5%, transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/20{background-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-blue-400{color:var(--color-blue-400)}.text-green-400{color:var(--color-green-400)}.text-orange-400{color:var(--color-orange-400)}.text-red-400{color:var(--color-red-400)}.text-slate-50{color:var(--color-slate-50)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-400\/80{color:#fac800cc}@supports (color:color-mix(in lab, red, red)){.text-yellow-400\/80{color:color-mix(in oklab, var(--color-yellow-400) 80%, transparent)}}.text-yellow-500\/60{color:#edb20099}@supports (color:color-mix(in lab, red, red)){.text-yellow-500\/60{color:color-mix(in oklab, var(--color-yellow-500) 60%, transparent)}}.italic{font-style:italic}.placeholder-slate-500::placeholder{color:var(--color-slate-500)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:border-slate-400:hover{border-color:var(--color-slate-400)}.hover\:border-slate-500:hover{border-color:var(--color-slate-500)}.hover\:bg-slate-700\/50:hover{background-color:#31415880}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-700\/50:hover{background-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.hover\:text-slate-200:hover{color:var(--color-slate-200)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:mt-0{margin-top:calc(var(--spacing) * 0)}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}}body{color:#f8fafc;background-color:#0f172a;margin:0;font-family:Inter,system-ui,-apple-system,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1e293b}::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#64748b}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
|
package/dashboard/dist/data.json
CHANGED
|
@@ -1,89 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"lastScan": {
|
|
3
|
-
"scanStart": "2026-04-
|
|
4
|
-
"scanEnd": "2026-04-
|
|
3
|
+
"scanStart": "2026-04-12T08:30:01.552Z",
|
|
4
|
+
"scanEnd": "2026-04-12T08:31:15.816Z",
|
|
5
5
|
"region": "cn-north-1",
|
|
6
6
|
"accountId": "468254682119",
|
|
7
7
|
"summary": {
|
|
8
|
-
"totalFindings":
|
|
9
|
-
"critical":
|
|
10
|
-
"high":
|
|
11
|
-
"medium":
|
|
12
|
-
"low":
|
|
13
|
-
"modulesSuccess":
|
|
14
|
-
"modulesError": 0
|
|
8
|
+
"totalFindings": 24,
|
|
9
|
+
"critical": 2,
|
|
10
|
+
"high": 7,
|
|
11
|
+
"medium": 9,
|
|
12
|
+
"low": 6,
|
|
13
|
+
"modulesSuccess": 12,
|
|
14
|
+
"modulesError": 0,
|
|
15
|
+
"modulesDisabled": 4
|
|
15
16
|
},
|
|
16
17
|
"modules": [
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"module": "dns_dangling",
|
|
34
|
-
"findingsCount": 0,
|
|
35
|
-
"status": "success"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"module": "network_reachability",
|
|
39
|
-
"findingsCount": 1,
|
|
40
|
-
"status": "success"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"module": "iam_privilege_escalation",
|
|
44
|
-
"findingsCount": 1,
|
|
45
|
-
"status": "success"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"module": "public_access_verify",
|
|
49
|
-
"findingsCount": 0,
|
|
50
|
-
"status": "success"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"module": "tag_compliance",
|
|
54
|
-
"findingsCount": 3,
|
|
55
|
-
"status": "success"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"module": "idle_resources",
|
|
59
|
-
"findingsCount": 2,
|
|
60
|
-
"status": "success"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"module": "disaster_recovery",
|
|
64
|
-
"findingsCount": 1,
|
|
65
|
-
"status": "success"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"module": "security_hub_findings",
|
|
69
|
-
"findingsCount": 2,
|
|
70
|
-
"status": "success"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"module": "guardduty_findings",
|
|
74
|
-
"findingsCount": 0,
|
|
75
|
-
"status": "success"
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"module": "inspector_findings",
|
|
79
|
-
"findingsCount": 0,
|
|
80
|
-
"status": "success"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"module": "trusted_advisor_findings",
|
|
84
|
-
"findingsCount": 0,
|
|
85
|
-
"status": "success"
|
|
86
|
-
}
|
|
18
|
+
{ "module": "service_detection", "findingsCount": 2, "status": "success" },
|
|
19
|
+
{ "module": "secret_exposure", "findingsCount": 1, "status": "success" },
|
|
20
|
+
{ "module": "ssl_certificate", "findingsCount": 0, "status": "success" },
|
|
21
|
+
{ "module": "dns_dangling", "findingsCount": 0, "status": "success" },
|
|
22
|
+
{ "module": "network_reachability", "findingsCount": 2, "status": "success" },
|
|
23
|
+
{ "module": "iam_privilege_escalation", "findingsCount": 2, "status": "success" },
|
|
24
|
+
{ "module": "public_access_verify", "findingsCount": 1, "status": "success" },
|
|
25
|
+
{ "module": "tag_compliance", "findingsCount": 3, "status": "success" },
|
|
26
|
+
{ "module": "idle_resources", "findingsCount": 2, "status": "success" },
|
|
27
|
+
{ "module": "disaster_recovery", "findingsCount": 2, "status": "success" },
|
|
28
|
+
{ "module": "security_hub_findings", "findingsCount": 8, "status": "success" },
|
|
29
|
+
{ "module": "trusted_advisor_findings", "findingsCount": 1, "status": "success" },
|
|
30
|
+
{ "module": "guardduty_findings", "findingsCount": 0, "status": "disabled" },
|
|
31
|
+
{ "module": "inspector_findings", "findingsCount": 0, "status": "disabled" },
|
|
32
|
+
{ "module": "config_rules_findings", "findingsCount": 0, "status": "disabled" },
|
|
33
|
+
{ "module": "access_analyzer_findings", "findingsCount": 0, "status": "disabled" }
|
|
87
34
|
],
|
|
88
35
|
"findings": [
|
|
89
36
|
{
|
|
@@ -101,7 +48,8 @@
|
|
|
101
48
|
],
|
|
102
49
|
"severity": "HIGH",
|
|
103
50
|
"priority": "P1",
|
|
104
|
-
"module": "service_detection"
|
|
51
|
+
"module": "service_detection",
|
|
52
|
+
"accountId": "468254682119"
|
|
105
53
|
},
|
|
106
54
|
{
|
|
107
55
|
"riskScore": 6.0,
|
|
@@ -118,7 +66,27 @@
|
|
|
118
66
|
],
|
|
119
67
|
"severity": "MEDIUM",
|
|
120
68
|
"priority": "P2",
|
|
121
|
-
"module": "service_detection"
|
|
69
|
+
"module": "service_detection",
|
|
70
|
+
"accountId": "468254682119"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"riskScore": 9.5,
|
|
74
|
+
"title": "Hardcoded AWS access key found in Lambda environment variables",
|
|
75
|
+
"resourceType": "AWS::Lambda::Function",
|
|
76
|
+
"resourceId": "data-processor-fn",
|
|
77
|
+
"resourceArn": "arn:aws-cn:lambda:cn-north-1:468254682119:function:data-processor-fn",
|
|
78
|
+
"region": "cn-north-1",
|
|
79
|
+
"description": "Lambda function data-processor-fn has AWS access key ID (AKIA...) stored as plaintext in environment variables.",
|
|
80
|
+
"impact": "Exposed credentials can be used for unauthorized access to AWS resources. Keys may be leaked via CloudWatch logs.",
|
|
81
|
+
"remediationSteps": [
|
|
82
|
+
"Remove hardcoded credentials from environment variables.",
|
|
83
|
+
"Use an IAM execution role with appropriate permissions instead.",
|
|
84
|
+
"Rotate the exposed access key immediately."
|
|
85
|
+
],
|
|
86
|
+
"severity": "CRITICAL",
|
|
87
|
+
"priority": "P0",
|
|
88
|
+
"module": "secret_exposure",
|
|
89
|
+
"accountId": "468254682119"
|
|
122
90
|
},
|
|
123
91
|
{
|
|
124
92
|
"riskScore": 8.0,
|
|
@@ -135,10 +103,29 @@
|
|
|
135
103
|
],
|
|
136
104
|
"severity": "HIGH",
|
|
137
105
|
"priority": "P1",
|
|
138
|
-
"module": "network_reachability"
|
|
106
|
+
"module": "network_reachability",
|
|
107
|
+
"accountId": "468254682119"
|
|
139
108
|
},
|
|
140
109
|
{
|
|
141
|
-
"riskScore":
|
|
110
|
+
"riskScore": 6.5,
|
|
111
|
+
"title": "EC2 instance i-0xyz789 has RDP (3389) reachable from 0.0.0.0/0",
|
|
112
|
+
"resourceType": "AWS::EC2::Instance",
|
|
113
|
+
"resourceId": "i-0xyz789",
|
|
114
|
+
"resourceArn": "arn:aws-cn:ec2:cn-north-1:468254682119:instance/i-0xyz789",
|
|
115
|
+
"region": "cn-north-1",
|
|
116
|
+
"description": "Instance i-0xyz789 has RDP port 3389 reachable from the internet via security group sg-0aabb11.",
|
|
117
|
+
"impact": "RDP exposed to the internet enables remote desktop brute-force attacks.",
|
|
118
|
+
"remediationSteps": [
|
|
119
|
+
"Restrict port 3389 to known IP ranges or VPN CIDR.",
|
|
120
|
+
"Use AWS Systems Manager Fleet Manager for remote desktop access."
|
|
121
|
+
],
|
|
122
|
+
"severity": "MEDIUM",
|
|
123
|
+
"priority": "P2",
|
|
124
|
+
"module": "network_reachability",
|
|
125
|
+
"accountId": "468254682119"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"riskScore": 9.0,
|
|
142
129
|
"title": "IAM user admin-user can escalate privileges via iam:CreatePolicyVersion",
|
|
143
130
|
"resourceType": "AWS::IAM::User",
|
|
144
131
|
"resourceId": "admin-user",
|
|
@@ -150,9 +137,47 @@
|
|
|
150
137
|
"Remove iam:CreatePolicyVersion from the user's permissions.",
|
|
151
138
|
"Use AWS Organizations SCPs to prevent privilege escalation."
|
|
152
139
|
],
|
|
153
|
-
"severity": "
|
|
154
|
-
"priority": "
|
|
155
|
-
"module": "iam_privilege_escalation"
|
|
140
|
+
"severity": "CRITICAL",
|
|
141
|
+
"priority": "P0",
|
|
142
|
+
"module": "iam_privilege_escalation",
|
|
143
|
+
"accountId": "468254682119"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"riskScore": 7.0,
|
|
147
|
+
"title": "IAM role data-pipeline-role has overly permissive sts:AssumeRole trust policy",
|
|
148
|
+
"resourceType": "AWS::IAM::Role",
|
|
149
|
+
"resourceId": "data-pipeline-role",
|
|
150
|
+
"resourceArn": "arn:aws-cn:iam::468254682119:role/data-pipeline-role",
|
|
151
|
+
"region": "global",
|
|
152
|
+
"description": "Role data-pipeline-role trust policy allows sts:AssumeRole from any principal in account 468254682119 without conditions.",
|
|
153
|
+
"impact": "Any IAM entity in the account can assume this role, potentially gaining unintended permissions.",
|
|
154
|
+
"remediationSteps": [
|
|
155
|
+
"Restrict the trust policy to specific principals.",
|
|
156
|
+
"Add conditions such as aws:PrincipalTag or aws:SourceIp."
|
|
157
|
+
],
|
|
158
|
+
"severity": "HIGH",
|
|
159
|
+
"priority": "P1",
|
|
160
|
+
"module": "iam_privilege_escalation",
|
|
161
|
+
"accountId": "468254682119"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"riskScore": 7.5,
|
|
165
|
+
"title": "S3 bucket data-exports-bucket has public ACL grants",
|
|
166
|
+
"resourceType": "AWS::S3::Bucket",
|
|
167
|
+
"resourceId": "data-exports-bucket",
|
|
168
|
+
"resourceArn": "arn:aws-cn:s3:::data-exports-bucket",
|
|
169
|
+
"region": "cn-north-1",
|
|
170
|
+
"description": "S3 bucket data-exports-bucket has ACL grants allowing public read access (AllUsers or AuthenticatedUsers).",
|
|
171
|
+
"impact": "Sensitive data in the bucket may be publicly accessible.",
|
|
172
|
+
"remediationSteps": [
|
|
173
|
+
"Remove public ACL grants from the bucket.",
|
|
174
|
+
"Enable S3 Block Public Access at the bucket level.",
|
|
175
|
+
"Review bucket contents for sensitive data exposure."
|
|
176
|
+
],
|
|
177
|
+
"severity": "HIGH",
|
|
178
|
+
"priority": "P1",
|
|
179
|
+
"module": "public_access_verify",
|
|
180
|
+
"accountId": "468254682119"
|
|
156
181
|
},
|
|
157
182
|
{
|
|
158
183
|
"riskScore": 3.5,
|
|
@@ -168,7 +193,8 @@
|
|
|
168
193
|
],
|
|
169
194
|
"severity": "LOW",
|
|
170
195
|
"priority": "P3",
|
|
171
|
-
"module": "tag_compliance"
|
|
196
|
+
"module": "tag_compliance",
|
|
197
|
+
"accountId": "468254682119"
|
|
172
198
|
},
|
|
173
199
|
{
|
|
174
200
|
"riskScore": 3.5,
|
|
@@ -184,7 +210,8 @@
|
|
|
184
210
|
],
|
|
185
211
|
"severity": "LOW",
|
|
186
212
|
"priority": "P3",
|
|
187
|
-
"module": "tag_compliance"
|
|
213
|
+
"module": "tag_compliance",
|
|
214
|
+
"accountId": "468254682119"
|
|
188
215
|
},
|
|
189
216
|
{
|
|
190
217
|
"riskScore": 3.5,
|
|
@@ -200,7 +227,8 @@
|
|
|
200
227
|
],
|
|
201
228
|
"severity": "LOW",
|
|
202
229
|
"priority": "P3",
|
|
203
|
-
"module": "tag_compliance"
|
|
230
|
+
"module": "tag_compliance",
|
|
231
|
+
"accountId": "468254682119"
|
|
204
232
|
},
|
|
205
233
|
{
|
|
206
234
|
"riskScore": 4.0,
|
|
@@ -217,7 +245,8 @@
|
|
|
217
245
|
],
|
|
218
246
|
"severity": "MEDIUM",
|
|
219
247
|
"priority": "P2",
|
|
220
|
-
"module": "idle_resources"
|
|
248
|
+
"module": "idle_resources",
|
|
249
|
+
"accountId": "468254682119"
|
|
221
250
|
},
|
|
222
251
|
{
|
|
223
252
|
"riskScore": 3.5,
|
|
@@ -233,7 +262,8 @@
|
|
|
233
262
|
],
|
|
234
263
|
"severity": "LOW",
|
|
235
264
|
"priority": "P3",
|
|
236
|
-
"module": "idle_resources"
|
|
265
|
+
"module": "idle_resources",
|
|
266
|
+
"accountId": "468254682119"
|
|
237
267
|
},
|
|
238
268
|
{
|
|
239
269
|
"riskScore": 5.5,
|
|
@@ -250,7 +280,26 @@
|
|
|
250
280
|
],
|
|
251
281
|
"severity": "MEDIUM",
|
|
252
282
|
"priority": "P2",
|
|
253
|
-
"module": "disaster_recovery"
|
|
283
|
+
"module": "disaster_recovery",
|
|
284
|
+
"accountId": "468254682119"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"riskScore": 5.0,
|
|
288
|
+
"title": "S3 bucket app-assets has no cross-region replication configured",
|
|
289
|
+
"resourceType": "AWS::S3::Bucket",
|
|
290
|
+
"resourceId": "app-assets",
|
|
291
|
+
"resourceArn": "arn:aws-cn:s3:::app-assets",
|
|
292
|
+
"region": "cn-north-1",
|
|
293
|
+
"description": "S3 bucket app-assets does not have cross-region replication (CRR) enabled.",
|
|
294
|
+
"impact": "Data loss risk in a regional disaster — no offsite backup for bucket contents.",
|
|
295
|
+
"remediationSteps": [
|
|
296
|
+
"Enable cross-region replication to cn-northwest-1.",
|
|
297
|
+
"Ensure versioning is enabled on both source and destination buckets."
|
|
298
|
+
],
|
|
299
|
+
"severity": "MEDIUM",
|
|
300
|
+
"priority": "P2",
|
|
301
|
+
"module": "disaster_recovery",
|
|
302
|
+
"accountId": "468254682119"
|
|
254
303
|
},
|
|
255
304
|
{
|
|
256
305
|
"riskScore": 5.5,
|
|
@@ -266,7 +315,9 @@
|
|
|
266
315
|
],
|
|
267
316
|
"severity": "MEDIUM",
|
|
268
317
|
"priority": "P2",
|
|
269
|
-
"module": "security_hub_findings"
|
|
318
|
+
"module": "security_hub_findings",
|
|
319
|
+
"source": "FSBP",
|
|
320
|
+
"accountId": "468254682119"
|
|
270
321
|
},
|
|
271
322
|
{
|
|
272
323
|
"riskScore": 5.5,
|
|
@@ -282,24 +333,161 @@
|
|
|
282
333
|
],
|
|
283
334
|
"severity": "MEDIUM",
|
|
284
335
|
"priority": "P2",
|
|
285
|
-
"module": "security_hub_findings"
|
|
336
|
+
"module": "security_hub_findings",
|
|
337
|
+
"source": "FSBP",
|
|
338
|
+
"accountId": "468254682119"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"riskScore": 8.5,
|
|
342
|
+
"title": "[Security Hub] IAM.4 — IAM root user access key should not exist",
|
|
343
|
+
"resourceType": "AWS::IAM::User",
|
|
344
|
+
"resourceId": "root",
|
|
345
|
+
"resourceArn": "arn:aws-cn:iam::468254682119:root",
|
|
346
|
+
"region": "global",
|
|
347
|
+
"description": "FSBP control IAM.4: Root user has active access keys. MFA status not verified.",
|
|
348
|
+
"impact": "Root account compromise gives unrestricted access to all AWS services and resources.",
|
|
349
|
+
"remediationSteps": [
|
|
350
|
+
"Delete root user access keys.",
|
|
351
|
+
"Enable MFA on the root account.",
|
|
352
|
+
"Use IAM users or roles for daily operations."
|
|
353
|
+
],
|
|
354
|
+
"severity": "HIGH",
|
|
355
|
+
"priority": "P1",
|
|
356
|
+
"module": "security_hub_findings",
|
|
357
|
+
"source": "FSBP",
|
|
358
|
+
"accountId": "468254682119"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"riskScore": 6.0,
|
|
362
|
+
"title": "[Security Hub] CloudTrail is not enabled in all regions",
|
|
363
|
+
"resourceType": "AWS::CloudTrail::Trail",
|
|
364
|
+
"resourceId": "management-trail",
|
|
365
|
+
"resourceArn": "arn:aws-cn:cloudtrail:cn-north-1:468254682119:trail/management-trail",
|
|
366
|
+
"region": "cn-north-1",
|
|
367
|
+
"description": "AWS Config rule: CloudTrail is configured for cn-north-1 only, not all regions.",
|
|
368
|
+
"impact": "API activity in other regions will not be logged, reducing audit visibility.",
|
|
369
|
+
"remediationSteps": [
|
|
370
|
+
"Update CloudTrail to enable multi-region logging.",
|
|
371
|
+
"Enable log file validation for tamper detection."
|
|
372
|
+
],
|
|
373
|
+
"severity": "MEDIUM",
|
|
374
|
+
"priority": "P2",
|
|
375
|
+
"module": "security_hub_findings",
|
|
376
|
+
"source": "Config",
|
|
377
|
+
"accountId": "468254682119"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"riskScore": 4.0,
|
|
381
|
+
"title": "[Security Hub] S3 bucket versioning is not enabled",
|
|
382
|
+
"resourceType": "AWS::S3::Bucket",
|
|
383
|
+
"resourceId": "logs-archive-bucket",
|
|
384
|
+
"resourceArn": "arn:aws-cn:s3:::logs-archive-bucket",
|
|
385
|
+
"region": "cn-north-1",
|
|
386
|
+
"description": "AWS Config rule: S3 bucket logs-archive-bucket does not have versioning enabled.",
|
|
387
|
+
"impact": "Accidental or malicious deletion of objects cannot be recovered.",
|
|
388
|
+
"remediationSteps": [
|
|
389
|
+
"Enable versioning on the S3 bucket.",
|
|
390
|
+
"Consider adding lifecycle rules to manage version retention."
|
|
391
|
+
],
|
|
392
|
+
"severity": "LOW",
|
|
393
|
+
"priority": "P3",
|
|
394
|
+
"module": "security_hub_findings",
|
|
395
|
+
"source": "Config",
|
|
396
|
+
"accountId": "468254682119"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"riskScore": 8.0,
|
|
400
|
+
"title": "[Security Hub] CVE-2024-6387 — OpenSSH regresshion vulnerability on i-0abc123",
|
|
401
|
+
"resourceType": "AWS::EC2::Instance",
|
|
402
|
+
"resourceId": "i-0abc123",
|
|
403
|
+
"resourceArn": "arn:aws-cn:ec2:cn-north-1:468254682119:instance/i-0abc123",
|
|
404
|
+
"region": "cn-north-1",
|
|
405
|
+
"description": "Inspector finding: EC2 instance i-0abc123 running OpenSSH 8.5p1 affected by CVE-2024-6387 (regresshion).",
|
|
406
|
+
"impact": "Remote code execution via race condition in signal handler. CVSS 8.1.",
|
|
407
|
+
"remediationSteps": [
|
|
408
|
+
"Update OpenSSH to version 9.8p1 or later.",
|
|
409
|
+
"As a workaround, set LoginGraceTime to 0 in sshd_config (may cause DoS)."
|
|
410
|
+
],
|
|
411
|
+
"severity": "HIGH",
|
|
412
|
+
"priority": "P1",
|
|
413
|
+
"module": "security_hub_findings",
|
|
414
|
+
"source": "Inspector",
|
|
415
|
+
"accountId": "468254682119"
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"riskScore": 6.0,
|
|
419
|
+
"title": "[Security Hub] S3 bucket allows cross-account access from external account",
|
|
420
|
+
"resourceType": "AWS::S3::Bucket",
|
|
421
|
+
"resourceId": "shared-data-bucket",
|
|
422
|
+
"resourceArn": "arn:aws-cn:s3:::shared-data-bucket",
|
|
423
|
+
"region": "cn-north-1",
|
|
424
|
+
"description": "Access Analyzer finding: S3 bucket shared-data-bucket policy grants access to external account 123456789012.",
|
|
425
|
+
"impact": "Data in the bucket is accessible to an external AWS account, which may be unintended.",
|
|
426
|
+
"remediationSteps": [
|
|
427
|
+
"Review the bucket policy and remove unintended cross-account grants.",
|
|
428
|
+
"Use S3 Access Points for controlled cross-account access."
|
|
429
|
+
],
|
|
430
|
+
"severity": "MEDIUM",
|
|
431
|
+
"priority": "P2",
|
|
432
|
+
"module": "security_hub_findings",
|
|
433
|
+
"source": "AA",
|
|
434
|
+
"accountId": "468254682119"
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"riskScore": 7.0,
|
|
438
|
+
"title": "[Security Hub] Unusual API call pattern detected from EC2 instance",
|
|
439
|
+
"resourceType": "AWS::EC2::Instance",
|
|
440
|
+
"resourceId": "i-0xyz789",
|
|
441
|
+
"resourceArn": "arn:aws-cn:ec2:cn-north-1:468254682119:instance/i-0xyz789",
|
|
442
|
+
"region": "cn-north-1",
|
|
443
|
+
"description": "GuardDuty finding: EC2 instance i-0xyz789 made unusual DescribeInstances and GetCallerIdentity API calls at 03:00 UTC.",
|
|
444
|
+
"impact": "Potential reconnaissance activity indicating compromised instance credentials.",
|
|
445
|
+
"remediationSteps": [
|
|
446
|
+
"Investigate the instance for unauthorized access.",
|
|
447
|
+
"Rotate instance role credentials.",
|
|
448
|
+
"Review CloudTrail logs for the full API call timeline."
|
|
449
|
+
],
|
|
450
|
+
"severity": "HIGH",
|
|
451
|
+
"priority": "P1",
|
|
452
|
+
"module": "security_hub_findings",
|
|
453
|
+
"source": "GuardDuty",
|
|
454
|
+
"accountId": "468254682119"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"riskScore": 3.0,
|
|
458
|
+
"title": "VPC limit approaching: 4 of 5 VPCs in use",
|
|
459
|
+
"resourceType": "AWS::EC2::VPC",
|
|
460
|
+
"resourceId": "vpc-limit-cn-north-1",
|
|
461
|
+
"resourceArn": "arn:aws-cn:ec2:cn-north-1:468254682119:vpc-limit",
|
|
462
|
+
"region": "cn-north-1",
|
|
463
|
+
"description": "Trusted Advisor check: 4 of 5 VPCs are in use (80% utilization) in cn-north-1.",
|
|
464
|
+
"impact": "Approaching the VPC limit may prevent creation of new VPCs when needed.",
|
|
465
|
+
"remediationSteps": [
|
|
466
|
+
"Request a VPC limit increase via AWS Support.",
|
|
467
|
+
"Review existing VPCs and delete unused ones."
|
|
468
|
+
],
|
|
469
|
+
"severity": "LOW",
|
|
470
|
+
"priority": "P3",
|
|
471
|
+
"module": "trusted_advisor_findings",
|
|
472
|
+
"accountId": "468254682119"
|
|
286
473
|
}
|
|
287
474
|
]
|
|
288
475
|
},
|
|
289
476
|
"history": [
|
|
290
|
-
{
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
}
|
|
477
|
+
{ "date": "2026-03-14", "score": 55, "critical": 4, "high": 10, "medium": 14, "low": 9, "totalFindings": 37 },
|
|
478
|
+
{ "date": "2026-03-17", "score": 53, "critical": 5, "high": 11, "medium": 13, "low": 10, "totalFindings": 39 },
|
|
479
|
+
{ "date": "2026-03-20", "score": 58, "critical": 3, "high": 9, "medium": 13, "low": 9, "totalFindings": 34 },
|
|
480
|
+
{ "date": "2026-03-23", "score": 60, "critical": 3, "high": 8, "medium": 12, "low": 9, "totalFindings": 32 },
|
|
481
|
+
{ "date": "2026-03-26", "score": 59, "critical": 3, "high": 9, "medium": 11, "low": 10, "totalFindings": 33 },
|
|
482
|
+
{ "date": "2026-03-29", "score": 62, "critical": 3, "high": 8, "medium": 11, "low": 8, "totalFindings": 30 },
|
|
483
|
+
{ "date": "2026-04-01", "score": 63, "critical": 2, "high": 8, "medium": 10, "low": 8, "totalFindings": 28 },
|
|
484
|
+
{ "date": "2026-04-04", "score": 65, "critical": 2, "high": 7, "medium": 10, "low": 7, "totalFindings": 26 },
|
|
485
|
+
{ "date": "2026-04-08", "score": 66, "critical": 2, "high": 7, "medium": 9, "low": 7, "totalFindings": 25 },
|
|
486
|
+
{ "date": "2026-04-12", "score": 68, "critical": 2, "high": 7, "medium": 9, "low": 6, "totalFindings": 24 }
|
|
299
487
|
],
|
|
300
488
|
"meta": {
|
|
301
|
-
"generatedAt": "2026-04-
|
|
302
|
-
"version": "
|
|
489
|
+
"generatedAt": "2026-04-12T08:31:15.822Z",
|
|
490
|
+
"version": "2.0.0",
|
|
303
491
|
"dataRetentionDays": 30
|
|
304
492
|
}
|
|
305
493
|
}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>AWS Security Dashboard</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-AKJ_-GfD.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-UN8P_PO6.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body class="bg-slate-900 text-slate-50">
|
|
12
12
|
<div id="root"></div>
|