Configuration and credential errors
These fail the search, or the alert action, with an actionable message rather than annotating events.”No API key is stored for Kyberis credential profile …”
Two distinct causes, called out in the message itself:- The profile genuinely has no stored key — add it on the setup page (Apps → Kyberis Threat Intelligence → Set up).
- A key exists, but the role running the search lacks the
list_storage_passwordscapability — grant it. See Permissions.
default_profile in kyberis.conf points
at a profile that was deleted. The setup page reassigns the default automatically
when a profile is removed, but manual conf edits can still leave it dangling.
Point default_profile at an existing profile.
”base_url … uses http://, which would send the API key … unencrypted”
base_url must be https://, except for local development targets. See
Network requirements. Fix the
URL in kyberis.conf.
”The Kyberis API rejected the configured credentials (HTTP 401/403)”
The key stored for the profile is wrong, revoked, or truncated. Re-save the profile with a valid key and re-run| kyberischeck.
Per-event status fields
When the search succeeds but individual indicators carry a non-ok
kyberis_status, see the
status reference. In
short:
transport_error— the API was unreachable, and the search also shows a warning banner. Check egress, firewall, and DNS from the search head, then re-run: these results are never cached, so the next search retries them.plan_limit— the Kyberis plan ran out mid-search. Partial results are kept and the remainder retried next search.error— the API answered but could not assess that indicator, andkyberis_messagesays why.
Only the first field of field=a,b gets enriched
An unquoted comma ends an SPL option value, so field=src_ip,dest_ip passes only
src_ip to the command. Quote the list: field="src_ip,dest_ip".
Cache issues
Warm searches still call the API
Check in order: iscache=false set on the search? Is cache_ttl_seconds = 0,
which disables the cache? Was the earlier result not ok — only ok verdicts
are cached? Did base_url change, since entries are scoped to it? Finally, check
the per-search cache stats line in search.log (kyberis cache: N hit(s), …).
”KV Store … degraded” warnings, or zero cache hits and writes
The cache fails soft, so searches keep working uncached. If the KV Store itself is down — check Settings → KV Store status, or run| rest /services/kvstore/status — note that splunkd does not auto-restart a
dead KV Store (mongod) process. A Splunk restart is required to bring it back.
Non-admin users never write the cache
Expected. Collection write access is admin-only as a security property; see Permissions. Their searches still read the cache and return full results.Search cancellation semantics
Finalizing or cancelling a| kyberis search does not abort instantly: the chunk
currently in flight — at most 50 indicators, one API call — drains before the
command exits. Fetched results are kept and cached, and no further calls are
made.
Logging
- Search commands log to the search’s own
search.log(Job Inspector → search.log). The app shipsdefault/logging.confso its operational lines are visible; you can customize the format vialocal/logging.conf. - Verbosity is controlled by
log_levelinkyberis.conf—DEBUG,INFO,WARNING, orERROR, defaultINFO— for both the commands and the alert action.local/logging.confonly affects search-command formatting and handlers; the alert action does not read it. - Credential material — API keys,
Authorizationheaders, session keys — is redacted from all log output at every level, including tracebacks.
Read alert action logs
Alert action output goes tosplunkd.log, component sendmodalert:
| sendalert kyberis_enrichment invocations from the search bar log into that
search’s search.log instead.
The alert action does not fire
- Dispatching a saved search via REST with
trigger_actions=1has been observed not to fire alert actions on Splunk 9.4. Test with| sendalert kyberis_enrichment, or let the scheduler trigger the alert. - For exit codes and failure policy, see the alert action reference.
The setup page shows raw REST errors on Save
The user is not an admin. Profile setup writesstorage/passwords and
kyberis.conf, which needs admin capabilities — there is no friendlier gate for
non-admins. See Credential setup..png?fit=max&auto=format&n=u7saXgSwhIjXsY7P&q=85&s=66da6f97e851defcb12af05b800a8a27)
.png?fit=max&auto=format&n=u7saXgSwhIjXsY7P&q=85&s=37df025ce7a3cc54dd90f8edad1cf54f)