Agent skill · Audited from source
kibana-audit
skill · elastic/agent-skillsApache-2.0 licenceAudited 31 Oct 2026 · source 7a6ac543db61
Is it safe? No — BLOCK, grade F (51/100). We read this skill's source at commit 7a6ac543db61 and observed network and shell access and no hard-coded secrets. The audit raised 20 findings, 12 critical or high. What it does: Onboard an Elastic Cloud organization: configure the `elastic` CLI's Cloud context and API key, establish a default region, then invite users, assign predefined or custom Serverless project roles, and create or revoke…
Cite
Cite this page
ModelsAtlas. “kibana-audit (elastic/agent-skills)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/elastic/kibana-audit
Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 12 critical or high findings, starting with “Code injection” in plugins/security/skills/generate-security-sample-data/scripts/demo-walkthrough.js:27. Do not install it without reading them.
3 skills are called “kibana-audit”. You are viewing elastic/agent-skills. 3 of them are BLOCK.
- elastic/agent-skills★ 603✕BLOCK
- elastic/agent-skills★ 602✕BLOCK
- elastic/agent-skills★ 594✕BLOCK
Trust audit
Audit 0.4.1 · source read 31 Oct 2026
BLOCK means the audit found something that could harm you or your machine. Grade F is shared by 114 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkDeclared15 observations
- ShellDeclared2 observations
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | FAIL | 12 |
L2 Instructions | Prompt injection, authority framing, hidden directives | FAIL | 8 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (20)
HIGHCode injectioncode.eval_exec · plugins/security/skills/generate-security-sample-data/scripts/demo-walkthrough.js:27
exec(`${cmd} "${url}"`);- Why
- evaluates text as code
- Fix
- remove; use a parser or a dispatch table
HIGHCode injectioncode.eval_exec · skills/security/generate-security-sample-data/scripts/demo-walkthrough.js:27
exec(`${cmd} "${url}"`);- Why
- evaluates text as code
- Fix
- remove; use a parser or a dispatch table
HIGHNetwork egressnet.tls_off · plugins/security/skills/case-management/scripts/kibana-client.js:106
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
- Why
- certificate verification is disabled
- Fix
- leave verification on
HIGHNetwork egressnet.tls_off · plugins/security/skills/detection-rule-management/scripts/es-client.js:45
config.tls = { rejectUnauthorized: false };- Why
- certificate verification is disabled
- Fix
- leave verification on
HIGHNetwork egressnet.tls_off · plugins/security/skills/detection-rule-management/scripts/kibana-client.js:106
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
- Why
- certificate verification is disabled
- Fix
- leave verification on
HIGHNetwork egressnet.tls_off · plugins/security/skills/generate-security-sample-data/scripts/es-client.js:45
config.tls = { rejectUnauthorized: false };- Why
- certificate verification is disabled
- Fix
- leave verification on
HIGHNetwork egressnet.tls_off · plugins/security/skills/generate-security-sample-data/scripts/kibana-client.js:106
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
- Why
- certificate verification is disabled
- Fix
- leave verification on
HIGHPrompt injectionprompt.credential_read · plugins/cloud/skills/onboarding/SKILL.md:31
Cloud control-plane access is authenticated by an **Elastic Cloud API key** (organization scope), stored in a CLI
- Why
- asks the agent to read credentials
- Fix
- —
HIGHPrompt injectionprompt.credential_read · plugins/cloud/skills/onboarding/SKILL.md:59
- Translate a natural-language access request into invite, role, and API key tasks
- Why
- asks the agent to read credentials
- Fix
- —
HIGHPrompt injectionprompt.credential_read · plugins/cloud/skills/provisioning/SKILL.md:110
2. **Load endpoints and credentials.** Fetch the project with `GET cloud:/api/v1/serverless/projects/{type}/{id}` to get- Why
- asks the agent to read credentials
- Fix
- —
HIGHPrompt injectionprompt.credential_read · plugins/cloud/skills/provisioning/SKILL.md:240
- For granting user access and Cloud API keys, see **cloud-onboarding**; for Elasticsearch data-plane key lifecycle, see
- Why
- asks the agent to read credentials
- Fix
- —
HIGHPrompt injectionprompt.credential_read · plugins/elasticsearch/skills/elasticsearch-onboarding/SKILL.md:59
- **Unprompted** — never open on your own connection or credential status. A cluster you cannot reach is not the
- Why
- asks the agent to read credentials
- Fix
- —
MEDIUMNetwork egressnet.beacon_words · plugins/security/skills/generate-security-sample-data/scripts/sample-data.js:1012
"file.name": "beacon.exe",
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.beacon_words · plugins/security/skills/generate-security-sample-data/scripts/sample-data.js:1013
"file.path": "C:\\ProgramData\\beacon.exe",
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.beacon_words · plugins/security/skills/generate-security-sample-data/scripts/sample-data.js:1026
"process.name": "beacon.exe",
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.beacon_words · plugins/security/skills/generate-security-sample-data/scripts/sample-data.js:1027
"process.executable": "C:\\ProgramData\\beacon.exe",
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.beacon_words · plugins/security/skills/generate-security-sample-data/scripts/sample-data.js:1028
"process.entity_id": eid.beacon,
- Why
- No further detail recorded for this rule.
- Fix
- —
INFOPrompt injectionprompt.authority_framing · README.md:116
AI coding agents operate with real credentials, real shell access, and often the full permissions of the user running them. When those agents are pointed at security workflows, the stakes are higher.
- Why
- No further detail recorded for this rule.
- Fix
- —
INFOPrompt injectionprompt.authority_framing · plugins/cloud/skills/provisioning/references/credentials-and-context.md:13
2. **Admin is bootstrap-only.** The `admin` user has full privileges and cannot be modified in serverless. Use its
- Why
- No further detail recorded for this rule.
- Fix
- —
INFOPrompt injectionprompt.authority_framing · skills/cloud/provisioning/references/credentials-and-context.md:13
2. **Admin is bootstrap-only.** The `admin` user has full privileges and cannot be modified in serverless. Use its
- Why
- No further detail recorded for this rule.
- Fix
- —
Audit 0.4.1 · source sha 7a6ac543db61 · 31 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherelastic GitHub organizationOwner of the repository this skill is read from
- Source folderelastic/agent-skillsThe exact folder we audited
- LicenceApache-2.0As the repository states it
- Commit pinned for this verdict7a6ac543db61A new audit runs when the source changes
- Repository statusNot archivedLast push 1 day ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Onboard an Elastic Cloud organization: configure the `elastic` CLI's Cloud context and API key, establish a default region, then invite users, assign predefined or custom Serverless project roles, and create or revoke…
--- name: cloud-onboarding description: > Onboard an Elastic Cloud organization: configure the `elastic` CLI's Cloud context and API key, establish a default region, then invite users, assign predefined or custom Serverless project roles, and create or revoke Cloud API keys. Use when setting up Cloud authentication or when granting, modifying, or auditing user access to an organization and its projects. compatibility: > Requires the `elastic` CLI (>= 0.2) with `cloud` support and network access to the Elastic Cloud API (api.elastic-cloud.com). Custom-role operations additionally need an Elasticsearch context on the target Serverless project with `manage_security`. Targets the Elastic Cloud control plane; not applicable to self-managed clusters. metadata: author: elastic version: 0.3.0 universal: true --- # Cloud Onboarding Stand up access to an Elastic Cloud organization end to end: configure the `elastic` CLI so it can operate the control plane, then manage identity and access — invite users, assign predefined or custom roles to Serverless projects, and manage Cloud API keys. For creating and operating projects and deployments, use the **cloud-provisioning** skill. ## Environment Configuration This skill configures the `elastic` CLI itself, so its setup lives here rather than being assumed. If the [`elastic` CLI](https://github.com/elastic/cli#configuration) is not installed, tell the user what it is needed for. Cloud control-plane access is authenticated by an **Elastic Cloud API key** (organization scope), stored in a CLI **context**. Register it without ever having the user paste the secret into the chat: - Only **Organization owners** can create Cloud API keys. Direct the user to generate one at [Elastic Cloud API keys](https://cloud.elastic.co/account/keys) with **Project Admin** privileges or higher so it can manage serverless projects. - If the user has no Elastic Cloud account, propose the free [Elastic Cloud trial](https://cloud.elastic.co/registration) (14 days, no credit card). Once registered, continue with key generation. - Add the key to a context (the secret is stored in the OS keychain, not echoed): `elastic config context add cloud --cloud-url https://api.elastic-cloud.com --cloud-api-key <KEY>`, then make it active with `elastic config current-context set cloud`. Do not guess credentials, bypass the CLI to call the HTTP API directly, or ask the user to reveal the key. This skill references control-plane operations in HTTP-shorthand form with the `cloud:` prefix (for example, `GET cloud:/api/v1/organizations`); the [Operations](#operations) table maps each to the equivalent `elastic cloud` command. For detailed API schemas (role assignments, Cloud API keys, custom roles), see [references/api-reference.md](references/api-reference.md). For Elasticsearch-level role management beyond Cloud roles (native users, role mappings, DLS/FLS) see **elasticsearch-authz**. ## Jobs to be done - Configure and validate a Cloud context; establish a default region for later project creation - Invite a user and assign a Serverless project role; list members and their roles; update or remove access - Create, list, and revoke Cloud API keys, optionally with Elasticsearch/Kibana API access on projects - Create a custom role in a Serverless project and assign it via the Cloud API's `application_roles` - Translate a natural-language access request into invite, role, and API key tasks ## Process: validate the environment 1. **Validate the Cloud context.** Confirm the active context can reach the control plane by calling `GET cloud:/api/v1/organizations`. A successful response lists the organizations the key belongs to and yields the organization ID other steps need. If it returns an authentication error, the context is missing or the key is invalid or expired — return to [Environment Configuration](#environment-configuration) and register a valid key. Do not proceed until validation succeeds, and never ask the user for the organization ID — discover it here. 2. **Establish a default region (optional).** When the user plans to create projects, list the available regions with `GET cloud:/api/v1/serverless/regions` and confirm a default. Default to `gcp-us-central1` unless the user requests otherwise; only regions with `project_creation_enabled: true` accept new projects. Region choice is permanent per project, so surface it early. ## Permissions This skill does not pre-check roles; it attempts the operation and lets the API enforce authorization. On a `403`, stop and ask the user to verify the API key's permissions. | Operation | Required permission | | ---------------------------------- | -------------------------------------------------------------- | | Invite / remove members | Organization owner (`organization-admin`) | | Assign or remove roles | Organization owner (`organization-admin`) | | Create / revoke Cloud API keys | Organization owner (`organization-admin`) | | List members, invitations, or keys | Any organization member | | Create / delete custom roles | `manage_security` cluster privilege on the project ES endpoint | ## Predefined roles Prefer predefined roles; only create a custom role when they lack the required granularity. **Organization:** `organization-admin` (full admin), `billing-admin` (billing only). **Serverless project roles** (assign at invitation or via role-assignment update): | Role | `role_id` | Available on | | --------- | ---------------------------------------------------------------------- | --------------------- | | Admin | `admin` | Search, Obs,
Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 7a6ac54
claude plugin install elastic-elasticsearch@elastic-agent-skills claude plugin install elastic-kibana@elastic-agent-skills claude plugin install elastic-observability@elastic-agent-skills claude plugin install elastic-security@elastic-agent-skills claude plugin install elastic-cloud@elastic-agent-skills npx skills add elastic/agent-skills
git clone https://github.com/elastic/agent-skills git -C agent-skills checkout 7a6ac543db61
Commands as the repository documents them: shown, never run by us. Our verdict covers commit 7a6ac543db61 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| Claude Desktop | Mentioned in its text, not tested | Skills for Claude Desktop · About Claude Desktop |
| Codex | Mentioned in its text, not tested | Skills for Codex · About Codex |
| GitHub Copilot | Mentioned in its text, not tested | Skills for GitHub Copilot · About GitHub Copilot |
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
| Gemini CLI | Mentioned in its text, not tested | Skills for Gemini CLI · About Gemini CLI |
| Windsurf | Mentioned in its text, not tested | Skills for Windsurf · About Windsurf |
Audit history
Every audit, every source change
- ✕BLOCK F 51 / 100
first audit · source
7a6ac543db61
Similar skills
jackwener/opencli
Build or improve an OpenCLI JS adapter using observed site behavior, existing adapters and browser API evidence. For ad-hoc browser interaction, see opencli-browser.
jackwener/opencli
Build or improve an OpenCLI JS adapter using observed site behavior, existing adapters and browser API evidence. For ad-hoc browser interaction, see opencli-browser.
jackwener/opencli
Build or improve an OpenCLI JS adapter using observed site behavior, existing adapters and browser API evidence. For ad-hoc browser interaction, see opencli-browser.
Questions about kibana-audit
What does the kibana-audit skill do?
Is kibana-audit safe to install?
What can kibana-audit access on my machine?
What do I need installed to use kibana-audit?
Which assistants does kibana-audit work with?
How current is this page?
Sources
- github.com/elastic/agent-skills — the audited source at commit 7a6ac543db61 and every finding aboveObserved · 31 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the kibana-audit skill do?
- Is kibana-audit safe to install?
- What can kibana-audit access on my machine?