Ae1
- Category
- analysis-evasion
- Confidence
- 100% confidence
- Finding
Referenced artifact was not completely inspected
- Content
md | Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Security audit
Security checks for vulnerabilities and agentic risk
This is a read-only Bootstrap documentation lookup skill with no install scripts, credentials, persistence, or privileged actions.
Install only if you want a local Bootstrap 5.3.8 reference. Treat code snippets and CDN/npm examples as documentation to review before using in your own project, not commands the skill should run automatically.
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Referenced artifact was not completely inspected
| Component docs (button, card, modal, etc.) | Search `scripts/bootstrap-reference.json` by component name |
Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.
"slug": "components-modal",
"title": "Modal",
"category": "components",
"content": "## How it works\n\nBefore getting started with Bootstrap’s modal component, be sure to read the following as our menu options have recently changed.\n\n- Modals are built with HTML, CSS, and JavaScript. They’re positioned over everything else in the document and remove scroll from the `<body>` so that modal content scrolls instead.\n- Clicking on the modal “backdrop” will automatically close the modal.\n- Bootstrap only supports one modal window at a time. Nested modals aren’t supported as we believe them to be poor user experiences.\n- Modals use `position: fixed`, which can sometimes be a bit particular about its rendering. Whenever possible, place your modal HTML in a top-level position to avoid potential interference from other elements. You’ll likely run into issues when nesting a `.modal` within another fixed element.\n- Once again, due to `position: fixed`, there are some caveats with using modals on mobile devices. [See our browser support docs]([[docsref:/getting-started/browsers-devices#modals-and-dropdowns-on-mobile]]) for details.\n- Due to how HTML5 defines its semantics, [the `autofocus` HTML attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autofocus) has no effect in Bootstrap modals. To achieve the same effect, use some custom JavaScript:\n\n```js\nconst myModal = document.getElementById('myModal')\nconst myInput = document.getElementById('myInput')\n\nmyModal.addEventListener('shown.bs.modal', () => {\n myInput.focus()\n})\n```\n\n<Callout name=\"info-prefersreducedmotion\" />\n\nKeep reading for demos and usage guidelines.\n\n## Examples\n\n### Modal components\n\nBelow is a _static_ modal example (meaning its `position` and `display` have been overridden). Included are the modal header, modal body (required for `padding`), and modal footer (optional). We ask that you include modal headers with dismiss actions whenever pos
...[truncated 27 chars]
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
"slug": "components-tooltips",
"title": "Tooltips",
"category": "components",
"content": "## Overview\n\nThings to know when using the tooltip plugin:\n\n- Tooltips rely on the third party library [Popper](https://popper.js.org/docs/v2/) for positioning. You must include [popper.min.js]([[config:cdn.popper]]) before `bootstrap.js`, or use one `bootstrap.bundle.min.js` which contains Popper.\n- Tooltips are opt-in for performance reasons, so **you must initialize them yourself**.\n- Tooltips with zero-length titles are never displayed.\n- Specify `container: 'body'` to avoid rendering problems in more complex components (like our input groups, button groups, etc).\n- Triggering tooltips on hidden elements will not work.\n- Tooltips for `.disabled` or `disabled` elements must be triggered on a wrapper element.\n- When triggered from hyperlinks that span multiple lines, tooltips will be centered. Use `white-space: nowrap;` on your `<a>`s to avoid this behavior.\n- Tooltips must be hidden before their corresponding elements have been removed from the DOM.\n- Tooltips can be triggered thanks to an element inside a shadow DOM.\n\nGot all that? Great, let’s see how they work with some examples.\n\n<Callout name=\"info-sanitizer\" />\n\n<Callout name=\"info-prefersreducedmotion\" />\n\n## Examples\n\n### Enable tooltips\n\nAs mentioned above, you must initialize tooltips before they can be used. One way to initialize all tooltips on a page would be to select them by their `data-bs-toggle` attribute, like so:\n\n```js\nconst tooltipTriggerList = document.querySelectorAll('[data-bs-toggle=\"tooltip\"]')\nconst tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))\n```\n\n### Tooltips on links\n\nHover over the links below to see tooltips:\n\n<Example addStackblitzJs class=\"tooltip-demo\" code={`<p class=\"muted\">Placeholder text to demonstrate some <a href=\"#\" data-bs-toggle=\"tooltip\" data-bs-title=\"Default t
...[truncated 27 chars]
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
"slug": "customize-optimize",
"title": "Optimize",
"category": "customize",
"content": "## Lean Sass imports\n\nWhen using Sass in your asset pipeline, make sure you optimize Bootstrap by only `@import`ing the components you need. Your largest optimizations will likely come from the `Layout & Components` section of our `bootstrap.scss`.\n\n<ScssDocs name=\"import-stack\" file=\"scss/bootstrap.scss\" />\n\n\nIf you’re not using a component, comment it out or delete it entirely. For example, if you’re not using the carousel, remove that import to save some file size in your compiled CSS. Keep in mind there are some dependencies across Sass imports that may make it more difficult to omit a file.\n\n## Lean JavaScript\n\nBootstrap’s JavaScript includes every component in our primary dist files (`bootstrap.js` and `bootstrap.min.js`), and even our primary dependency (Popper) with our bundle files (`bootstrap.bundle.js` and `bootstrap.bundle.min.js`). While you’re customizing via Sass, be sure to remove related JavaScript.\n\nFor instance, assuming you’re using your own JavaScript bundler like Webpack, Parcel, or Vite, you’d only import the JavaScript you plan on using. In the example below, we show how to just include our modal JavaScript:\n\n```js\n// Import just what we need\n\n// import 'bootstrap/js/dist/alert';\n// import 'bootstrap/js/dist/button';\n// import 'bootstrap/js/dist/carousel';\n// import 'bootstrap/js/dist/collapse';\n// import 'bootstrap/js/dist/dropdown';\nimport 'bootstrap/js/dist/modal';\n// import 'bootstrap/js/dist/offcanvas';\n// import 'bootstrap/js/dist/popover';\n// import 'bootstrap/js/dist/scrollspy';\n// import 'bootstrap/js/dist/tab';\n// import 'bootstrap/js/dist/toast';\n// import 'bootstrap/js/dist/tooltip';\n```\n\nThis way, you’re not including any JavaScript you don’t intend to use for components like buttons, carousels, and tooltips. If you’re importing dropdowns, tooltips or popovers, be sure to list the Popper dependen
...[truncated 26 chars]
The manifest describes a Bootstrap documentation reference skill for syntax/class lookup, which suggests a passive reference corpus. However, multiple entries in this JSON include MDX imports and executable expressions such as import { getData } from '@libs/data' and mapped rendering logic, meaning the dataset carries code-capable content instead of being strictly static reference text.
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.
"slug": "components-scrollspy",
"title": "Scrollspy",
"category": "components",
"content": "## How it works\n\nScrollspy toggles the `.active` class on anchor (`<a>`) elements when the element with the `id` referenced by the anchor’s `href` is scrolled into view. Scrollspy is best used in conjunction with a Bootstrap [nav component]([[docsref:/components/navs-tabs]]) or [list group]([[docsref:/components/list-group]]), but it will also work with any anchor elements in the current page. Here’s how it works.\n\n- To start, scrollspy requires two things: a navigation, list group, or a simple set of links, plus a scrollable container. The scrollable container can be the `<body>` or a custom element with a set `height` and `overflow-y: scroll`.\n\n- On the scrollable container, add `data-bs-spy=\"scroll\"` and `data-bs-target=\"#navId\"` where `navId` is the unique `id` of the associated navigation. If there is no focusable element inside the element, be sure to also include a `tabindex=\"0\"` to ensure keyboard access.\n\n- As you scroll the “spied” container, an `.active` class is added and removed from anchor links within the associated navigation. Links must have resolvable `id` targets, otherwise they’re ignored. For example, a `<a href=\"#home\">home</a>` must correspond to something in the DOM like `<div id=\"home\"></div>`\n\n- Target elements that are not visible will be ignored. See the [Non-visible elements](#non-visible-elements) section below.\n\n## Examples\n\n### Navbar\n\nScroll the area below the navbar and watch the active class change. Open the dropdown menu and watch the dropdown items be highlighted as well.\n\n<Example showMarkup={false} code={`<nav id=\"navbar-example2\" class=\"navbar bg-body-tertiary px-3 mb-3 rounded-2\">\n <a class=\"navbar-brand\" href=\"#\">Navbar</a>\n <ul class=\"nav nav-pills\">\n <li class=\"nav-item\">\n <a class=\"nav-link\" href=\"#scrollspyHeading1\">First</a>\n </li>\n <li clas
...[truncated 27 chars]
The manifest says the skill is 'not a coding tutor — only a reference lookup', but this dataset includes full inline <script> examples within documentation content. While examples are normal in Bootstrap docs, packaging executable script blocks inside the reference corpus gives the skill code-oriented capability that is not strictly necessary for a lookup-only reference implementation.